VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes
DtExtendedAttributesInitializer Class Referenceabstract

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.

Inheritance diagram for DtExtendedAttributesInitializer:
Inheritance graph
[legend]

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 ()
 

Protected Member Functions

virtual bool needsInitialization (DtExerciseConn *exConn)
 
virtual const DtStringpublisherName () const =0
 
virtual const DtStringreflectedListName () const =0
 
virtual const DtStringdefaultBaseObjectClass () 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< DtStringmyFullBaseClassNames
 
std::list< DtStringmyFullClassNames
 
DtClassAttributeNameToHandleMap myAttributeHandlesByName
 

Static Protected Attributes

static tbb::spin_mutex theGlobalHLAMutex
 
static DtString theExtendedAttributesClassName
 

Constructor & Destructor Documentation

DtExtendedAttributesInitializer::DtExtendedAttributesInitializer ( )

Constructor.

virtual DtExtendedAttributesInitializer::~DtExtendedAttributesInitializer ( )
virtual

Destructor.

Member Function Documentation

virtual void DtExtendedAttributesInitializer::initialize ( DtExerciseConn *  exConn)
virtual

Performs initialization. Generally only needs to be run once per publisher/reflected list/state rep type.

virtual void DtExtendedAttributesInitializer::setObjectClassChooser ( DtObjectClassChooserPtr  chooser)
virtual

Specifies an object class chooser to choose what object class to publish. Must be called prior to initialize().

virtual void DtExtendedAttributesInitializer::addSupportedClass ( const DtString fullClassName,
bool  addSubclasses = false 
)
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 DtAttributeNameToHandleMapPtr DtExtendedAttributesInitializer::attributeNameToHandleMap ( const RTI::ObjectClassHandle &  classHdl) const
virtual

Gets the current attribute name to handle mapping for the object class. Returns a nullptr if not found.

virtual void DtExtendedAttributesInitializer::setAttributeNameToHandleMap ( const RTI::ObjectClassHandle &  classHdl,
const DtAttributeNameToHandleMap mapping 
)
virtual

Sets the attribute name to handle mapping for the object class.

static tbb::spin_mutex& DtExtendedAttributesInitializer::GlobalHLAMutex ( )
inlinestatic
virtual bool DtExtendedAttributesInitializer::needsInitialization ( DtExerciseConn *  exConn)
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.

virtual const DtString& DtExtendedAttributesInitializer::publisherName ( ) const
protectedpure virtual
virtual const DtString& DtExtendedAttributesInitializer::reflectedListName ( ) const
protectedpure virtual
virtual const DtString& DtExtendedAttributesInitializer::defaultBaseObjectClass ( ) const
protectedpure virtual

The base object class that is supported by default. All subclasses will also be supported.

Implemented in DtControlObjectExtendedAttributesInitializer, DtAggregateExtendedAttributesInitializer, and DtEntityExtendedAttributesInitializer.

virtual void DtExtendedAttributesInitializer::setUnknownAttributeFunctions ( DtObjClassDesc *  desc)
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.

virtual void DtExtendedAttributesInitializer::setPublisherStateRepCreator ( )
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.

virtual void DtExtendedAttributesInitializer::setReflectedObjectStateRepCreator ( )
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.

virtual bool DtExtendedAttributesInitializer::areClassNamesEquivalent ( const DtString ,
const DtString  
) const
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.

virtual void DtExtendedAttributesInitializer::addSupportedSubclasses ( DtExerciseConn *  exConn)
protectedvirtual

Finds all subclasses for supported base classes and adds them to the list of supported object classes.

virtual void DtExtendedAttributesInitializer::initializeObjectClassChooser ( DtExerciseConn *  exConn)
protectedvirtual

Initializes the object class chooser for the publisher.

virtual void DtExtendedAttributesInitializer::initializeObjectClasses ( DtExerciseConn *  exConn)
protectedvirtual

Initializes the object classes by specifying unknown attribute functions and setting up attribute mappings.

virtual void DtExtendedAttributesInitializer::initializeAttributes ( DtObjClassDesc *  desc)
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.

virtual void DtExtendedAttributesInitializer::initializeExtendedAttributes ( DtExerciseConn *  exConn)
protectedvirtual

Initializes the attributes for extended attributes that are sent via an associated ExtendedAttributes object.

Member Data Documentation

bool DtExtendedAttributesInitializer::myNeedsInitialization
protected
DtObjectClassChooserPtr DtExtendedAttributesInitializer::myObjectClassChooser
protected
std::list<DtString> DtExtendedAttributesInitializer::myFullBaseClassNames
protected
std::list<DtString> DtExtendedAttributesInitializer::myFullClassNames
protected
tbb::spin_mutex DtExtendedAttributesInitializer::theGlobalHLAMutex
staticprotected
DtString DtExtendedAttributesInitializer::theExtendedAttributesClassName
staticprotected
DtClassAttributeNameToHandleMap DtExtendedAttributesInitializer::myAttributeHandlesByName
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.


The documentation for this class was generated from the following file:

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)