10 #include <vlutil/vlString.h>
11 #include <vlutil/vlSmartPointers.h>
12 #include <vlutil/vlTime.h>
14 #include <boost/shared_ptr.hpp>
17 #include <tbb/spin_mutex.h>
44 virtual void initialize(DtExerciseConn* exConn);
54 virtual void addSupportedClass(
const DtString& fullClassName,
bool addSubclasses =
false);
59 const RTI::ObjectClassHandle& classHdl)
const;
67 return theGlobalHLAMutex;
80 virtual bool needsInitialization(DtExerciseConn* exConn);
83 virtual const DtString& publisherName()
const = 0;
87 virtual const DtString& reflectedListName()
const = 0;
90 virtual const DtString& defaultBaseObjectClass()
const = 0;
95 virtual void setUnknownAttributeFunctions(DtObjClassDesc* desc) = 0;
100 virtual void setPublisherStateRepCreator() = 0;
104 virtual void setReflectedObjectStateRepCreator() = 0;
119 virtual void addSupportedSubclasses(DtExerciseConn* exConn);
122 virtual void initializeObjectClassChooser(DtExerciseConn* exConn);
126 virtual void initializeObjectClasses(DtExerciseConn* exConn);
130 virtual void initializeAttributes(DtObjClassDesc* desc);
134 virtual void initializeExtendedAttributes(DtExerciseConn* exConn);
140 virtual void initializeVariableRecordFactory(DtExerciseConn* exConn);
static tbb::spin_mutex theGlobalHLAMutex
Definition: extendedAttributesInitializer.h:149
std::map< DtString, RTI::AttributeHandle > DtAttributeNameToHandleMap
Definition: extendedAttributesInitializer.h:21
The extended attributes initializer for entity objects.
Definition: extendedAttributesInitializer.h:161
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:148
std::map< RTI::ObjectClassHandle, DtAttributeNameToHandleMapPtr > DtClassAttributeNameToHandleMap
Definition: extendedAttributesInitializer.h:26
bool myNeedsInitialization
Definition: extendedAttributesInitializer.h:144
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:146
static DtString theExtendedAttributesClassName
Definition: extendedAttributesInitializer.h:150
The extended attributes initializer for control objects.
Definition: extendedAttributesInitializer.h:255
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:203
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:296
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:154
static DtTime thePrevExConnInitTime
Definition: extendedAttributesInitializer.h:202
static DtTime thePrevExConnInitTime
Definition: extendedAttributesInitializer.h:249
boost::shared_ptr< DtAttributeNameToHandleMap > DtAttributeNameToHandleMapPtr
Definition: extendedAttributesInitializer.h:25
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:158
static bool theExConnNeedsInit
Definition: extendedAttributesInitializer.h:297
The extended attributes initializer for aggregate objects.
Definition: extendedAttributesInitializer.h:208
static tbb::spin_mutex & GlobalHLAMutex()
Definition: extendedAttributesInitializer.h:65
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:32
static bool theExConnNeedsInit
Definition: extendedAttributesInitializer.h:250
DtBoost::shared_ptr< DtObjectClassChooser > DtObjectClassChooserPtr
Definition: vrfObjectClassChooser.h:46
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23
std::list< DtString > myFullBaseClassNames
Definition: extendedAttributesInitializer.h:147