10 #include <vlutil/vlString.h>
11 #include <vlutil/vlSmartPointers.h>
12 #include <vlutil/vlTime.h>
16 #include <tbb/spin_mutex.h>
37 virtual void initialize(DtExerciseConn* exConn);
47 virtual void addSupportedClass(
const DtString& fullClassName,
bool addSubclasses =
false);
51 return theGlobalHLAMutex;
64 virtual bool needsInitialization(DtExerciseConn* exConn);
67 virtual const DtString& publisherName()
const = 0;
71 virtual const DtString& reflectedListName()
const = 0;
74 virtual const DtString& defaultBaseObjectClass()
const = 0;
79 virtual void setUnknownAttributeFunctions(DtObjClassDesc* desc) = 0;
83 virtual std::map<DtString, RTI::AttributeHandle> attributeNameToHandleMap(
const RTI::ObjectClassHandle& classHdl)
const = 0;
88 const std::map<DtString, RTI::AttributeHandle>& mapping) = 0;
93 virtual void setPublisherStateRepCreator() = 0;
97 virtual void setReflectedObjectStateRepCreator() = 0;
112 virtual void addSupportedSubclasses(DtExerciseConn* exConn);
115 virtual void initializeObjectClassChooser(DtExerciseConn* exConn);
119 virtual void initializeObjectClasses(DtExerciseConn* exConn);
123 virtual void initializeAttributes(DtObjClassDesc* desc);
127 virtual void initializeExtendedAttributes(DtExerciseConn* exConn);
133 virtual void initializeVariableRecordFactory(DtExerciseConn* exConn);
182 virtual std::map<DtString, RTI::AttributeHandle>
attributeNameToHandleMap(
const RTI::ObjectClassHandle& classHdl)
const;
187 const std::map<DtString, RTI::AttributeHandle>& mapping);
238 virtual std::map<DtString, RTI::AttributeHandle>
attributeNameToHandleMap(
const RTI::ObjectClassHandle& classHdl)
const;
243 const std::map<DtString, RTI::AttributeHandle>& mapping);
294 virtual std::map<DtString, RTI::AttributeHandle>
attributeNameToHandleMap(
const RTI::ObjectClassHandle& classHdl)
const;
299 const std::map<DtString, RTI::AttributeHandle>& mapping);
static tbb::spin_mutex theGlobalHLAMutex
Definition: extendedAttributesInitializer.h:142
The extended attributes initializer for entity objects.
Definition: extendedAttributesInitializer.h:150
virtual void setAttributeNameToHandleMap(const RTI::ObjectClassHandle &classHdl, const std::map< DtString, RTI::AttributeHandle > &mapping)=0
SEts the attribute name to handle mapping for the object class. Specific to a particular state reposi...
virtual void setReflectedObjectStateRepCreator()=0
Sets the state rep creator for the associated reflected object. Specific to a particular reflected ob...
std::list< DtString > myFullClassNames
Definition: extendedAttributesInitializer.h:141
bool myNeedsInitialization
Definition: extendedAttributesInitializer.h:137
virtual void setUnknownAttributeFunctions(DtObjClassDesc *desc)=0
Sets the unknown attribute checker, encoder, and decoder functions in order to process them as extend...
DtObjectClassChooserPtr myObjectClassChooser
Definition: extendedAttributesInitializer.h:139
static DtString theExtendedAttributesClassName
Definition: extendedAttributesInitializer.h:143
The extended attributes initializer for control objects.
Definition: extendedAttributesInitializer.h:262
virtual bool needsInitialization(DtExerciseConn *exConn)
These functions are called within initialize(). Must be implemented in subclasses as they are specifi...
static bool theExConnNeedsInit
Definition: extendedAttributesInitializer.h:201
virtual const DtString & defaultBaseObjectClass() const =0
The base object class that is supported by default. All subclasses will also be supported.
virtual const DtString & publisherName() const =0
The name of the publisher class in VR-Link.
static DtTime thePrevExConnInitTime
Definition: extendedAttributesInitializer.h:312
static DtTime thePrevExConnInitTime
Definition: extendedAttributesInitializer.h:200
static DtTime thePrevExConnInitTime
Definition: extendedAttributesInitializer.h:256
virtual void setPublisherStateRepCreator()=0
Sets the state rep creator for the associated publisher. Specific to a particular publisher class and...
DtBoost::shared_ptr< DtExtendedAttributesInitializer > DtExtendedAttributesInitializerPtr
Definition: extendedAttributesInitializer.h:147
static bool theExConnNeedsInit
Definition: extendedAttributesInitializer.h:313
The extended attributes initializer for aggregate objects.
Definition: extendedAttributesInitializer.h:206
static tbb::spin_mutex & GlobalHLAMutex()
Definition: extendedAttributesInitializer.h:49
virtual const DtString & reflectedListName() const =0
The name of the reflected list class in VR-Link.
DtExtendedAttributesInitializer performs all initialization required to register publishers, reflected lists, state repositories, encoders, and decoders for a set of object classes that should support extended attributes.
Definition: extendedAttributesInitializer.h:25
static bool theExConnNeedsInit
Definition: extendedAttributesInitializer.h:257
DtBoost::shared_ptr< DtObjectClassChooser > DtObjectClassChooserPtr
Definition: vrfObjectClassChooser.h:46
virtual std::map< DtString, RTI::AttributeHandle > attributeNameToHandleMap(const RTI::ObjectClassHandle &classHdl) const =0
Gets the current attribute name to handle mapping for the object class. Specific to a particular stat...
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23
std::list< DtString > myFullBaseClassNames
Definition: extendedAttributesInitializer.h:140