15 #include <vlutil/vlHashlist.h>
20 #if defined(DtIFSPEC13)
27 #elif defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
31 #include <RTI/time/LogicalTime.h>
32 #include <RTI/time/LogicalTimeInterval.h>
38 DtMomUpdateConditional,
44 class DtMomHandleList;
59 DtMomSR(
const DtMomSR& orig);
62 DtMomSR& operator=(
const DtMomSR& orig);
70 virtual void putElement(
const char* name, DtMomElement element,
71 DtMomUpdateType updateType);
103 virtual DtMomInspector* localService();
104 virtual DtMomInspector
const * localService()
const;
109 DtMomInspector* myService;
113 std::map<DtAttributeHandle, DtMomElement> myAttributeToElementMap;
114 std::map<DtMomElement, DtAttributeHandle> myElementToAttributeMap;
123 mutable DtRtiApiUniquePtr<DtRtiApiTime> myTime;
124 DtRtiApiUniquePtr<DtRtiApiTimeInterval> myInterval;
133 hdl = myObject->objHandle();
138 #define ATTRIBUTE_DECLARATION_BY_VALUE(AttributeType, Attribute) \
140 virtual AttributeType get##Attribute() const; \
142 virtual void encode##Attribute(DtAhvps* vp, DtAttributeHandle attribute);
144 #define ATTRIBUTE_DECLARATION_BY_VALUE_NON_CONST(AttributeType, Attribute) \
146 virtual AttributeType get##Attribute(); \
148 virtual void encode##Attribute(DtAhvps* vp, DtAttributeHandle attribute);
150 #define ATTRIBUTE_DECLARATION_BY_REF(AttributeType, Attribute) \
152 virtual AttributeType const & get##Attribute() const; \
154 virtual void encode##Attribute(DtAhvps* vp, DtAttributeHandle attribute);
156 #define ATTRIBUTE_WITH_PARAM_DECLARATION(AttributeType, Attribute) \
158 virtual bool get##Attribute(AttributeType& value) const; \
160 virtual void encode##Attribute(DtAhvps* vp, DtAttributeHandle attribute);
163 #define ATTRIBUTE_DEFINITION_BY_VALUE(StateRepClass, AttributeType, Attribute) \
164 AttributeType StateRepClass::get##Attribute() const \
166 return localService()->get##Attribute(); \
168 void StateRepClass::encode##Attribute(DtAhvps* vp, DtAttributeHandle attribute) \
170 DtMomNetParameter netAttribute(get##Attribute()); \
171 vp->add(attribute, netAttribute.netRep(), netAttribute.length()); \
174 #define ATTRIBUTE_DEFINITION_BY_VALUE_NON_CONST(StateRepClass, AttributeType, Attribute) \
175 AttributeType StateRepClass::get##Attribute() \
177 return localService()->get##Attribute(); \
179 void StateRepClass::encode##Attribute(DtAhvps* vp, DtAttributeHandle attribute) \
181 DtMomNetParameter netAttribute(get##Attribute()); \
182 vp->add(attribute, netAttribute.netRep(), netAttribute.length()); \
185 #define ATTRIBUTE_DEFINITION_BY_REF(StateRepClass, AttributeType, Attribute) \
186 AttributeType const& StateRepClass::get##Attribute() const \
188 return localService()->get##Attribute(); \
190 void StateRepClass::encode##Attribute(DtAhvps* vp, DtAttributeHandle attribute) \
192 DtMomNetParameter netAttribute(get##Attribute()); \
193 vp->add(attribute, netAttribute.netRep(), netAttribute.length()); \
196 #define ATTRIBUTE_WITH_PARAM_DEFINITION(StateRepClass, AttributeType, AttributeTemp, Attribute) \
197 bool StateRepClass::get##Attribute(AttributeType& value) const \
199 return localService()->get##Attribute(value); \
201 void StateRepClass::encode##Attribute(DtAhvps* vp, DtAttributeHandle attribute) \
203 DtMomNetParameter netAttribute; \
204 if (get##Attribute(AttributeTemp)) \
206 netAttribute = AttributeTemp; \
210 netAttribute = (unsigned long)0; \
212 vp->add(attribute, netAttribute.netRep(), netAttribute.length()); \
The declaration of the object manager class.
DtUpdateType
Update type for object.
Definition: rtiObject.h:94
Defines the internal representation of attribute/parameter handle sets.
Definition: attrHandSet.h:30
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:50
The RTI object maintains the internal RTI object state.
Definition: rtiObject.h:123
unsigned long DtHandle
The internal types.
Definition: internalTypes.h:41
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
Definition: aHandValSet.h:33
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155