![]() |
VR-Forces Developer's Guide
|
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.

Public Member Functions | |
| DtExtendedAttributesInitializer () | |
| virtual | ~DtExtendedAttributesInitializer () |
| virtual void | initialize (DtExerciseConn *exConn) |
| virtual void | setObjectClassChooser (DtObjectClassChooserPtr chooser) |
| virtual void | addSupportedClass (const DtString &fullClassName, bool addSubclasses=false) |
| virtual DtAttributeNameToHandleMapPtr | attributeNameToHandleMap (const RTI::ObjectClassHandle &classHdl) const |
| virtual void | setAttributeNameToHandleMap (const RTI::ObjectClassHandle &classHdl, const DtAttributeNameToHandleMap &mapping) |
Static Public Member Functions | |
| static tbb::spin_mutex & | GlobalHLAMutex () |
| static const DtString & | ExtendedAttributesClassName () |
Protected Member Functions | |
| virtual bool | needsInitialization (DtExerciseConn *exConn) |
| virtual const DtString & | publisherName () const =0 |
| virtual const DtString & | reflectedListName () const =0 |
| virtual const DtString & | defaultBaseObjectClass () const =0 |
| virtual void | setUnknownAttributeFunctions (DtObjClassDesc *desc)=0 |
| virtual void | setPublisherStateRepCreator ()=0 |
| virtual void | setReflectedObjectStateRepCreator ()=0 |
| virtual bool | areClassNamesEquivalent (const DtString &, const DtString &) const |
| virtual void | addSupportedSubclasses (DtExerciseConn *exConn) |
| virtual void | initializeObjectClassChooser (DtExerciseConn *exConn) |
| virtual void | initializeObjectClasses (DtExerciseConn *exConn) |
| virtual void | initializeAttributes (DtObjClassDesc *desc) |
| virtual void | initializeExtendedAttributes (DtExerciseConn *exConn) |
Protected Attributes | |
| bool | myNeedsInitialization |
| DtObjectClassChooserPtr | myObjectClassChooser |
| std::list< DtString > | myFullBaseClassNames |
| std::list< DtString > | myFullClassNames |
| DtClassAttributeNameToHandleMap | myAttributeHandlesByName |
Static Protected Attributes | |
| static tbb::spin_mutex | theGlobalHLAMutex |
| static DtString | theExtendedAttributesClassName |
| DtExtendedAttributesInitializer::DtExtendedAttributesInitializer | ( | ) |
Constructor.
|
virtual |
Destructor.
|
virtual |
Performs initialization. Generally only needs to be run once per publisher/reflected list/state rep type.
|
virtual |
Specifies an object class chooser to choose what object class to publish. Must be called prior to initialize().
|
virtual |
Adds a new FOM class to be supported. If addSubclasses is true, all subclasses of the class will also be supported. Must be called prior to initialize().
|
virtual |
Gets the current attribute name to handle mapping for the object class. Returns a nullptr if not found.
|
virtual |
Sets the attribute name to handle mapping for the object class.
|
inlinestatic |
|
inlinestatic |
|
protectedvirtual |
These functions are called within initialize(). Must be implemented in subclasses as they are specific to the publishers, reflected lists, and state repositories for a category of object.
Returns true if initialization needs to be performed. Default behavior is to always_noconv return true unless overridden in subclass.
Reimplemented in DtControlObjectExtendedAttributesInitializer, DtAggregateExtendedAttributesInitializer, and DtEntityExtendedAttributesInitializer.
|
protectedpure virtual |
The name of the publisher class in VR-Link.
Implemented in DtControlObjectExtendedAttributesInitializer, DtAggregateExtendedAttributesInitializer, and DtEntityExtendedAttributesInitializer.
|
protectedpure virtual |
The name of the reflected list class in VR-Link.
Implemented in DtControlObjectExtendedAttributesInitializer, DtAggregateExtendedAttributesInitializer, and DtEntityExtendedAttributesInitializer.
|
protectedpure virtual |
The base object class that is supported by default. All subclasses will also be supported.
Implemented in DtControlObjectExtendedAttributesInitializer, DtAggregateExtendedAttributesInitializer, and DtEntityExtendedAttributesInitializer.
|
protectedpure virtual |
Sets the unknown attribute checker, encoder, and decoder functions in order to process them as extended attributes. Specific to a particular state repository class.
Implemented in DtControlObjectExtendedAttributesInitializer, DtAggregateExtendedAttributesInitializer, and DtEntityExtendedAttributesInitializer.
|
protectedpure virtual |
Sets the state rep creator for the associated publisher. Specific to a particular publisher class and state repository class.
Implemented in DtControlObjectExtendedAttributesInitializer, DtAggregateExtendedAttributesInitializer, DtEntityExtendedAttributesInitializer, and DtEntityExtendedAttributesWithTemperatureInitializer.
|
protectedpure virtual |
Sets the state rep creator for the associated reflected object. Specific to a particular reflected object class and state repository class.
Implemented in DtControlObjectExtendedAttributesInitializer, DtAggregateExtendedAttributesInitializer, DtEntityExtendedAttributesInitializer, and DtEntityExtendedAttributesWithTemperatureInitializer.
|
protectedvirtual |
These functions are called within initialize() to perform specific aspects of the process. Can be overridden in subclasses, but is usually not necessary.
Utility function that returns true if the two strings correspond to the same full object class names.
|
protectedvirtual |
Finds all subclasses for supported base classes and adds them to the list of supported object classes.
|
protectedvirtual |
Initializes the object class chooser for the publisher.
|
protectedvirtual |
Initializes the object classes by specifying unknown attribute functions and setting up attribute mappings.
|
protectedvirtual |
Called by initializeObjectClasses() to set up the mapping of attribute handles to attribute names that is required to translate FOM class attributes into extended attributes.
|
protectedvirtual |
Initializes the attributes for extended attributes that are sent via an associated ExtendedAttributes object.
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
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.