summaryrefslogtreecommitdiff
path: root/source/modules/asura-utils/IO/File.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/modules/asura-utils/IO/File.h')
-rw-r--r--source/modules/asura-utils/IO/File.h146
1 files changed, 0 insertions, 146 deletions
diff --git a/source/modules/asura-utils/IO/File.h b/source/modules/asura-utils/IO/File.h
deleted file mode 100644
index d11fa4f..0000000
--- a/source/modules/asura-utils/IO/File.h
+++ /dev/null
@@ -1,146 +0,0 @@
-#ifndef _ASURA_ENGINE_FILE_H_
-#define _ASURA_ENGINE_FILE_H_
-
-#include "physfs/physfs.h"
-
-#include "../Scripting/Portable.hpp"
-#include "../Threads/Thread.h"
-
-#include "FileData.h"
-
-namespace AsuraEngine
-{
- namespace IO
- {
-
- ///
- /// ʽļָд㡢Сʹȡʱʹñ࣬ʹFilesystem.read()ֱӶȡļȫ
- /// ݣһFileData
- ///
- class File ASURA_FINAL
- : public AEScripting::Portable<File>
- {
- public:
-
- LUAX_DECL_FACTORY(File);
-
- ///
- /// ļдģʽ
- ///
- enum FileMode
- {
- FILE_MODE_CLOSED,
- FILE_MODE_READ,
- FILE_MODE_WRITE,
- FILE_MODE_APPEND,
- };
-
- ///
- /// ļдʱΪ
- ///
- enum BufferMode
- {
- BUFFER_MODE_NONE, ///< ʹû壬дļ
- BUFFER_MODE_LINE, ///< л壬зߴﵽСʱдļ
- BUFFER_MODE_FULL, ///< ȫ壬ʱдļ
- };
-
- File(const std::string& filename);
- ~File();
-
- bool Open(FileMode mode);
- bool Close();
- bool IsOpen();
- FileMode GetMode();
- size_t GetSize();
-
- ///
- /// ȡdata bufferض
- ///
- size_t Read(ASURA_OUT DataBuffer* dst, size_t length);
- size_t ReadAll(ASURA_OUT DataBuffer* dst);
- size_t ReadAsync(ASURA_OUT DataBuffer* dst);
-
- ///
- /// Ƿļβ
- ///
- bool IsEOF();
-
- ///
- /// data bufferед룬Ƿɹ
- ///
- bool Write(ASURA_REF DataBuffer* src);
-
- ///
- /// 첽дļдļtaskthreadĶС
- ///
- bool WriteAsync(ASURA_REF DataBuffer* src, AEThreading::Thread* thread);
-
- ///
- /// ˻壬ǿջдļ
- ///
- bool Flush();
-
- ///
- /// صǰдλ
- ///
- size_t Tell();
-
- ///
- /// Ӧλ
- ///
- bool Seek(size_t pos);
-
- ///
- /// ûСģʽ
- ///
- bool SetBuffer(BufferMode mode, size_t size);
-
- ///
- /// ȡСģʽ
- ///
- BufferMode GetBuffer(ASURA_OUT size_t& size);
-
- const std::string& GetFileName();
- const std::string& GetName();
- const std::string& GetExtension();
-
- private:
-
- PHYSFS_File* m_FileHandle; ///< physfs ļ
- std::string m_FileName; ///< ļ
- std::string m_Extension; ///< չ
- std::string m_Name; ///< չļ
- FileMode m_Mode; ///< ļģʽ
- BufferMode m_BufferMode; ///< д뻺ģʽ
- size_t m_BufferSize; ///< д뻺С
-
- LUAX_DECL_ENUM(FileMode);
- LUAX_DECL_ENUM(BufferMode);
-
- LUAX_DECL_METHOD(_New);
- LUAX_DECL_METHOD(_Open);
- LUAX_DECL_METHOD(_Close);
- LUAX_DECL_METHOD(_IsOpen);
- LUAX_DECL_METHOD(_GetMode);
- LUAX_DECL_METHOD(_GetSize);
- LUAX_DECL_METHOD(_Read);
- LUAX_DECL_METHOD(_Write);
- LUAX_DECL_METHOD(_ReadAsync);
- LUAX_DECL_METHOD(_WriteAsync);
- LUAX_DECL_METHOD(_IsEOF);
- LUAX_DECL_METHOD(_Flush);
- LUAX_DECL_METHOD(_Tell);
- LUAX_DECL_METHOD(_Seek);
- LUAX_DECL_METHOD(_SetBuffer);
- LUAX_DECL_METHOD(_GetBuffer);
- LUAX_DECL_METHOD(_GetFileName);
- LUAX_DECL_METHOD(_GetExtension);
- LUAX_DECL_METHOD(_GetName);
-
- };
-
- }
-}
-
-#endif \ No newline at end of file