summaryrefslogtreecommitdiff
path: root/source/modules/asura-utils/io/binding/_file.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/modules/asura-utils/io/binding/_file.cpp')
-rw-r--r--source/modules/asura-utils/io/binding/_file.cpp223
1 files changed, 0 insertions, 223 deletions
diff --git a/source/modules/asura-utils/io/binding/_file.cpp b/source/modules/asura-utils/io/binding/_file.cpp
deleted file mode 100644
index c44bc90..0000000
--- a/source/modules/asura-utils/io/binding/_file.cpp
+++ /dev/null
@@ -1,223 +0,0 @@
-#include "../file.h"
-
-namespace AsuraEngine
-{
- namespace IO
- {
-
- LUAX_REGISTRY(File)
- {
- LUAX_REGISTER_METHODS(state,
- { "New", _New },
- { "Open", _Open },
- { "Close", _Close },
- { "IsOpen", _IsOpen },
- { "GetMode", _GetMode },
- { "GetSize", _GetSize },
- { "Read", _Read },
- { "IsEOF", _IsEOF },
- { "Write", _Write },
- { "Flush", _Flush },
- { "Tell", _Tell },
- { "Seek", _Seek },
- { "SetBuffer", _SetBuffer },
- { "GetBuffer", _GetBuffer },
- { "GetFileName", _GetFileName },
- { "GetExtension", _GetExtension },
- { "GetName", _GetName }
- );
- }
-
- LUAX_POSTPROCESS(File)
- {
- LUAX_REGISTER_ENUM(state, "EFileMode",
- { "CLOSED", FILE_MODE_CLOSED },
- { "READ", FILE_MODE_READ },
- { "WRITE", FILE_MODE_WRITE },
- { "APPEND", FILE_MODE_APPEND }
- );
-
- LUAX_REGISTER_ENUM(state, "EBufferMode",
- { "NONE", BUFFER_MODE_NONE},
- { "LINE", BUFFER_MODE_LINE},
- { "FULL", BUFFER_MODE_FULL}
- );
- }
-
- // file = File.New(name)
- LUAX_IMPL_METHOD(File, _New)
- {
- LUAX_STATE(L);
-
- cc8* name = state.CheckValue<cc8*>(1);
- File* file = new File(name);
- file->PushLuaxUserdata(state);
- return 1;
- }
-
- // successsed = file:Open(mode)
- LUAX_IMPL_METHOD(File, _Open)
- {
- LUAX_PREPARE(L, File);
-
- File::FileMode mode = (File::FileMode)state.CheckValue<int>(2);
- state.Push(self->Open(mode));
- return 1;
- }
-
- // successed = file:Close()
- LUAX_IMPL_METHOD(File, _Close)
- {
- LUAX_PREPARE(L, File);
-
- state.Push(self->Close());
- return 1;
- }
-
- // opened = file:IsOpen()
- LUAX_IMPL_METHOD(File, _IsOpen)
- {
- LUAX_PREPARE(L, File);
-
- state.Push(self->IsOpen());
- return 1;
- }
-
- // mode = file:GetMode()
- LUAX_IMPL_METHOD(File, _GetMode)
- {
- LUAX_PREPARE(L, File);
-
- File::FileMode mode = self->GetMode();
- state.Push((int)mode);
- return 1;
- }
-
- // size = file:GetSize()
- LUAX_IMPL_METHOD(File, _GetSize)
- {
- LUAX_PREPARE(L, File);
-
- state.Push(self->GetSize());
- return 1;
- }
-
- // size = file:Read(dst, len)
- // returns:
- // size ʵʶĴС
- // params:
- // self ļ
- // dst Ŀ껺
- // len ĴС
- LUAX_IMPL_METHOD(File, _Read)
- {
- LUAX_PREPARE(L, File);
-
- DataBuffer* db = state.CheckUserdata<DataBuffer>(2);
- if (!db) return state.ErrorType(2, "DataBuffer");
- int len = state.CheckValue<int>(3);
- int size = self->Read(db, len);
- state.Push(size);
- return 1;
- }
-
- // isEOF = file:IsEOF()
- LUAX_IMPL_METHOD(File, _IsEOF)
- {
- LUAX_PREPARE(L, File);
-
- state.Push(self->IsEOF());
- return 1;
- }
-
- // isWrite = file:Write(data buffer[, size])
- LUAX_IMPL_METHOD(File, _Write)
- {
- LUAX_PREPARE(L, File);
-
- DataBuffer* db = state.CheckUserdata<DataBuffer>(2);
- if (!db) return state.ErrorType(2, "DataBuffer");
- state.Push(self->Write(db));
- return 1;
- }
-
- // isFlushed = file:Flush()
- LUAX_IMPL_METHOD(File, _Flush)
- {
- LUAX_PREPARE(L, File);
-
- state.Push(self->Flush());
- return 1;
- }
-
- // pos = file:Tell()
- LUAX_IMPL_METHOD(File, _Tell)
- {
- LUAX_PREPARE(L, File);
-
- state.Push(self->Tell());
- return 1;
- }
-
- // isSeek = file:Seek(pos)
- LUAX_IMPL_METHOD(File, _Seek)
- {
- LUAX_PREPARE(L, File);
-
- int pos = state.CheckValue<int>(2);
- state.Push(self->Seek(pos));
- return 1;
- }
-
- // isSetted = file:SetBuffer(mode, size)
- LUAX_IMPL_METHOD(File, _SetBuffer)
- {
- LUAX_PREPARE(L, File);
-
- BufferMode mode = (BufferMode)state.CheckValue<int>(2);
- int size = state.CheckValue<int>(3);
- state.Push(self->SetBuffer(mode, size));
- return 1;
- }
-
- // size, mode = file:GetBuffer()
- LUAX_IMPL_METHOD(File, _GetBuffer)
- {
- LUAX_PREPARE(L, File);
-
- size_t size = 0;
- BufferMode mode = self->GetBuffer(ASURA_OUT size);
- state.Push((int)size);
- state.Push((int)mode);
- return 2;
- }
-
- // name = file:GetFileName()
- LUAX_IMPL_METHOD(File, _GetFileName)
- {
- LUAX_PREPARE(L, File);
-
- state.Push(self->GetFileName());
- return 1;
- }
-
- // name = file:GetExtension()
- LUAX_IMPL_METHOD(File, _GetExtension)
- {
- LUAX_PREPARE(L, File);
-
- state.Push(self->GetExtension());
- return 1;
- }
-
- // name = file:GetName()
- LUAX_IMPL_METHOD(File, _GetName)
- {
- LUAX_PREPARE(L, File);
-
- state.Push(self->GetName());
- return 1;
- }
-
- }
-} \ No newline at end of file