/xbmc/visualizations/Vortex/angelscript/add_on/clib/as_c.cpp

http://github.com/xbmc/xbmc · C++ · 302 lines · 243 code · 23 blank · 36 comment · 2 complexity · fb6aef565653171cb34200af4174787e MD5 · raw file

  1. /*
  2. AngelCode Scripting Library
  3. Copyright (c) 2003-2009 Andreas Jonsson
  4. This software is provided 'as-is', without any express or implied
  5. warranty. In no event will the authors be held liable for any
  6. damages arising from the use of this software.
  7. Permission is granted to anyone to use this software for any
  8. purpose, including commercial applications, and to alter it and
  9. redistribute it freely, subject to the following restrictions:
  10. 1. The origin of this software must not be misrepresented; you
  11. must not claim that you wrote the original software. If you use
  12. this software in a product, an acknowledgment in the product
  13. documentation would be appreciated but is not required.
  14. 2. Altered source versions must be plainly marked as such, and
  15. must not be misrepresented as being the original software.
  16. 3. This notice may not be removed or altered from any source
  17. distribution.
  18. The original version of this library can be located at:
  19. http://www.angelcode.com/angelscript/
  20. Andreas Jonsson
  21. andreas@angelcode.com
  22. */
  23. //
  24. // as_c.cpp
  25. //
  26. // A C interface to the library
  27. //
  28. // Include the C++ interface header so we can call the proper methods
  29. #include "../../angelscript/include/angelscript.h"
  30. BEGIN_AS_NAMESPACE
  31. typedef void (*asBINARYREADFUNC_t)(void *ptr, asUINT size, void *param);
  32. typedef void (*asBINARYWRITEFUNC_t)(const void *ptr, asUINT size, void *param);
  33. typedef enum { asTRUE = 1, asFALSE = 0 } asBOOL;
  34. class asCBinaryStreamC : public asIBinaryStream
  35. {
  36. public:
  37. asCBinaryStreamC(asBINARYWRITEFUNC_t write, asBINARYREADFUNC_t read, void *param) {this->write = write; this->read = read; this->param = param;}
  38. void Write(const void *ptr, asUINT size) { write(ptr, size, param); }
  39. void Read(void *ptr, asUINT size) { read(ptr, size, param); }
  40. asBINARYREADFUNC_t read;
  41. asBINARYWRITEFUNC_t write;
  42. void *param;
  43. };
  44. extern "C"
  45. {
  46. // Implement a global wrapper function for each of the library's interface methods
  47. AS_API int asEngine_AddRef(asIScriptEngine *e) { return e->AddRef(); }
  48. AS_API int asEngine_Release(asIScriptEngine *e) { return e->Release(); }
  49. AS_API int asEngine_SetEngineProperty(asIScriptEngine *e, asEEngineProp property, asPWORD value) { return e->SetEngineProperty(property, value); }
  50. AS_API asPWORD asEngine_GetEngineProperty(asIScriptEngine *e, asEEngineProp property) { return e->GetEngineProperty(property); }
  51. AS_API int asEngine_SetMessageCallback(asIScriptEngine *e, asFUNCTION_t callback, void *obj, asDWORD callConv) { return e->SetMessageCallback(asFUNCTION(callback), obj, callConv); }
  52. AS_API int asEngine_ClearMessageCallback(asIScriptEngine *e) { return e->ClearMessageCallback(); }
  53. AS_API int asEngine_WriteMessage(asIScriptEngine *e, const char *section, int row, int col, asEMsgType type, const char *message) { return e->WriteMessage(section, row, col, type, message); }
  54. AS_API int asEngine_RegisterObjectType(asIScriptEngine *e, const char *name, int byteSize, asDWORD flags) { return e->RegisterObjectType(name, byteSize, flags); }
  55. AS_API int asEngine_RegisterObjectProperty(asIScriptEngine *e, const char *obj, const char *declaration, int byteOffset) { return e->RegisterObjectProperty(obj, declaration, byteOffset); }
  56. AS_API int asEngine_RegisterObjectMethod(asIScriptEngine *e, const char *obj, const char *declaration, asFUNCTION_t funcPointer, asDWORD callConv) { return e->RegisterObjectMethod(obj, declaration, asFUNCTION(funcPointer), callConv); }
  57. AS_API int asEngine_RegisterObjectBehaviour(asIScriptEngine *e, const char *datatype, asEBehaviours behaviour, const char *declaration, asFUNCTION_t funcPointer, asDWORD callConv) { return e->RegisterObjectBehaviour(datatype, behaviour, declaration, asFUNCTION(funcPointer), callConv); }
  58. AS_API int asEngine_RegisterGlobalProperty(asIScriptEngine *e, const char *declaration, void *pointer) { return e->RegisterGlobalProperty(declaration, pointer); }
  59. AS_API int asEngine_GetGlobalPropertyCount(asIScriptEngine *e) { return e->GetGlobalPropertyCount(); }
  60. AS_API int asEngine_GetGlobalPropertyByIndex(asIScriptEngine *e, asUINT index, const char **name, int *typeId, asBOOL *isConst, const char **configGroup, void **pointer) { bool _isConst; int r = e->GetGlobalPropertyByIndex(index, name, typeId, &_isConst, configGroup, pointer); if( isConst ) *isConst = (_isConst ? asTRUE : asFALSE); return r; }
  61. AS_API int asEngine_RegisterGlobalFunction(asIScriptEngine *e, const char *declaration, asFUNCTION_t funcPointer, asDWORD callConv) { return e->RegisterGlobalFunction(declaration, asFUNCTION(funcPointer), callConv); }
  62. AS_API int asEngine_GetGlobalFunctionCount(asIScriptEngine *e) { return e->GetGlobalFunctionCount(); }
  63. AS_API int asEngine_GetGlobalFunctionIdByIndex(asIScriptEngine *e, asUINT index) { return e->GetGlobalFunctionIdByIndex(index); }
  64. AS_API int asEngine_RegisterInterface(asIScriptEngine *e, const char *name) { return e->RegisterInterface(name); }
  65. AS_API int asEngine_RegisterInterfaceMethod(asIScriptEngine *e, const char *intf, const char *declaration) { return e->RegisterInterfaceMethod(intf, declaration); }
  66. AS_API int asEngine_RegisterEnum(asIScriptEngine *e, const char *type) { return e->RegisterEnum(type); }
  67. AS_API int asEngine_RegisterEnumValue(asIScriptEngine *e, const char *type, const char *name, int value) { return e->RegisterEnumValue(type,name,value); }
  68. AS_API int asEngine_GetEnumCount(asIScriptEngine *e) { return e->GetEnumCount(); }
  69. AS_API const char * asEngine_GetEnumByIndex(asIScriptEngine *e, asUINT index, int *enumTypeId, const char **configGroup) { return e->GetEnumByIndex(index, enumTypeId, configGroup); }
  70. AS_API int asEngine_GetEnumValueCount(asIScriptEngine *e, int enumTypeId) { return e->GetEnumValueCount(enumTypeId); }
  71. AS_API const char * asEngine_GetEnumValueByIndex(asIScriptEngine *e, int enumTypeId, asUINT index, int *outValue) { return e->GetEnumValueByIndex(enumTypeId, index, outValue); }
  72. AS_API int asEngine_RegisterStringFactory(asIScriptEngine *e, const char *datatype, asFUNCTION_t factoryFunc, asDWORD callConv) { return e->RegisterStringFactory(datatype, asFUNCTION(factoryFunc), callConv); }
  73. AS_API int asEngine_GetStringFactoryReturnTypeId(asIScriptEngine *e) { return e->GetStringFactoryReturnTypeId(); }
  74. AS_API int asEngine_RegisterTypedef(asIScriptEngine *e, const char *type, const char *decl) { return e->RegisterTypedef(type,decl); }
  75. AS_API int asEngine_GetTypedefCount(asIScriptEngine *e) { return e->GetTypedefCount(); }
  76. AS_API const char * asEngine_GetTypedefByIndex(asIScriptEngine *e, asUINT index, int *typeId, const char **configGroup) { return e->GetTypedefByIndex(index, typeId, configGroup); }
  77. AS_API int asEngine_BeginConfigGroup(asIScriptEngine *e, const char *groupName) { return e->BeginConfigGroup(groupName); }
  78. AS_API int asEngine_EndConfigGroup(asIScriptEngine *e) { return e->EndConfigGroup(); }
  79. AS_API int asEngine_RemoveConfigGroup(asIScriptEngine *e, const char *groupName) { return e->RemoveConfigGroup(groupName); }
  80. AS_API int asEngine_SetConfigGroupModuleAccess(asIScriptEngine *e, const char *groupName, const char *module, asBOOL haveAccess) { return e->SetConfigGroupModuleAccess(groupName, module, haveAccess ? true : false); }
  81. AS_API asIScriptModule * asEngine_GetModule(asIScriptEngine *e, const char *module, asEGMFlags flag) { return e->GetModule(module, flag); }
  82. AS_API int asEngine_DiscardModule(asIScriptEngine *e, const char *module) { return e->DiscardModule(module); }
  83. AS_API asIScriptFunction *asEngine_GetFunctionDescriptorById(asIScriptEngine *e, int funcId) { return e->GetFunctionDescriptorById(funcId); }
  84. AS_API int asEngine_GetTypeIdByDecl(asIScriptEngine *e, const char *decl) { return e->GetTypeIdByDecl(decl); }
  85. AS_API const char * asEngine_GetTypeDeclaration(asIScriptEngine *e, int typeId) { return e->GetTypeDeclaration(typeId); }
  86. AS_API int asEngine_GetSizeOfPrimitiveType(asIScriptEngine *e, int typeId) { return e->GetSizeOfPrimitiveType(typeId); }
  87. AS_API asIObjectType * asEngine_GetObjectTypeById(asIScriptEngine *e, int typeId) { return e->GetObjectTypeById(typeId); }
  88. AS_API asIObjectType * asEngine_GetObjectTypeByIndex(asIScriptEngine *e, asUINT index) { return e->GetObjectTypeByIndex(index); }
  89. AS_API int asEngine_GetObjectTypeCount(asIScriptEngine *e) { return e->GetObjectTypeCount(); }
  90. AS_API asIScriptContext * asEngine_CreateContext(asIScriptEngine *e) { return e->CreateContext(); }
  91. AS_API void * asEngine_CreateScriptObject(asIScriptEngine *e, int typeId) { return e->CreateScriptObject(typeId); }
  92. AS_API void * asEngine_CreateScriptObjectCopy(asIScriptEngine *e, void *obj, int typeId) { return e->CreateScriptObjectCopy(obj, typeId); }
  93. AS_API void asEngine_CopyScriptObject(asIScriptEngine *e, void *dstObj, void *srcObj, int typeId) { e->CopyScriptObject(dstObj, srcObj, typeId); }
  94. AS_API void asEngine_ReleaseScriptObject(asIScriptEngine *e, void *obj, int typeId) { e->ReleaseScriptObject(obj, typeId); }
  95. AS_API void asEngine_AddRefScriptObject(asIScriptEngine *e, void *obj, int typeId) { e->AddRefScriptObject(obj, typeId); }
  96. AS_API asBOOL asEngine_IsHandleCompatibleWithObject(asIScriptEngine *e, void *obj, int objTypeId, int handleTypeId) { return e->IsHandleCompatibleWithObject(obj, objTypeId, handleTypeId) ? asTRUE : asFALSE; }
  97. AS_API int asEngine_ExecuteString(asIScriptEngine *e, const char *module, const char *script, asIScriptContext **ctx, asDWORD flags) { return e->ExecuteString(module, script, ctx, flags); }
  98. AS_API int asEngine_GarbageCollect(asIScriptEngine *e, asDWORD flags) { return e->GarbageCollect(flags); }
  99. AS_API void asEngine_GetGCStatistics(asIScriptEngine *e, asUINT *currentSize, asUINT *totalDestroyed, asUINT *totalDetected) { e->GetGCStatistics(currentSize, totalDestroyed, totalDetected); }
  100. AS_API void asEngine_NotifyGarbageCollectorOfNewObject(asIScriptEngine *e, void *obj, int typeId) { e->NotifyGarbageCollectorOfNewObject(obj, typeId); }
  101. AS_API void asEngine_GCEnumCallback(asIScriptEngine *e, void *obj) { e->GCEnumCallback(obj); }
  102. AS_API void * asEngine_SetUserData(asIScriptEngine *e, void *data) { return e->SetUserData(data); }
  103. AS_API void * asEngine_GetUserData(asIScriptEngine *e) { return e->GetUserData(); }
  104. AS_API asIScriptEngine *asModule_GetEngine(asIScriptModule *m) { return m->GetEngine(); }
  105. AS_API void asModule_SetName(asIScriptModule *m, const char *name) { m->SetName(name); }
  106. AS_API const char *asModule_GetName(asIScriptModule *m) { return m->GetName(); }
  107. AS_API int asModule_AddScriptSection(asIScriptModule *m, const char *name, const char *code, size_t codeLength, int lineOffset) { return m->AddScriptSection(name, code, codeLength, lineOffset); }
  108. AS_API int asModule_Build(asIScriptModule *m) { return m->Build(); }
  109. AS_API int asModule_GetFunctionCount(asIScriptModule *m) { return m->GetFunctionCount(); }
  110. AS_API int asModule_GetFunctionIdByIndex(asIScriptModule *m, int index) { return m->GetFunctionIdByIndex(index); }
  111. AS_API int asModule_GetFunctionIdByName(asIScriptModule *m, const char *name) { return m->GetFunctionIdByName(name); }
  112. AS_API int asModule_GetFunctionIdByDecl(asIScriptModule *m, const char *decl) { return m->GetFunctionIdByDecl(decl); }
  113. AS_API asIScriptFunction *asModule_GetFunctionDescriptorByIndex(asIScriptModule *m, int index) { return m->GetFunctionDescriptorByIndex(index); }
  114. AS_API asIScriptFunction *asModule_GetFunctionDescriptorById(asIScriptModule *m, int funcId) { return m->GetFunctionDescriptorById(funcId); }
  115. AS_API int asModule_ResetGlobalVars(asIScriptModule *m) { return m->ResetGlobalVars(); }
  116. AS_API int asModule_GetGlobalVarCount(asIScriptModule *m) { return m->GetGlobalVarCount(); }
  117. AS_API int asModule_GetGlobalVarIndexByName(asIScriptModule *m, const char *name) { return m->GetGlobalVarIndexByName(name); }
  118. AS_API int asModule_GetGlobalVarIndexByDecl(asIScriptModule *m, const char *decl) { return m->GetGlobalVarIndexByDecl(decl); }
  119. AS_API const char *asModule_GetGlobalVarDeclaration(asIScriptModule *m, int index) { return m->GetGlobalVarDeclaration(index); }
  120. AS_API const char *asModule_GetGlobalVarName(asIScriptModule *m, int index) { return m->GetGlobalVarName(index); }
  121. AS_API int asModule_GetGlobalVarTypeId(asIScriptModule *m, int index, asBOOL *isConst) { bool _isConst; int r = m->GetGlobalVarTypeId(index, &_isConst); if( isConst ) *isConst = (_isConst ? asTRUE : asFALSE); return r; }
  122. AS_API void *asModule_GetAddressOfGlobalVar(asIScriptModule *m, int index) { return m->GetAddressOfGlobalVar(index); }
  123. AS_API int asModule_GetObjectTypeCount(asIScriptModule *m) { return m->GetObjectTypeCount(); }
  124. AS_API asIObjectType *asModule_GetObjectTypeByIndex(asIScriptModule *m, asUINT index) { return m->GetObjectTypeByIndex(index); }
  125. AS_API int asModule_GetTypeIdByDecl(asIScriptModule *m, const char *decl) { return m->GetTypeIdByDecl(decl); }
  126. AS_API int asModule_GetEnumCount(asIScriptModule *m) { return m->GetEnumCount(); }
  127. AS_API const char * asModule_GetEnumByIndex(asIScriptModule *m, asUINT index, int *enumTypeId) { return m->GetEnumByIndex(index, enumTypeId); }
  128. AS_API int asModule_GetEnumValueCount(asIScriptModule *m, int enumTypeId) { return m->GetEnumValueCount(enumTypeId); }
  129. AS_API const char * asModule_GetEnumValueByIndex(asIScriptModule *m, int enumTypeId, asUINT index, int *outValue) { return m->GetEnumValueByIndex(enumTypeId, index, outValue); }
  130. AS_API int asModule_GetTypedefCount(asIScriptModule *m) { return m->GetTypedefCount(); }
  131. AS_API const char * asModule_GetTypedefByIndex(asIScriptModule *m, asUINT index, int *typeId) { return m->GetTypedefByIndex(index, typeId); }
  132. AS_API int asModule_GetImportedFunctionCount(asIScriptModule *m) { return m->GetImportedFunctionCount(); }
  133. AS_API int asModule_GetImportedFunctionIndexByDecl(asIScriptModule *m, const char *decl) { return m->GetImportedFunctionIndexByDecl(decl); }
  134. AS_API const char *asModule_GetImportedFunctionDeclaration(asIScriptModule *m, int importIndex) { return m->GetImportedFunctionDeclaration(importIndex); }
  135. AS_API const char *asModule_GetImportedFunctionSourceModule(asIScriptModule *m, int importIndex) { return m->GetImportedFunctionSourceModule(importIndex); }
  136. AS_API int asModule_BindImportedFunction(asIScriptModule *m, int importIndex, int funcId) { return m->BindImportedFunction(importIndex, funcId); }
  137. AS_API int asModule_UnbindImportedFunction(asIScriptModule *m, int importIndex) { return m->UnbindImportedFunction(importIndex); }
  138. AS_API int asModule_BindAllImportedFunctions(asIScriptModule *m) { return m->BindAllImportedFunctions(); }
  139. AS_API int asModule_UnbindAllImportedFunctions(asIScriptModule *m) { return m->UnbindAllImportedFunctions(); }
  140. AS_API int asModule_SaveByteCode(asIScriptModule *m, asIBinaryStream *out) { return m->SaveByteCode(out); }
  141. AS_API int asModule_LoadByteCode(asIScriptModule *m, asIBinaryStream *in) { return m->LoadByteCode(in); }
  142. AS_API int asContext_AddRef(asIScriptContext *c) { return c->AddRef(); }
  143. AS_API int asContext_Release(asIScriptContext *c) { return c->Release(); }
  144. AS_API asIScriptEngine *asContext_GetEngine(asIScriptContext *c) { return c->GetEngine(); }
  145. AS_API int asContext_GetState(asIScriptContext *c) { return c->GetState(); }
  146. AS_API int asContext_Prepare(asIScriptContext *c, int funcID) { return c->Prepare(funcID); }
  147. AS_API int asContext_SetArgByte(asIScriptContext *c, asUINT arg, asBYTE value) { return c->SetArgByte(arg, value); }
  148. AS_API int asContext_SetArgWord(asIScriptContext *c, asUINT arg, asWORD value) { return c->SetArgWord(arg, value); }
  149. AS_API int asContext_SetArgDWord(asIScriptContext *c, asUINT arg, asDWORD value) { return c->SetArgDWord(arg, value); }
  150. AS_API int asContext_SetArgQWord(asIScriptContext *c, asUINT arg, asQWORD value) { return c->SetArgQWord(arg, value); }
  151. AS_API int asContext_SetArgFloat(asIScriptContext *c, asUINT arg, float value) { return c->SetArgFloat(arg, value); }
  152. AS_API int asContext_SetArgDouble(asIScriptContext *c, asUINT arg, double value) { return c->SetArgDouble(arg, value); }
  153. AS_API int asContext_SetArgAddress(asIScriptContext *c, asUINT arg, void *addr) { return c->SetArgAddress(arg, addr); }
  154. AS_API int asContext_SetArgObject(asIScriptContext *c, asUINT arg, void *obj) { return c->SetArgObject(arg, obj); }
  155. AS_API void * asContext_GetAddressOfArg(asIScriptContext *c, asUINT arg) { return c->GetAddressOfArg(arg); }
  156. AS_API int asContext_SetObject(asIScriptContext *c, void *obj) { return c->SetObject(obj); }
  157. AS_API asBYTE asContext_GetReturnByte(asIScriptContext *c) { return c->GetReturnByte(); }
  158. AS_API asWORD asContext_GetReturnWord(asIScriptContext *c) { return c->GetReturnWord(); }
  159. AS_API asDWORD asContext_GetReturnDWord(asIScriptContext *c) { return c->GetReturnDWord(); }
  160. AS_API asQWORD asContext_GetReturnQWord(asIScriptContext *c) { return c->GetReturnQWord(); }
  161. AS_API float asContext_GetReturnFloat(asIScriptContext *c) { return c->GetReturnFloat(); }
  162. AS_API double asContext_GetReturnDouble(asIScriptContext *c) { return c->GetReturnDouble(); }
  163. AS_API void * asContext_GetReturnAddress(asIScriptContext *c) { return c->GetReturnAddress(); }
  164. AS_API void * asContext_GetReturnObject(asIScriptContext *c) { return c->GetReturnObject(); }
  165. AS_API void * asContext_GetAddressOfReturnValue(asIScriptContext *c) { return c->GetAddressOfReturnValue(); }
  166. AS_API int asContext_Execute(asIScriptContext *c) { return c->Execute(); }
  167. AS_API int asContext_Abort(asIScriptContext *c) { return c->Abort(); }
  168. AS_API int asContext_Suspend(asIScriptContext *c) { return c->Suspend(); }
  169. AS_API int asContext_GetCurrentLineNumber(asIScriptContext *c, int *column) { return c->GetCurrentLineNumber(column); }
  170. AS_API int asContext_GetCurrentFunction(asIScriptContext *c) { return c->GetCurrentFunction(); }
  171. AS_API int asContext_SetException(asIScriptContext *c, const char *string) { return c->SetException(string); }
  172. AS_API int asContext_GetExceptionLineNumber(asIScriptContext *c, int *column) { return c->GetExceptionLineNumber(column); }
  173. AS_API int asContext_GetExceptionFunction(asIScriptContext *c) { return c->GetExceptionFunction(); }
  174. AS_API const char * asContext_GetExceptionString(asIScriptContext *c) { return c->GetExceptionString(); }
  175. AS_API int asContext_SetLineCallback(asIScriptContext *c, asFUNCTION_t callback, void *obj, int callConv) { return c->SetLineCallback(asFUNCTION(callback), obj, callConv); }
  176. AS_API void asContext_ClearLineCallback(asIScriptContext *c) { c->ClearLineCallback(); }
  177. AS_API int asContext_SetExceptionCallback(asIScriptContext *c, asFUNCTION_t callback, void *obj, int callConv) { return c->SetExceptionCallback(asFUNCTION(callback), obj, callConv); }
  178. AS_API void asContext_ClearExceptionCallback(asIScriptContext *c) { c->ClearExceptionCallback(); }
  179. AS_API int asContext_GetCallstackSize(asIScriptContext *c) { return c->GetCallstackSize(); }
  180. AS_API int asContext_GetCallstackFunction(asIScriptContext *c, int index) { return c->GetCallstackFunction(index); }
  181. AS_API int asContext_GetCallstackLineNumber(asIScriptContext *c, int index, int *column) { return c->GetCallstackLineNumber(index, column); }
  182. AS_API int asContext_GetVarCount(asIScriptContext *c, int stackLevel) { return c->GetVarCount(stackLevel); }
  183. AS_API const char * asContext_GetVarName(asIScriptContext *c, int varIndex, int stackLevel) { return c->GetVarName(varIndex, stackLevel); }
  184. AS_API const char * asContext_GetVarDeclaration(asIScriptContext *c, int varIndex, int stackLevel) { return c->GetVarDeclaration(varIndex, stackLevel); }
  185. AS_API int asContext_GetVarTypeId(asIScriptContext *c, int varIndex, int stackLevel) { return c->GetVarTypeId(varIndex, stackLevel); }
  186. AS_API void * asContext_GetAddressOfVar(asIScriptContext *c, int varIndex, int stackLevel) { return c->GetAddressOfVar(varIndex, stackLevel); }
  187. AS_API int asContext_GetThisTypeId(asIScriptContext *c, int stackLevel) { return c->GetThisTypeId(stackLevel); }
  188. AS_API void * asContext_GetThisPointer(asIScriptContext *c, int stackLevel) { return c->GetThisPointer(stackLevel); }
  189. AS_API void * asContext_SetUserData(asIScriptContext *c, void *data) { return c->SetUserData(data); }
  190. AS_API void * asContext_GetUserData(asIScriptContext *c) { return c->GetUserData(); }
  191. AS_API asIScriptEngine *asGeneric_GetEngine(asIScriptGeneric *g) { return g->GetEngine(); }
  192. AS_API int asGeneric_GetFunctionId(asIScriptGeneric *g) { return g->GetFunctionId(); }
  193. AS_API void * asGeneric_GetObject(asIScriptGeneric *g) { return g->GetObject(); }
  194. AS_API int asGeneric_GetObjectTypeId(asIScriptGeneric *g) { return g->GetObjectTypeId(); }
  195. AS_API int asGeneric_GetArgCount(asIScriptGeneric *g) { return g->GetArgCount(); }
  196. AS_API asBYTE asGeneric_GetArgByte(asIScriptGeneric *g, asUINT arg) { return g->GetArgByte(arg); }
  197. AS_API asWORD asGeneric_GetArgWord(asIScriptGeneric *g, asUINT arg) { return g->GetArgWord(arg); }
  198. AS_API asDWORD asGeneric_GetArgDWord(asIScriptGeneric *g, asUINT arg) { return g->GetArgDWord(arg); }
  199. AS_API asQWORD asGeneric_GetArgQWord(asIScriptGeneric *g, asUINT arg) { return g->GetArgQWord(arg); }
  200. AS_API float asGeneric_GetArgFloat(asIScriptGeneric *g, asUINT arg) { return g->GetArgFloat(arg); }
  201. AS_API double asGeneric_GetArgDouble(asIScriptGeneric *g, asUINT arg) { return g->GetArgDouble(arg); }
  202. AS_API void * asGeneric_GetArgAddress(asIScriptGeneric *g, asUINT arg) { return g->GetArgAddress(arg); }
  203. AS_API void * asGeneric_GetArgObject(asIScriptGeneric *g, asUINT arg) { return g->GetArgObject(arg); }
  204. AS_API void * asGeneric_GetAddressOfArg(asIScriptGeneric *g, asUINT arg) { return g->GetAddressOfArg(arg); }
  205. AS_API int asGeneric_GetArgTypeId(asIScriptGeneric *g, asUINT arg) { return g->GetArgTypeId(arg); }
  206. AS_API int asGeneric_SetReturnByte(asIScriptGeneric *g, asBYTE val) { return g->SetReturnByte(val); }
  207. AS_API int asGeneric_SetReturnWord(asIScriptGeneric *g, asWORD val) { return g->SetReturnWord(val); }
  208. AS_API int asGeneric_SetReturnDWord(asIScriptGeneric *g, asDWORD val) { return g->SetReturnDWord(val); }
  209. AS_API int asGeneric_SetReturnQWord(asIScriptGeneric *g, asQWORD val) { return g->SetReturnQWord(val); }
  210. AS_API int asGeneric_SetReturnFloat(asIScriptGeneric *g, float val) { return g->SetReturnFloat(val); }
  211. AS_API int asGeneric_SetReturnDouble(asIScriptGeneric *g, double val) { return g->SetReturnDouble(val); }
  212. AS_API int asGeneric_SetReturnAddress(asIScriptGeneric *g, void *addr) { return g->SetReturnAddress(addr); }
  213. AS_API int asGeneric_SetReturnObject(asIScriptGeneric *g, void *obj) { return g->SetReturnObject(obj); }
  214. AS_API void * asGeneric_GetAddressOfReturnLocation(asIScriptGeneric *g) { return g->GetAddressOfReturnLocation(); }
  215. AS_API int asGeneric_GetReturnTypeId(asIScriptGeneric *g) { return g->GetReturnTypeId(); }
  216. AS_API asIScriptEngine *asObject_GetEngine(asIScriptObject *s) { return s->GetEngine(); }
  217. AS_API int asObject_AddRef(asIScriptObject *s) { return s->AddRef(); }
  218. AS_API int asObject_Release(asIScriptObject *s) { return s->Release(); }
  219. AS_API int asObject_GetTypeId(asIScriptObject *s) { return s->GetTypeId(); }
  220. AS_API asIObjectType * asObject_GetObjectType(asIScriptObject *s) { return s->GetObjectType(); }
  221. AS_API int asObject_GetPropertyCount(asIScriptObject *s) { return s->GetPropertyCount(); }
  222. AS_API int asObject_GetPropertyTypeId(asIScriptObject *s, asUINT prop) { return s->GetPropertyTypeId(prop); }
  223. AS_API const char * asObject_GetPropertyName(asIScriptObject *s, asUINT prop) { return s->GetPropertyName(prop); }
  224. AS_API void * asObject_GetAddressOfProperty(asIScriptObject *s, asUINT prop) { return s->GetAddressOfProperty(prop); }
  225. AS_API int asObject_CopyFrom(asIScriptObject *s, asIScriptObject *other) { return s->CopyFrom(other); }
  226. AS_API asIScriptEngine *asArray_GetEngine(asIScriptArray *a) { return a->GetEngine(); }
  227. AS_API int asArray_AddRef(asIScriptArray *a) { return a->AddRef(); }
  228. AS_API int asArray_Release(asIScriptArray *a) { return a->Release(); }
  229. AS_API int asArray_GetArrayTypeId(asIScriptArray *a) { return a->GetArrayTypeId(); }
  230. AS_API int asArray_GetElementTypeId(asIScriptArray *a) { return a->GetElementTypeId(); }
  231. AS_API asUINT asArray_GetElementCount(asIScriptArray *a) { return a->GetElementCount(); }
  232. AS_API void * asArray_GetElementPointer(asIScriptArray *a, asUINT index) { return a->GetElementPointer(index); }
  233. AS_API void asArray_Resize(asIScriptArray *a, asUINT size) { a->Resize(size); }
  234. AS_API int asArray_CopyFrom(asIScriptArray *a, asIScriptArray *other) { return a->CopyFrom(other); }
  235. AS_API asIScriptEngine *asObjectType_GetEngine(const asIObjectType *o) { return o->GetEngine(); }
  236. AS_API int asObjectType_AddRef(asIObjectType *o) { return o->AddRef(); }
  237. AS_API int asObjectType_Release(asIObjectType *o) { return o->Release(); }
  238. AS_API const char *asObjectType_GetName(const asIObjectType *o) { return o->GetName(); }
  239. AS_API asIObjectType *asObjectType_GetBaseType(const asIObjectType *o) { return o->GetBaseType(); }
  240. AS_API asDWORD asObjectType_GetFlags(const asIObjectType *o) { return o->GetFlags(); }
  241. AS_API asUINT asObjectType_GetSize(const asIObjectType *o) { return o->GetSize(); }
  242. AS_API int asObjectType_GetTypeId(const asIObjectType *o) { return o->GetTypeId(); }
  243. AS_API int asObjectType_GetSubTypeId(const asIObjectType *o) { return o->GetSubTypeId(); }
  244. AS_API int asObjectType_GetBehaviourCount(const asIObjectType *o) { return o->GetBehaviourCount(); }
  245. AS_API int asObjectType_GetBehaviourByIndex(const asIObjectType *o, asUINT index, asEBehaviours *outBehaviour) { return o->GetBehaviourByIndex(index, outBehaviour); }
  246. AS_API int asObjectType_GetInterfaceCount(const asIObjectType *o) { return o->GetInterfaceCount(); }
  247. AS_API asIObjectType *asObjectType_GetInterface(const asIObjectType *o, asUINT index) { return o->GetInterface(index); }
  248. AS_API int asObjectType_GetFactoryCount(const asIObjectType *o) { return o->GetFactoryCount(); }
  249. AS_API int asObjectType_GetFactoryIdByIndex(const asIObjectType *o, int index) { return o->GetFactoryIdByIndex(index); }
  250. AS_API int asObjectType_GetFactoryIdByDecl(const asIObjectType *o, const char *decl) { return o->GetFactoryIdByDecl(decl); }
  251. AS_API int asObjectType_GetMethodCount(const asIObjectType *o) { return o->GetMethodCount(); }
  252. AS_API int asObjectType_GetMethodIdByIndex(const asIObjectType *o, int index) { return o->GetMethodIdByIndex(index); }
  253. AS_API int asObjectType_GetMethodIdByName(const asIObjectType *o, const char *name) { return o->GetMethodIdByName(name); }
  254. AS_API int asObjectType_GetMethodIdByDecl(const asIObjectType *o, const char *decl) { return o->GetMethodIdByDecl(decl); }
  255. AS_API asIScriptFunction *asObjectType_GetMethodDescriptorByIndex(const asIObjectType *o, int index) { return o->GetMethodDescriptorByIndex(index); }
  256. AS_API int asObjectType_GetPropertyCount(const asIObjectType *o) { return o->GetPropertyCount(); }
  257. AS_API int asObjectType_GetPropertyTypeId(const asIObjectType *o, asUINT prop) { return o->GetPropertyTypeId(prop); }
  258. AS_API const char *asObjectType_GetPropertyName(const asIObjectType *o, asUINT prop) { return o->GetPropertyName(prop); }
  259. AS_API int asObjectType_GetPropertyOffset(const asIObjectType *o, asUINT prop) { return o->GetPropertyOffset(prop); }
  260. AS_API asIScriptEngine *asScriptFunction_GetEngine(const asIScriptFunction *f) { return f->GetEngine(); }
  261. AS_API const char *asScriptFunction_GetModuleName(const asIScriptFunction *f) { return f->GetModuleName(); }
  262. AS_API asIObjectType *asScriptFunction_GetObjectType(const asIScriptFunction *f) { return f->GetObjectType(); }
  263. AS_API const char *asScriptFunction_GetObjectName(const asIScriptFunction *f) { return f->GetObjectName(); }
  264. AS_API const char *asScriptFunction_GetName(const asIScriptFunction *f) { return f->GetName(); }
  265. AS_API const char *asScriptFunction_GetDeclaration(const asIScriptFunction *f, bool includeObjectName) { return f->GetDeclaration(includeObjectName); }
  266. AS_API bool asScriptFunction_IsClassMethod(const asIScriptFunction *f) { return f->IsClassMethod(); }
  267. AS_API bool asScriptFunction_IsInterfaceMethod(const asIScriptFunction *f) { return f->IsInterfaceMethod(); }
  268. AS_API int asScriptFunction_GetParamCount(const asIScriptFunction *f) { return f->GetParamCount(); }
  269. AS_API int asScriptFunction_GetParamTypeId(const asIScriptFunction *f, int index) { return f->GetParamTypeId(index); }
  270. AS_API int asScriptFunction_GetReturnTypeId(const asIScriptFunction *f) { return f->GetReturnTypeId(); }
  271. }
  272. END_AS_NAMESPACE