![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include "../GrayLibBase.h"#include "../Auth/PrivLevel.h"#include "../Misc/cStructElem.h"#include "../Variant/cVariant.h"#include "GrayCore/include/cArraySort.h"#include "GrayCore/include/cAtom.h"#include "GrayCore/include/cString.h"#include "GrayCore/include/cSingleton.h"#include "GrayCore/include/cStream.h"#include "GrayCore/include/cLogMgr.h"#include "GrayCore/include/cTypeInfo.h"#include "cScriptableInterfaceProps.tbl"Go to the source code of this file.
Classes | |
| class | GrayLib::cScriptableProp |
| class | GrayLib::cScriptableInterfaceDef |
| class | GrayLib::cScriptableInterfaceTemplate< TYPE > |
| class | GrayLib::cScriptableInterfaceMgr |
Namespaces | |
| GrayLib | |
Macros | |
| #define | CSCRIPT_PROP_HELP(c) c |
| used to compile out the descriptive help text. _HELP More... | |
| #define | CSCRIPT_PROP_IMP(a, b, c) { { #a, { VARTYPE_NoType, 0, 0 } }, b, PLEVEL_GM, PLEVEL_GM, CSCRIPT_PROP_HELP(c), false, &sm_ScriptInterfaceDef } |
| #define | CSCRIPT_METHOD_IMP(a, b, c) { { #a, { VARTYPE_NoType, 0, 0 } }, b, PLEVEL_GM, PLEVEL_QTY, CSCRIPT_PROP_HELP(c), true, &sm_ScriptInterfaceDef } |
| #define | CSCRIPT_METHOD_IMP2(a, b, c, d) { { #a, { VARTYPE_NoType, 0, 0 } }, b, c, PLEVEL_QTY, CSCRIPT_PROP_HELP(d), true, &sm_ScriptInterfaceDef } |
| #define | CSCRIPT_PROP_END { { nullptr, { VARTYPE_NoType, 0, 0 } }, 0 } |
| #define | CSCRIPT_CLASS_DEF0_N static cScriptableInterfaceDef sm_ScriptInterfaceDef; |
| #define | CSCRIPT_CLASS_DEF0(TYPE) CSCRIPT_CLASS_DEF0_N virtual cScriptableInterfaceDefPtr _stdcall get_ScriptInterfaceDef() const { return(&sm_ScriptInterfaceDef); } |
| #define | CSCRIPT_CLASS_IMP0(TYPE, _PROPS, _METHODS, _HELP) cScriptableInterfaceDef c##TYPE::sm_ScriptInterfaceDef(typeid(c##TYPE),#TYPE,_PROPS,_METHODS,nullptr,CSCRIPT_PROP_HELP(_HELP)); |
| #define | CSCRIPT_CLASS_DEF1(TYPE, _BASETYPE) |
| #define | CSCRIPT_CLASS_IMP1(TYPE, _PROPS, _METHODS, _HELP) cScriptableInterfaceDef c##TYPE::sm_ScriptInterfaceDef(typeid(c##TYPE),#TYPE,_PROPS,_METHODS,&c##TYPE::CSCRIPTABLE_SUPER_t::sm_ScriptInterfaceDef,CSCRIPT_PROP_HELP(_HELP)); |
| #define | CSCRIPT_CLASS_DEF2(TYPE, _BASETYPE) |
| #define | CSCRIPT_CLASS_IMP2(TYPE, _PROPS, _METHODS, _HELP) |
| #define | cScriptableInterfaceProp(a, b, c) P_##a, |
| #define | CSCRIPT_PROP(_CLASS, _PROP) (_CLASS::sm_Props[_CLASS::P_##_PROP]) |
| #define | CSCRIPT_PROP_NAME(_CLASS, _PROP) (CSCRIPT_PROP(_CLASS,_PROP).m_a.m_pszKey) |
| #define | CSCRIPT_PROP_NAMEA(_CLASS, _PROP) (CSCRIPT_PROP(_CLASS,_PROP).get_NamePropA()) |
| #define | CSCRIPT_METHOD(_CLASS, _PROP) (_CLASS::sm_Methods[_CLASS::M_##_PROP]) |
| #define | CSCRIPT_METHOD_NAME(_CLASS, _PROP) (CSCRIPT_METHOD(_CLASS,_PROP).m_a.m_pszKey) |
| #define | CSCRIPT_METHOD_NAMEA(_CLASS, _PROP) (CSCRIPT_METHOD(_CLASS,_PROP).get_NamePropA()) |
Typedefs | |
| typedef cScriptableInterfaceDef * | GrayLib::cScriptableInterfaceDefPtr |
| typedef BYTE | GrayLib::SCRIPTINTERFACEID_t |
| enumerate all the defined interface definitions. More... | |
| typedef UINT | GrayLib::XOBJ_DUMP_MASK_t |
| enum XOBJ_DUMP_MASK_ More... | |
| typedef WORD | GrayLib::CSCRIPTPROP_MASK_t |
| typedef cScriptableProp | GrayLib::cScriptableMethod |
| Methods are really similar to Props. More... | |
Functions | |
| GrayLib::UNITTEST2_PREDEF (cScriptableInterface) | |
Variables | |
| class __DECL_IMPORT | GrayLib::cScriptContext |
| const SCRIPTINTERFACEID_t | GrayLib::SCRIPTINTERFACEID_MAX = 0xFF |
| const SCRIPTPROPID_t | GrayLib::SCRIPTPROPINDEX_MAX = 0xFF |
Define a basic scriptable object. (though object need not be actually scripted)
| #define CSCRIPT_CLASS_DEF0 | ( | TYPE | ) | CSCRIPT_CLASS_DEF0_N virtual cScriptableInterfaceDefPtr _stdcall get_ScriptInterfaceDef() const { return(&sm_ScriptInterfaceDef); } |
| #define CSCRIPT_CLASS_DEF0_N static cScriptableInterfaceDef sm_ScriptInterfaceDef; |
| #define CSCRIPT_CLASS_DEF1 | ( | TYPE, | |
| _BASETYPE | |||
| ) |
| #define CSCRIPT_CLASS_DEF2 | ( | TYPE, | |
| _BASETYPE | |||
| ) |
| #define CSCRIPT_CLASS_IMP0 | ( | TYPE, | |
| _PROPS, | |||
| _METHODS, | |||
| _HELP | |||
| ) | cScriptableInterfaceDef c##TYPE::sm_ScriptInterfaceDef(typeid(c##TYPE),#TYPE,_PROPS,_METHODS,nullptr,CSCRIPT_PROP_HELP(_HELP)); |
| #define CSCRIPT_CLASS_IMP1 | ( | TYPE, | |
| _PROPS, | |||
| _METHODS, | |||
| _HELP | |||
| ) | cScriptableInterfaceDef c##TYPE::sm_ScriptInterfaceDef(typeid(c##TYPE),#TYPE,_PROPS,_METHODS,&c##TYPE::CSCRIPTABLE_SUPER_t::sm_ScriptInterfaceDef,CSCRIPT_PROP_HELP(_HELP)); |
| #define CSCRIPT_CLASS_IMP2 | ( | TYPE, | |
| _PROPS, | |||
| _METHODS, | |||
| _HELP | |||
| ) |
| #define CSCRIPT_METHOD | ( | _CLASS, | |
| _PROP | |||
| ) | (_CLASS::sm_Methods[_CLASS::M_##_PROP]) |
| #define CSCRIPT_METHOD_IMP | ( | a, | |
| b, | |||
| c | |||
| ) | { { #a, { VARTYPE_NoType, 0, 0 } }, b, PLEVEL_GM, PLEVEL_QTY, CSCRIPT_PROP_HELP(c), true, &sm_ScriptInterfaceDef } |
| #define CSCRIPT_METHOD_IMP2 | ( | a, | |
| b, | |||
| c, | |||
| d | |||
| ) | { { #a, { VARTYPE_NoType, 0, 0 } }, b, c, PLEVEL_QTY, CSCRIPT_PROP_HELP(d), true, &sm_ScriptInterfaceDef } |
| #define CSCRIPT_METHOD_NAME | ( | _CLASS, | |
| _PROP | |||
| ) | (CSCRIPT_METHOD(_CLASS,_PROP).m_a.m_pszKey) |
| #define CSCRIPT_METHOD_NAMEA | ( | _CLASS, | |
| _PROP | |||
| ) | (CSCRIPT_METHOD(_CLASS,_PROP).get_NamePropA()) |
| #define CSCRIPT_PROP | ( | _CLASS, | |
| _PROP | |||
| ) | (_CLASS::sm_Props[_CLASS::P_##_PROP]) |
| #define CSCRIPT_PROP_END { { nullptr, { VARTYPE_NoType, 0, 0 } }, 0 } |
| #define CSCRIPT_PROP_HELP | ( | c | ) | c |
used to compile out the descriptive help text. _HELP
| #define CSCRIPT_PROP_IMP | ( | a, | |
| b, | |||
| c | |||
| ) | { { #a, { VARTYPE_NoType, 0, 0 } }, b, PLEVEL_GM, PLEVEL_GM, CSCRIPT_PROP_HELP(c), false, &sm_ScriptInterfaceDef } |
| #define CSCRIPT_PROP_NAME | ( | _CLASS, | |
| _PROP | |||
| ) | (CSCRIPT_PROP(_CLASS,_PROP).m_a.m_pszKey) |
| #define CSCRIPT_PROP_NAMEA | ( | _CLASS, | |
| _PROP | |||
| ) | (CSCRIPT_PROP(_CLASS,_PROP).get_NamePropA()) |
| #define cScriptableInterfaceProp | ( | a, | |
| b, | |||
| c | |||
| ) | P_##a, |