mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-26 13:49:00 +02:00
Move dead submodules in-tree
Signed-off-by: swurl <swurl@swurl.xyz>
This commit is contained in:
parent
c0cceff365
commit
6c655321e6
4081 changed files with 1185566 additions and 45 deletions
48
externals/oboe/samples/parselib/src/main/cpp/stream/FileInputStream.cpp
vendored
Normal file
48
externals/oboe/samples/parselib/src/main/cpp/stream/FileInputStream.cpp
vendored
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Copyright 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#include <unistd.h>
|
||||
|
||||
#include "FileInputStream.h"
|
||||
|
||||
namespace parselib {
|
||||
|
||||
int32_t FileInputStream::read(void *buff, int32_t numBytes) {
|
||||
return ::read(mFH, buff, numBytes);
|
||||
}
|
||||
|
||||
int32_t FileInputStream::peek(void *buff, int32_t numBytes) {
|
||||
int32_t numRead = ::read(mFH, buff, numBytes);
|
||||
::lseek(mFH, -numBytes, SEEK_CUR);
|
||||
return numRead;
|
||||
}
|
||||
|
||||
void FileInputStream::advance(int32_t numBytes) {
|
||||
if (numBytes > 0) {
|
||||
::lseek(mFH, numBytes, SEEK_CUR);
|
||||
}
|
||||
}
|
||||
|
||||
int32_t FileInputStream::getPos() {
|
||||
return ::lseek(mFH, 0L, SEEK_CUR);
|
||||
}
|
||||
|
||||
void FileInputStream::setPos(int32_t pos) {
|
||||
if (pos > 0) {
|
||||
::lseek(mFH, pos, SEEK_SET);
|
||||
}
|
||||
}
|
||||
|
||||
} /* namespace parselib */
|
||||
49
externals/oboe/samples/parselib/src/main/cpp/stream/FileInputStream.h
vendored
Normal file
49
externals/oboe/samples/parselib/src/main/cpp/stream/FileInputStream.h
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* Copyright 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#ifndef _IO_STREAM_FILEINPUTSTREAM_H_
|
||||
#define _IO_STREAM_FILEINPUTSTREAM_H_
|
||||
|
||||
#include "InputStream.h"
|
||||
|
||||
namespace parselib {
|
||||
|
||||
/**
|
||||
* A concrete implementation of InputStream for a file data source
|
||||
*/
|
||||
class FileInputStream : public InputStream {
|
||||
public:
|
||||
/** constructor. Caller is presumed to have opened the file with (at least) read permission */
|
||||
FileInputStream(int fh) : mFH(fh) {}
|
||||
virtual ~FileInputStream() {}
|
||||
|
||||
virtual int32_t read(void *buff, int32_t numBytes);
|
||||
|
||||
virtual int32_t peek(void *buff, int32_t numBytes);
|
||||
|
||||
virtual void advance(int32_t numBytes);
|
||||
|
||||
virtual int32_t getPos();
|
||||
|
||||
virtual void setPos(int32_t pos);
|
||||
|
||||
private:
|
||||
/** File handle of the data file to read from */
|
||||
int mFH;
|
||||
};
|
||||
|
||||
} // namespace parselib
|
||||
|
||||
#endif // _IO_STREAM_FILEINPUTSTREAM_H_
|
||||
22
externals/oboe/samples/parselib/src/main/cpp/stream/InputStream.cpp
vendored
Normal file
22
externals/oboe/samples/parselib/src/main/cpp/stream/InputStream.cpp
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* Copyright 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#include "InputStream.h"
|
||||
|
||||
namespace parselib {
|
||||
|
||||
// All of the methods of InputStream are pure virtual
|
||||
|
||||
} /* namespace wavlib */
|
||||
63
externals/oboe/samples/parselib/src/main/cpp/stream/InputStream.h
vendored
Normal file
63
externals/oboe/samples/parselib/src/main/cpp/stream/InputStream.h
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
* Copyright 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#ifndef _IO_STREAM_INPUTSTREAM_H_
|
||||
#define _IO_STREAM_INPUTSTREAM_H_
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace parselib {
|
||||
|
||||
/**
|
||||
* An interface declaration for a stream of bytes. Concrete implements for File and Memory Buffers
|
||||
*/
|
||||
class InputStream {
|
||||
public:
|
||||
InputStream() {}
|
||||
virtual ~InputStream() {}
|
||||
|
||||
/**
|
||||
* Retrieve the specified number of bytes and advance the read position.
|
||||
* Returns: The number of bytes actually retrieved. May be less than requested
|
||||
* if attempt to read beyond the end of the stream.
|
||||
*/
|
||||
virtual int32_t read(void *buff, int32_t numBytes) = 0;
|
||||
|
||||
/**
|
||||
* Retrieve the specified number of bytes. DOES NOT advance the read position.
|
||||
* Returns: The number of bytes actually retrieved. May be less than requested
|
||||
* if attempt to read beyond the end of the stream.
|
||||
*/
|
||||
virtual int32_t peek(void *buff, int32_t numBytes) = 0;
|
||||
|
||||
/**
|
||||
* Moves the read position forward the (positive) number of bytes specified.
|
||||
*/
|
||||
virtual void advance(int32_t numBytes) = 0;
|
||||
|
||||
/**
|
||||
* Returns the read position of the stream
|
||||
*/
|
||||
virtual int32_t getPos() = 0;
|
||||
|
||||
/**
|
||||
* Sets the read position of the stream to the 0 or positive position.
|
||||
*/
|
||||
virtual void setPos(int32_t pos) = 0;
|
||||
};
|
||||
|
||||
} // namespace parselib
|
||||
|
||||
#endif // _IO_STREAM_INPUTSTREAM_H_
|
||||
60
externals/oboe/samples/parselib/src/main/cpp/stream/MemInputStream.cpp
vendored
Normal file
60
externals/oboe/samples/parselib/src/main/cpp/stream/MemInputStream.cpp
vendored
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#include <algorithm>
|
||||
#include <string.h>
|
||||
|
||||
#include "MemInputStream.h"
|
||||
|
||||
namespace parselib {
|
||||
|
||||
int32_t MemInputStream::read(void *buff, int32_t numBytes) {
|
||||
int32_t numAvail = mBufferLen - mPos;
|
||||
numBytes = std::min(numBytes, numAvail);
|
||||
|
||||
peek(buff, numBytes);
|
||||
mPos += numBytes;
|
||||
return numBytes;
|
||||
}
|
||||
|
||||
int32_t MemInputStream::peek(void *buff, int32_t numBytes) {
|
||||
int32_t numAvail = mBufferLen - mPos;
|
||||
numBytes = std::min(numBytes, numAvail);
|
||||
memcpy(buff, mBuffer + mPos, numBytes);
|
||||
return numBytes;
|
||||
}
|
||||
|
||||
void MemInputStream::advance(int32_t numBytes) {
|
||||
if (numBytes > 0) {
|
||||
int32_t numAvail = mBufferLen - mPos;
|
||||
mPos += std::min(numAvail, numBytes);
|
||||
}
|
||||
}
|
||||
|
||||
int32_t MemInputStream::getPos() {
|
||||
return mPos;
|
||||
}
|
||||
|
||||
void MemInputStream::setPos(int32_t pos) {
|
||||
if (pos > 0) {
|
||||
if (pos < mBufferLen) {
|
||||
mPos = pos;
|
||||
} else {
|
||||
mPos = mBufferLen - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace parselib
|
||||
55
externals/oboe/samples/parselib/src/main/cpp/stream/MemInputStream.h
vendored
Normal file
55
externals/oboe/samples/parselib/src/main/cpp/stream/MemInputStream.h
vendored
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#ifndef _IO_STREAM_MEMINPUTSTREAM_H_
|
||||
#define _IO_STREAM_MEMINPUTSTREAM_H_
|
||||
|
||||
#include "InputStream.h"
|
||||
|
||||
namespace parselib {
|
||||
|
||||
/**
|
||||
* A concrete implementation of InputStream for a memory buffer data source
|
||||
*/
|
||||
class MemInputStream : public InputStream {
|
||||
public:
|
||||
/** constructor. Caller is presumed to have allocated and filled the memory buffer */
|
||||
MemInputStream(unsigned char *buff, int32_t len) : mBuffer(buff), mBufferLen(len), mPos(0) {}
|
||||
virtual ~MemInputStream() {}
|
||||
|
||||
virtual int32_t read(void *buff, int32_t numBytes);
|
||||
|
||||
virtual int32_t peek(void *buff, int32_t numBytes);
|
||||
|
||||
virtual void advance(int32_t numBytes);
|
||||
|
||||
virtual int32_t getPos();
|
||||
|
||||
virtual void setPos(int32_t pos);
|
||||
|
||||
private:
|
||||
/** Points to the data buffer to stream from. */
|
||||
unsigned char *mBuffer;
|
||||
|
||||
/** Total number of bytes in the memory buffer */
|
||||
int32_t mBufferLen;
|
||||
|
||||
/** The index of the next byte to read */
|
||||
int32_t mPos;
|
||||
};
|
||||
|
||||
} // namespace parselib
|
||||
|
||||
#endif // _IO_STREAM_MEMINPUTSTREAM_H_
|
||||
Loading…
Add table
Add a link
Reference in a new issue