![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cScriptableInterfaceDynamic.h>
Public Types | |
| typedef cScriptableInterfaceDef | CSCRIPTABLE_SUPER_t |
Public Types inherited from GrayLib::cScriptableInterfaceDef | |
| enum | P_TYPE_ { P_QTY } |
| < if the InterfaceDef is itself an interface. More... | |
Public Member Functions | |
| virtual cScriptableInterfaceDefPtr _stdcall | get_ScriptInterfaceDef () const |
| cScriptableInterfaceDynamic () | |
| virtual | ~cScriptableInterfaceDynamic () |
| virtual HRESULT | DisposeThis () |
| HRESULT | SerializeInput (cStreamInput &stmIn) |
| SCRIPTINTERFACEID_t | get_HashCode () const noexcept |
| virtual cScriptableMethod * | GetMethodPtr (SCRIPTPROPID_t index) const noexcept |
| virtual SCRIPTPROPID_t | GetMethodIndex (const cScriptableMethod *pMethod) const |
| virtual cScriptableProp * | GetPropPtr (SCRIPTPROPID_t index) const |
| virtual SCRIPTPROPID_t | GetPropIndex (const cScriptableProp *pProp) const |
Public Member Functions inherited from GrayLib::cScriptableInterfaceDef | |
| 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 |
| SCRIPTPROPID_t | FindMethodIndex (const ATOMCHAR_t *pszName) const |
| cScriptableMethod * | FindMethodPtrI (const ATOMCHAR_t *pszName) const |
| SCRIPTPROPID_t | get_PropQty () 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 |
| virtual void | InitScriptInterfaceDef () |
| 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 |
Public Member Functions inherited from Gray::CObject | |
| virtual | ~CObject () |
| virtual void | AssertValid () const |
| < memory allocation and structure definitions are valid. More... | |
| virtual void | Serialize (cArchive &a) |
Public Member Functions inherited from Gray::cHeapObject | |
| cHeapObject () | |
| virtual | ~cHeapObject () |
| bool | IsValidInsideN (INT_PTR index) const |
| bool | IsValidInsidePtr (void const *pTest) const |
| virtual size_t | GetHeapStatsThis (OUT ITERATE_t &iAllocCount) const |
| virtual bool | isValidCheck () const noexcept |
Public Member Functions inherited from Gray::cRefBase | |
| cRefBase (int iRefCount=0) noexcept | |
| virtual | ~cRefBase () |
| int | get_RefCount () const noexcept |
| HASHCODE_t | get_HashCode () const noexcept |
| STDMETHOD_ (HASHCODE_t, get_HashCodeX)() const noexcept | |
| virtual void | onFinalRelease () |
| bool | isValidObj () const noexcept |
| STDMETHOD_ (ULONG, AddRef)(void) override | |
| STDMETHOD_ (ULONG, Release)(void) override | |
| STDMETHOD() | QueryInterface (const IID &riid, void __RPC_FAR *__RPC_FAR *ppvObject) override |
| void | IncRefCount () |
| void | DecRefCount () |
| bool | isStaticConstruct () const noexcept |
| void | StaticConstruct () |
| void | StaticDestruct () |
| bool | isDestructing () noexcept |
| void | SetDestructing () |
Public Attributes | |
| cAtomRef | m_aName |
| m_pszName storage for the interface More... | |
| cStringA | m_sHelp |
| m_pszHelp storage for the interface. More... | |
| cArrayRef< cScriptablePropDynamic > | m_aProps |
| m_pProps (cannot assume sorted) More... | |
| cArraySortName< cScriptablePropDynamic > | m_aMethods |
| m_pMethods More... | |
Public Attributes inherited from GrayLib::cScriptableInterfaceDef | |
| 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 Public Attributes | |
| static cScriptableInterfaceDef | sm_ScriptInterfaceDef |
Static Public Attributes inherited from GrayLib::cScriptableInterfaceDef | |
| static cScriptableProp | sm_Props [P_QTY+1] |
| static cScriptableInterfaceDef | sm_ScriptInterfaceDef |
Protected Attributes | |
| CHEAPOBJECT_IMPL | |
Protected Attributes inherited from GrayLib::cScriptableInterfaceDef | |
| 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... | |
Additional Inherited Members | |
Protected Member Functions inherited from Gray::cHeapObject | |
| const void * | get_HeapPtr () const noexcept override |
| Get the top level (outermost, freeable) class pointer. I can delete get_HeapPtr(). More... | |
Read a dynamic/scriptable definition of cScriptableInterfaceDef This cScriptableInterfaceDef can add/remove props and methods.
| GrayLib::cScriptableInterfaceDynamic::cScriptableInterfaceDynamic | ( | ) |
Interface name to be filled in later.
|
virtual |
|
virtual |
|
inlinenoexcept |
|
inlinevirtual |
Reimplemented from GrayLib::cScriptableInterfaceDef.
|
inlinevirtual |
Reimplemented from GrayLib::cScriptableInterfaceDef.
|
inlinevirtualnoexcept |
Reimplemented from GrayLib::cScriptableInterfaceDef.
|
inlinevirtual |
Reimplemented from GrayLib::cScriptableInterfaceDef.
|
inlinevirtual |
Reimplemented from GrayLib::cScriptableInterfaceDef.
| HRESULT GrayLib::cScriptableInterfaceDynamic::SerializeInput | ( | cStreamInput & | stmIn | ) |
Compliment cScriptableInterfaceDef::SerializeOutput
|
protected |
| cArraySortName<cScriptablePropDynamic> GrayLib::cScriptableInterfaceDynamic::m_aMethods |
m_pMethods
| cAtomRef GrayLib::cScriptableInterfaceDynamic::m_aName |
m_pszName storage for the interface
| cArrayRef<cScriptablePropDynamic> GrayLib::cScriptableInterfaceDynamic::m_aProps |
m_pProps (cannot assume sorted)
| cStringA GrayLib::cScriptableInterfaceDynamic::m_sHelp |
m_pszHelp storage for the interface.
|
static |