1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#include "../FileData.h"
using namespace std;
namespace AsuraEngine
{
namespace FileSystem
{
LUAX_REGISTRY(FileData)
{
LUAX_REGISTER_METHODS(state,
{ "GetFileName", _GetFileName },
{ "GetExtension", _GetExtension },
{ "GetName", _GetName },
{ "GetDataBuffer", _GetDataBuffer }
);
}
LUAX_POSTPROCESS(FileData)
{
}
// filename = filedata:GetFileName()
LUAX_IMPL_METHOD(FileData, _GetFileName)
{
LUAX_PREPARE(L, FileData);
string filename = self->GetFileName();
state.Push(filename);
return 1;
}
// extension = filedata:GetExtension()
LUAX_IMPL_METHOD(FileData, _GetExtension)
{
LUAX_PREPARE(L, FileData);
string extension = self->GetExtension();
state.Push(extension);
return 1;
}
// name = filedata:GetName()
LUAX_IMPL_METHOD(FileData, _GetName)
{
LUAX_PREPARE(L, FileData);
string extension = self->GetName();
state.Push(extension);
return 1;
}
// databuffer = filedata:GetDataBuffer()
LUAX_IMPL_METHOD(FileData, _GetDataBuffer)
{
LUAX_PREPARE(L, FileData);
self->PushLuaxMemberRef(state, self->m_DataRef);
return 1;
}
}
}
|