![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cScriptableInterface.h>
Public Member Functions | |
cScriptableInterfaceTemplate (const TYPEINFO_t &TypeInfo, const ATOMCHAR_t *pszName, cScriptableProp *pProps, cScriptableMethod *pMethods, cScriptableInterfaceDef *pSubInterface, const ATOMCHAR_t *pszHelp) | |
virtual void | InitScriptInterfaceDef () |
things that cannot be done at static construct time. More... | |
void | InitScriptInterfaceDef () |
![]() | |
virtual cScriptableInterfaceDefPtr _stdcall | get_ScriptInterfaceDef () const |
cScriptableInterfaceDef (const TYPEINFO_t &TypeInfo, const ATOMCHAR_t *pszName, cScriptableProp *pProps, cScriptableMethod *pMethods, cScriptableInterfaceDef *pSubInterface, const ATOMCHAR_t *pszHelp) | |
virtual | ~cScriptableInterfaceDef () |
virtual bool | isValidCheck () const noexcept |
< memory allocation and structure definitions are valid. More... | |
const ATOMCHAR_t * | get_Name () const noexcept |
SCRIPTINTERFACEID_t | get_InterfaceID () const noexcept |
SCRIPTPROPID_t | get_MethodQty () const noexcept |
virtual cScriptableMethod * | GetMethodPtr (SCRIPTPROPID_t index) const noexcept |
virtual SCRIPTPROPID_t | GetMethodIndex (const cScriptableMethod *pMethod) const |
SCRIPTPROPID_t | FindMethodIndex (const ATOMCHAR_t *pszName) const |
cScriptableMethod * | FindMethodPtrI (const ATOMCHAR_t *pszName) const |
SCRIPTPROPID_t | get_PropQty () const |
virtual cScriptableProp * | GetPropPtr (SCRIPTPROPID_t index) const |
virtual SCRIPTPROPID_t | GetPropIndex (const cScriptableProp *pProp) const |
SCRIPTPROPID_t | FindPropIndex (const ATOMCHAR_t *pszName) const |
cScriptableProp * | FindPropPtrI (const ATOMCHAR_t *pszName) const |
bool | SetMethodPrivLevel (const ATOMCHAR_t *pszMethod, PLEVEL_TYPE ePrivLevel) |
Adjust a privilege level for a method of this class. More... | |
bool | IsInterfaceInit () const |
HRESULT | SerializeOutput (cStreamOutput &out, PLEVEL_TYPE ePrivLevel) const |
void | InitSubInterfaces () |
Manage all my sub-interfaces. More... | |
bool | HasSubInterface (const cScriptableInterfaceDef *pInterfaceDef) const |
bool | HasInterface (const cScriptableInterfaceDef *pInterfaceDef) const |
void | AddSubInterfaceProps (cScriptableInterfaceDef *pInterface) |
void | AddSubInterfaces (cScriptableInterfaceDef *pSubInterface) |
search All sub classes as well. More... | |
const cScriptableMethod * | FindMethodStr (const ATOMCHAR_t *pszName) const |
const cScriptableProp * | FindPropStr (const ATOMCHAR_t *pszName) const |
const cScriptableProp * | FindPropOrMethodStr (const ATOMCHAR_t *pszName) const |
const cScriptableMethod * | FindMethodHash (ATOMCODE_t nKey) const |
Find by string hash code. (assume no collisions) More... | |
const cScriptableProp * | FindPropHash (ATOMCODE_t nKey) const |
![]() | |
virtual | ~CObject () |
virtual void | AssertValid () const |
< memory allocation and structure definitions are valid. More... | |
virtual void | Serialize (cArchive &a) |
Additional Inherited Members | |
![]() | |
enum | P_TYPE_ { P_QTY } |
< if the InterfaceDef is itself an interface. More... | |
![]() | |
const TYPEINFO_t & | m_TypeInfo |
The C++ typeid(class type) this refers to. (we could derive m_pszName?) MUST HAVE RTTI on! More... | |
const ATOMCHAR_t * | m_pszName |
Interface Name. More... | |
cScriptableInterfaceDef * | m_pSubInterface |
primary sub class. (can actually be multi(m_aSubInterfacesAll) or none(nullptr)) More... | |
const char * | m_pszHelp |
helpful description for human readers. More... | |
SCRIPTINTERFACEID_t | m_nInterfaceID |
enum id to define the class. similar to XOBJTIDX_TYPE ? More... | |
cArraySortPtrName< const cScriptableProp, ATOMCHAR_t > | m_aPropsAll |
cArraySortPtrName< const cScriptableMethod, ATOMCHAR_t > | m_aMethodsAll |
Complete list of all Methods. (includes sub class methods) More... | |
cArraySortPtrHash< const cScriptableProp, ATOMCODE_t > | m_aPropsAllHash |
We may search by hash code. More... | |
cArraySortPtrHash< const cScriptableMethod, ATOMCODE_t > | m_aMethodsAllHash |
cArraySortVal< SCRIPTINTERFACEID_t > | m_aSubInterfacesAll |
List of interfaces I'm based on (Already added to m_aMethodsAll and m_aPropsAll. More... | |
UINT | m_nInstances |
define get_ScriptInterfaceDef() More... | |
![]() | |
static cScriptableProp | sm_Props [P_QTY+1] |
static cScriptableInterfaceDef | sm_ScriptInterfaceDef |
![]() | |
bool | m_bInitInterface |
has this been synchronized with the base classes. More... | |
SCRIPTPROPID_t | m_iPropQty |
get_PropQty() More... | |
SCRIPTPROPID_t | m_iMethodQty |
get_MethodQty() More... | |
This class needs a special complex version to init it's multiple interfaces. It has multiple base IScriptableObj(s) and therefore cScriptableInterfaceDef(s)
|
inline |
|
virtual |
things that cannot be done at static construct time.
Reimplemented from GrayLib::cScriptableInterfaceDef.
|
virtual |
things that cannot be done at static construct time. Such as attaching multiple base classes etc.
Add props and methods to the class def.
Just init the simple class.
Reimplemented from GrayLib::cScriptableInterfaceDef.