diff options
Diffstat (limited to 'Source/modules/asura-base/FileSystem/DataBuffer.h')
-rw-r--r-- | Source/modules/asura-base/FileSystem/DataBuffer.h | 132 |
1 files changed, 65 insertions, 67 deletions
diff --git a/Source/modules/asura-base/FileSystem/DataBuffer.h b/Source/modules/asura-base/FileSystem/DataBuffer.h index ace372e..da302ce 100644 --- a/Source/modules/asura-base/FileSystem/DataBuffer.h +++ b/Source/modules/asura-base/FileSystem/DataBuffer.h @@ -6,81 +6,79 @@ #include "../Scripting/Scripting.h" #include "../Threads/Mutex.h" -namespace AsuraEngine +namespace_begin(AsuraEngine) +namespace_begin(FileSystem) + +/// +/// ڴݵķװеʹData bufferװֱʹconst void*ͨresource managerȡ +/// +class DataBuffer ASURA_FINAL + : public AEScripting::Portable<DataBuffer> { - namespace FileSystem - { - - /// - /// ڴݵķװеʹData bufferװֱʹconst void*ͨresource managerȡ - /// - class DataBuffer ASURA_FINAL - : public AEScripting::Portable<DataBuffer> - { - public: - - LUAX_DECL_FACTORY(DataBuffer); - - DataBuffer(DataBuffer& src); - DataBuffer(std::size_t capacity); - DataBuffer(const void* bytes, std::size_t size); - ~DataBuffer(); - - byte* GetData(); - size_t GetSize(); - size_t GetCapacity(); - - /// - /// - /// - void Refactor(size_t capacity); - - /// - /// Դ˻ - /// - void Load(DataBuffer& db); - void Load(const void* bytes, std::size_t size); - - /// - /// bytesӵȨcapacityΪsize - /// - void Move(void* bytes, std::size_t size); - - /// - /// - /// - void Clear(); - - void Lock(); - void Unlock(); +public: + + LUAX_DECL_FACTORY(DataBuffer); + + DataBuffer(DataBuffer& src); + DataBuffer(std::size_t capacity); + DataBuffer(const void* bytes, std::size_t size); + ~DataBuffer(); + + byte* GetData(); + size_t GetSize(); + size_t GetCapacity(); + + /// + /// + /// + void Refactor(size_t capacity); + + /// + /// Դ˻ + /// + void Load(DataBuffer& db); + void Load(const void* bytes, std::size_t size); + + /// + /// bytesӵȨcapacityΪsize + /// + void Move(void* bytes, std::size_t size); + + /// + /// + /// + void Clear(); + + void Lock(); + void Unlock(); - private: +private: - LUAX_DECL_METHOD(_New); - LUAX_DECL_METHOD(_GetData); - LUAX_DECL_METHOD(_GetSize); - LUAX_DECL_METHOD(_GetCapacity); - LUAX_DECL_METHOD(_Refactor); - LUAX_DECL_METHOD(_Load); - LUAX_DECL_METHOD(_Clear); + LUAX_DECL_METHOD(_New); + LUAX_DECL_METHOD(_GetData); + LUAX_DECL_METHOD(_GetSize); + LUAX_DECL_METHOD(_GetCapacity); + LUAX_DECL_METHOD(_Refactor); + LUAX_DECL_METHOD(_Load); + LUAX_DECL_METHOD(_Clear); - /// - /// Bufferַݵij - /// - byte* m_Bytes; - size_t m_Size; + /// + /// Bufferַݵij + /// + byte* m_Bytes; + size_t m_Size; - /// - /// Buffer - /// - size_t m_Capacity; + /// + /// Buffer + /// + size_t m_Capacity; - AEThreading::Mutex m_Mutex; + AEThreading::Mutex m_Mutex; - }; +}; - } -} +namespace_end +namespace_end namespace AEFileSystem = AsuraEngine::FileSystem; |