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