|
1 #include "ai_transactionmode.hpp" |
|
2 |
|
3 namespace SQConvert { |
|
4 /* Allow AITransactionMode to be used as Squirrel parameter */ |
|
5 template <> AITransactionMode *GetParam(ForceType<AITransactionMode *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITransactionMode *)instance; } |
|
6 template <> AITransactionMode &GetParam(ForceType<AITransactionMode &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITransactionMode *)instance; } |
|
7 template <> const AITransactionMode *GetParam(ForceType<const AITransactionMode *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITransactionMode *)instance; } |
|
8 template <> const AITransactionMode &GetParam(ForceType<const AITransactionMode &>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(AITransactionMode *)instance; } |
|
9 }; // namespace SQConvert |
|
10 |
|
11 void SQAITransactionModeRegister(Squirrel *engine) { |
|
12 DefSQClass <AITransactionMode> SQAITransactionMode("AITransactionMode"); |
|
13 SQAITransactionMode.PreRegister(engine); |
|
14 SQAITransactionMode.AddConstructor(engine); |
|
15 |
|
16 SQAITransactionMode.DefSQStaticMethod(engine, &AITransactionMode::GetClassName, "GetClassName", 1, "x"); |
|
17 |
|
18 SQAITransactionMode.DefSQMethod(engine, &AITransactionMode::Execute, "Execute", 1, "x"); |
|
19 SQAITransactionMode.DefSQMethod(engine, &AITransactionMode::Stop, "Stop", 1, "x"); |
|
20 SQAITransactionMode.DefSQMethod(engine, &AITransactionMode::Rollback, "Rollback", 1, "x"); |
|
21 SQAITransactionMode.DefSQMethod(engine, &AITransactionMode::GetCosts, "GetCosts", 1, "x"); |
|
22 SQAITransactionMode.DefSQMethod(engine, &AITransactionMode::Append, "Append", 2, "xx"); |
|
23 |
|
24 SQAITransactionMode.PostRegister(engine); |
|
25 } |