#include <string>
#include <vector>
#include <map>
#include <SimData/Export.h>
#include <SimData/HashUtility.h>
#include <SimData/TypeAdapter.h>
#include <SimData/ObjectInterface.h>
#include <SimData/Namespace.h>
#include <SimData/Exception.h>
Go to the source code of this file.
Compounds | |
| class | InterfaceProxy |
| Base class for interface proxy classes. More... | |
| class | InterfaceRegistry |
| Singleton class to store and access all ObjectInterfaces in the application. More... | |
| class | Singleton |
| Creates a single, static instance of the templated class. More... | |
Defines | |
| #define | __SIMDATA_XML_INTERFACE_0(classname, baseinterface) |
| interface macro 0 | |
| #define | __SIMDATA_XML_INTERFACE_1(classname) |
| interface macro 1 for normal classes | |
| #define | __SIMDATA_XML_INTERFACE_V(classname) |
| interface macro 1 for abstract classes: no createObject | |
| #define | __SIMDATA_XML_INTERFACE_2(classname, baseinterface, nqbaseinterface) |
| interface macro 2 | |
| #define | BEGIN_SIMDATA_XML_INTERFACE(classname) |
| Begin an interface declaration. | |
| #define | BEGIN_SIMDATA_XML_VIRTUAL_INTERFACE(classname) |
| Begin an interface declaration for an abstract class. | |
| #define | EXTEND_SIMDATA_XML_INTERFACE(classname, basename) |
| Extend an interface declaration. | |
| #define | EXTEND_SIMDATA_XML_VIRTUAL_INTERFACE(classname, basename) |
| Extend an interface declaration for an abstract class. | |
| #define | SIMDATA_XML(id, var, req) .def(id, &var, req) |
| Declare a member variable accessible to external data sources. | |
| #define | SIMDATA_BIT(id, var, bit, req) .def(id, &var, bit, req) |
| Declare a bit-masked member variable accessible to external data sources. | |
| #define | END_SIMDATA_XML_INTERFACE |
| End an object interface declaration. | |
| #define | SIMDATA_REGISTER_INTERFACE(classname) |
| Register an object class interface. | |
| #define | SIMDATA_REGISTER_INNER_INTERFACE(prefix, classname) |
| Register an object class interface declared within a named scope. | |
Variables | |
| NAMESPACE_SIMDATA class | Object |
|
|
Value: class classname##InterfaceProxy; \ friend class classname##InterfaceProxy; \ class classname##InterfaceProxy: public baseinterface \ { \ SIMDATA(ObjectInterface)<classname> *_interface; \ public: For internal use only. See Object Interface Macros for details. |
|
|
Value: virtual SIMDATA(Object)* createObject() const { \ SIMDATA(Object) *o = new classname; \ assert(o); \ return o; \ } \ virtual bool isVirtual() const { return false; } \ virtual bool isStatic() const { return classname::_isClassStatic(); } For internal use only. See Object Interface Macros for details. |
|
|
Value: virtual SIMDATA(hasht) getClassHash() const { return classname::_getClassHash(); } \ virtual const char * getClassName() const { return classname::_getClassName(); } \ classname##InterfaceProxy(const char * cname = #classname, SIMDATA(hasht) (*chash)() = &classname::_getClassHash): \ baseinterface(cname, chash) \ { \ std::string _classname = #classname; \ SIMDATA(hasht) _classhash = classname::_getClassHash(); \ _interface = new SIMDATA(ObjectInterface)<classname>; \ (*_interface) For internal use only. See Object Interface Macros for details. |
|
|
Value: virtual SIMDATA(Object)* createObject() const { assert(0); return 0; } \ virtual bool isVirtual() const { return true; } For internal use only. See Object Interface Macros for details. |
|
|
Value: __SIMDATA_XML_INTERFACE_0(classname, SIMDATA(InterfaceProxy)) \ __SIMDATA_XML_INTERFACE_1(classname) \ __SIMDATA_XML_INTERFACE_2(classname, SIMDATA(InterfaceProxy), InterfaceProxy) See Object Interface Macros for details. |
|
|
Value: __SIMDATA_XML_INTERFACE_0(classname, SIMDATA(InterfaceProxy)) \ __SIMDATA_XML_INTERFACE_V(classname) \ __SIMDATA_XML_INTERFACE_2(classname, SIMDATA(InterfaceProxy), InterfaceProxy) See Object Interface Macros for details. |
|
|
Value: .pass(); \
addInterface(_interface, _classname, _classhash); \
} \
};See Object Interface Macros for details. |
|
|
Value: __SIMDATA_XML_INTERFACE_0(classname, basename::basename##InterfaceProxy) \ __SIMDATA_XML_INTERFACE_1(classname) \ __SIMDATA_XML_INTERFACE_2(classname, basename::basename##InterfaceProxy, basename##InterfaceProxy) See Object Interface Macros for details. |
|
|
Value: __SIMDATA_XML_INTERFACE_0(classname, basename::basename##InterfaceProxy) \ __SIMDATA_XML_INTERFACE_V(classname) \ __SIMDATA_XML_INTERFACE_2(classname, basename::basename##InterfaceProxy, basename##InterfaceProxy) See Object Interface Macros for details. |
|
|
Declare a bit-masked member variable accessible to external data sources. See Object Interface Macros for details. |
|
|
Value: namespace { \ parent::classname::classname##InterfaceProxy __##prefix##_##classname##_interface; \ } See Object Interface Macros for details. |
|
|
Value: namespace { \ classname::classname##InterfaceProxy __##classname##_interface; \ } See Object Interface Macros for details. |
|
|
Declare a member variable accessible to external data sources. See Object Interface Macros for details. |
|
|
|
|
SimData version pre-0.4.0. For more information on SimData, visit the SimData Homepage. Generated on Tue Oct 14 12:06:39 2003, using Doxygen 1.2.18. |