10 #include <vlutil/vlString.h>
11 #include <vlutil/vlSmartPointers.h>
12 #include <vlutil/vlTime.h>
16 #include <tbb/spin_mutex.h>
43 virtual void initialize(DtExerciseConn* exConn);
53 virtual void addSupportedClass(
const DtString& fullClassName,
bool addSubclasses =
false);
58 const RTI::ObjectClassHandle& classHdl)
const;
66 return theGlobalHLAMutex;
71 return theExtendedAttributesClassName;
84 virtual bool needsInitialization(DtExerciseConn* exConn);
87 virtual const DtString& publisherName()
const = 0;
91 virtual const DtString& reflectedListName()
const = 0;
94 virtual const DtString& defaultBaseObjectClass()
const = 0;
99 virtual void setUnknownAttributeFunctions(DtObjClassDesc* desc) = 0;
104 virtual void setPublisherStateRepCreator() = 0;
108 virtual void setReflectedObjectStateRepCreator() = 0;
123 virtual void addSupportedSubclasses(DtExerciseConn* exConn);
126 virtual void initializeObjectClassChooser(DtExerciseConn* exConn);
130 virtual void initializeObjectClasses(DtExerciseConn* exConn);
134 virtual void initializeAttributes(DtObjClassDesc* desc);
138 virtual void initializeExtendedAttributes(DtExerciseConn* exConn);
144 virtual void initializeVariableRecordFactory(DtExerciseConn* exConn);
static tbb::spin_mutex theGlobalHLAMutex
Definition: extendedAttributesInitializer.h:153
std::map< DtString, RTI::AttributeHandle > DtAttributeNameToHandleMap
Definition: extendedAttributesInitializer.h:20
The extended attributes initializer for entity objects.
Definition: extendedAttributesInitializer.h:165
virtual void setReflectedObjectStateRepCreator()=0
Sets the state rep creator for the associated reflected object. Specific to a particular reflected ob...
std::shared_ptr< DtAttributeNameToHandleMap > DtAttributeNameToHandleMapPtr
Definition: extendedAttributesInitializer.h:24
std::list< DtString > myFullClassNames
Definition: extendedAttributesInitializer.h:152
std::map< RTI::ObjectClassHandle, DtAttributeNameToHandleMapPtr > DtClassAttributeNameToHandleMap
Definition: extendedAttributesInitializer.h:25
bool myNeedsInitialization
Definition: extendedAttributesInitializer.h:148
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:150
std::shared_ptr< DtObjectClassChooser > DtObjectClassChooserPtr
Definition: objectClassChooser.h:49
static DtString theExtendedAttributesClassName
Definition: extendedAttributesInitializer.h:154
The extended attributes initializer for control objects.
Definition: extendedAttributesInitializer.h:259
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:207
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:300
DtClassAttributeNameToHandleMap myAttributeHandlesByName
A map of attribute handles by name for each object class supported by this repository. This is static since it can be shared by all state repositories of this type.
Definition: extendedAttributesInitializer.h:158
static DtTime thePrevExConnInitTime
Definition: extendedAttributesInitializer.h:206
static DtTime thePrevExConnInitTime
Definition: extendedAttributesInitializer.h:253
static const DtString & ExtendedAttributesClassName()
Definition: extendedAttributesInitializer.h:69
virtual void setPublisherStateRepCreator()=0
Sets the state rep creator for the associated publisher. Specific to a particular publisher class and...
static bool theExConnNeedsInit
Definition: extendedAttributesInitializer.h:301
std::shared_ptr< DtExtendedAttributesInitializer > DtExtendedAttributesInitializerPtr
Definition: extendedAttributesInitializer.h:162
The extended attributes initializer for aggregate objects.
Definition: extendedAttributesInitializer.h:212
static tbb::spin_mutex & GlobalHLAMutex()
Definition: extendedAttributesInitializer.h:64
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:31
static bool theExConnNeedsInit
Definition: extendedAttributesInitializer.h:254
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23
std::list< DtString > myFullBaseClassNames
Definition: extendedAttributesInitializer.h:151