![]() |
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, |