mirror of
https://github.com/bkaradzic/bx.git
synced 2026-02-17 20:52:37 +01:00
Cleanup.
This commit is contained in:
@@ -11,19 +11,19 @@
|
|||||||
|
|
||||||
namespace bx
|
namespace bx
|
||||||
{
|
{
|
||||||
///
|
/// Returns standard input reader.
|
||||||
ReaderI* getStdIn();
|
ReaderI* getStdIn();
|
||||||
|
|
||||||
///
|
/// Returns standard output writer.
|
||||||
WriterI* getStdOut();
|
WriterI* getStdOut();
|
||||||
|
|
||||||
///
|
/// Returns standard error writer.
|
||||||
WriterI* getStdErr();
|
WriterI* getStdErr();
|
||||||
|
|
||||||
///
|
/// Returns null output writer.
|
||||||
WriterI* getNullOut();
|
WriterI* getNullOut();
|
||||||
|
|
||||||
///
|
/// File reader.
|
||||||
class FileReader : public FileReaderI
|
class FileReader : public FileReaderI
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -49,7 +49,7 @@ namespace bx
|
|||||||
BX_ALIGN_DECL(16, uint8_t) m_internal[64];
|
BX_ALIGN_DECL(16, uint8_t) m_internal[64];
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// File writer.
|
||||||
class FileWriter : public FileWriterI
|
class FileWriter : public FileWriterI
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -75,26 +75,28 @@ namespace bx
|
|||||||
BX_ALIGN_DECL(16, uint8_t) m_internal[64];
|
BX_ALIGN_DECL(16, uint8_t) m_internal[64];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/// File type.
|
||||||
struct FileType
|
struct FileType
|
||||||
{
|
{
|
||||||
|
/// File types:
|
||||||
enum Enum
|
enum Enum
|
||||||
{
|
{
|
||||||
File,
|
File, //!< File.
|
||||||
Dir,
|
Dir, //!< Directory.
|
||||||
|
|
||||||
Count
|
Count
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// File info.
|
||||||
struct FileInfo
|
struct FileInfo
|
||||||
{
|
{
|
||||||
FilePath filePath;
|
FilePath filePath; //!< File path.
|
||||||
uint64_t size;
|
uint64_t size; //!< File size.
|
||||||
FileType::Enum type;
|
FileType::Enum type; //!< File type.
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Directory reader.
|
||||||
class DirectoryReader : public ReaderOpenI, public CloserI, public ReaderI
|
class DirectoryReader : public ReaderOpenI, public CloserI, public ReaderI
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -117,7 +119,7 @@ namespace bx
|
|||||||
BX_ALIGN_DECL(16, uint8_t) m_internal[sizeof(FilePath)+sizeof(FileInfo)+16];
|
BX_ALIGN_DECL(16, uint8_t) m_internal[sizeof(FilePath)+sizeof(FileInfo)+16];
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// FIle stat.
|
||||||
bool stat(FileInfo& _outFileInfo, const FilePath& _filePath);
|
bool stat(FileInfo& _outFileInfo, const FilePath& _filePath);
|
||||||
|
|
||||||
} // namespace bx
|
} // namespace bx
|
||||||
|
|||||||
@@ -22,94 +22,116 @@ BX_ERROR_RESULT(BX_ERROR_READERWRITER_ALREADY_OPEN, BX_MAKEFOURCC('R', 'W', 0, 5
|
|||||||
|
|
||||||
namespace bx
|
namespace bx
|
||||||
{
|
{
|
||||||
///
|
/// The position from where offset is added.
|
||||||
struct Whence
|
struct Whence
|
||||||
{
|
{
|
||||||
|
/// Whence values:
|
||||||
enum Enum
|
enum Enum
|
||||||
{
|
{
|
||||||
Begin,
|
Begin, //!< From begining of file.
|
||||||
Current,
|
Current, //!< From current position of file.
|
||||||
End,
|
End, //!< From end of file.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Reader interface.
|
||||||
struct BX_NO_VTABLE ReaderI
|
struct BX_NO_VTABLE ReaderI
|
||||||
{
|
{
|
||||||
|
///
|
||||||
virtual ~ReaderI() = 0;
|
virtual ~ReaderI() = 0;
|
||||||
|
|
||||||
|
///
|
||||||
virtual int32_t read(void* _data, int32_t _size, Error* _err) = 0;
|
virtual int32_t read(void* _data, int32_t _size, Error* _err) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Writer interface.
|
||||||
struct BX_NO_VTABLE WriterI
|
struct BX_NO_VTABLE WriterI
|
||||||
{
|
{
|
||||||
|
///
|
||||||
virtual ~WriterI() = 0;
|
virtual ~WriterI() = 0;
|
||||||
|
|
||||||
|
///
|
||||||
virtual int32_t write(const void* _data, int32_t _size, Error* _err) = 0;
|
virtual int32_t write(const void* _data, int32_t _size, Error* _err) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Seeker interface.
|
||||||
struct BX_NO_VTABLE SeekerI
|
struct BX_NO_VTABLE SeekerI
|
||||||
{
|
{
|
||||||
|
///
|
||||||
virtual ~SeekerI() = 0;
|
virtual ~SeekerI() = 0;
|
||||||
|
|
||||||
|
///
|
||||||
virtual int64_t seek(int64_t _offset = 0, Whence::Enum _whence = Whence::Current) = 0;
|
virtual int64_t seek(int64_t _offset = 0, Whence::Enum _whence = Whence::Current) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Reader seeker interface.
|
||||||
struct BX_NO_VTABLE ReaderSeekerI : public ReaderI, public SeekerI
|
struct BX_NO_VTABLE ReaderSeekerI : public ReaderI, public SeekerI
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Writer seeker interface.
|
||||||
struct BX_NO_VTABLE WriterSeekerI : public WriterI, public SeekerI
|
struct BX_NO_VTABLE WriterSeekerI : public WriterI, public SeekerI
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Open for reading interface.
|
||||||
struct BX_NO_VTABLE ReaderOpenI
|
struct BX_NO_VTABLE ReaderOpenI
|
||||||
{
|
{
|
||||||
|
///
|
||||||
virtual ~ReaderOpenI() = 0;
|
virtual ~ReaderOpenI() = 0;
|
||||||
|
|
||||||
|
///
|
||||||
virtual bool open(const FilePath& _filePath, Error* _err) = 0;
|
virtual bool open(const FilePath& _filePath, Error* _err) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Open for writing interface.
|
||||||
struct BX_NO_VTABLE WriterOpenI
|
struct BX_NO_VTABLE WriterOpenI
|
||||||
{
|
{
|
||||||
|
///
|
||||||
virtual ~WriterOpenI() = 0;
|
virtual ~WriterOpenI() = 0;
|
||||||
|
|
||||||
|
///
|
||||||
virtual bool open(const FilePath& _filePath, bool _append, Error* _err) = 0;
|
virtual bool open(const FilePath& _filePath, bool _append, Error* _err) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Open process interface.
|
||||||
struct BX_NO_VTABLE ProcessOpenI
|
struct BX_NO_VTABLE ProcessOpenI
|
||||||
{
|
{
|
||||||
|
///
|
||||||
virtual ~ProcessOpenI() = 0;
|
virtual ~ProcessOpenI() = 0;
|
||||||
|
|
||||||
|
///
|
||||||
virtual bool open(const FilePath& _filePath, const StringView& _args, Error* _err) = 0;
|
virtual bool open(const FilePath& _filePath, const StringView& _args, Error* _err) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Closer interface.
|
||||||
struct BX_NO_VTABLE CloserI
|
struct BX_NO_VTABLE CloserI
|
||||||
{
|
{
|
||||||
|
///
|
||||||
virtual ~CloserI() = 0;
|
virtual ~CloserI() = 0;
|
||||||
|
|
||||||
|
///
|
||||||
virtual void close() = 0;
|
virtual void close() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// File reader interface.
|
||||||
struct BX_NO_VTABLE FileReaderI : public ReaderOpenI, public CloserI, public ReaderSeekerI
|
struct BX_NO_VTABLE FileReaderI : public ReaderOpenI, public CloserI, public ReaderSeekerI
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// File writer interface.
|
||||||
struct BX_NO_VTABLE FileWriterI : public WriterOpenI, public CloserI, public WriterSeekerI
|
struct BX_NO_VTABLE FileWriterI : public WriterOpenI, public CloserI, public WriterSeekerI
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Memory block interface.
|
||||||
struct BX_NO_VTABLE MemoryBlockI
|
struct BX_NO_VTABLE MemoryBlockI
|
||||||
{
|
{
|
||||||
virtual void* more(uint32_t _size = 0) = 0;
|
virtual void* more(uint32_t _size = 0) = 0;
|
||||||
virtual uint32_t getSize() = 0;
|
virtual uint32_t getSize() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Static memory block interface.
|
||||||
class StaticMemoryBlock : public MemoryBlockI
|
class StaticMemoryBlock : public MemoryBlockI
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -126,11 +148,11 @@ namespace bx
|
|||||||
virtual uint32_t getSize() override;
|
virtual uint32_t getSize() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void* m_data;
|
void* m_data;
|
||||||
uint32_t m_size;
|
uint32_t m_size;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Memory block.
|
||||||
class MemoryBlock : public MemoryBlockI
|
class MemoryBlock : public MemoryBlockI
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -148,8 +170,8 @@ namespace bx
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
AllocatorI* m_allocator;
|
AllocatorI* m_allocator;
|
||||||
void* m_data;
|
void* m_data;
|
||||||
uint32_t m_size;
|
uint32_t m_size;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Sizer writer. Dummy writter that only counts number of bytes written into it.
|
/// Sizer writer. Dummy writter that only counts number of bytes written into it.
|
||||||
@@ -173,7 +195,7 @@ namespace bx
|
|||||||
int64_t m_top;
|
int64_t m_top;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Memory reader.
|
||||||
class MemoryReader : public ReaderSeekerI
|
class MemoryReader : public ReaderSeekerI
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -204,7 +226,7 @@ namespace bx
|
|||||||
int64_t m_top;
|
int64_t m_top;
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
/// Memory writer.
|
||||||
class MemoryWriter : public WriterSeekerI
|
class MemoryWriter : public WriterSeekerI
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -223,9 +245,9 @@ namespace bx
|
|||||||
private:
|
private:
|
||||||
MemoryBlockI* m_memBlock;
|
MemoryBlockI* m_memBlock;
|
||||||
uint8_t* m_data;
|
uint8_t* m_data;
|
||||||
int64_t m_pos;
|
int64_t m_pos;
|
||||||
int64_t m_top;
|
int64_t m_top;
|
||||||
int64_t m_size;
|
int64_t m_size;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Static (fixed size) memory block writer.
|
/// Static (fixed size) memory block writer.
|
||||||
|
|||||||
Reference in New Issue
Block a user