VR-Vantage 3.0 API Documentation
 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 Reference

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. More...

Inheritance diagram for DtExtendedAttributesInitializer:
Inheritance graph
[legend]

Public Member Functions

 DtExtendedAttributesInitializer ()
 Constructor.
virtual ~DtExtendedAttributesInitializer ()
 Destructor.
virtual void initialize (DtExerciseConn *exConn)
 Performs initialization.
virtual void setObjectClassChooser (DtObjectClassChooserPtr chooser)
 Specifies an object class chooser to choose what object class to publish.
virtual void addSupportedClass (const DtString &fullClassName, bool addSubclasses=false)
 Adds a new FOM class to be supported.

Static Public Member Functions

static tbb::spin_mutex & GlobalHLAMutex ()

Protected Member Functions

virtual bool needsInitialization (DtExerciseConn *exConn)
 These functions are called within initialize().
virtual const DtStringpublisherName () const =0
 The name of the publisher class in VR-Link.
virtual const DtStringreflectedListName () const =0
 The name of the reflected list class in VR-Link.
virtual const DtStringdefaultBaseObjectClass () const =0
 The base object class that is supported by default. All subclasses will also be supported.
virtual void setUnknownAttributeFunctions (DtObjClassDesc *desc)=0
 Sets the unknown attribute checker, encoder, and decoder functions in order to process them as extended attributes.
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.
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.
virtual void setPublisherStateRepCreator ()=0
 Sets the state rep creator for the associated publisher.
virtual void setReflectedObjectStateRepCreator ()=0
 Sets the state rep creator for the associated reflected object.
virtual bool areClassNamesEquivalent (const DtString &, const DtString &) const
 These functions are called within initialize() to perform specific aspects of the process.
virtual void addSupportedSubclasses (DtExerciseConn *exConn)
 Finds all subclasses for supported base classes and adds them to the list of supported object classes.
virtual void initializeObjectClassChooser (DtExerciseConn *exConn)
 Initializes the object class chooser for the publisher.
virtual void initializeObjectClasses (DtExerciseConn *exConn)
 Initializes the object classes by specifying unknown attribute functions and setting up attribute mappings.
virtual void initializeAttributes (DtObjClassDesc *desc)
 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 initializeExtendedAttributes (DtExerciseConn *exConn)
 Initializes the attributes for extended attributes that are sent via an associated ExtendedAttributes object.

Protected Attributes

bool myNeedsInitialization
DtObjectClassChooserPtr myObjectClassChooser
std::list< DtStringmyFullBaseClassNames
std::list< DtStringmyFullClassNames

Static Protected Attributes

static tbb::spin_mutex theGlobalHLAMutex
static DtString theExtendedAttributesClassName

Detailed Description

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.

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

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 std::map<DtString, RTI::AttributeHandle> DtExtendedAttributesInitializer::attributeNameToHandleMap ( const RTI::ObjectClassHandle &  classHdl) const
protectedpure virtual

Gets the current attribute name to handle mapping for the object class.

Specific to a particular state repository class.

Implemented in DtControlObjectExtendedAttributesInitializer, DtAggregateExtendedAttributesInitializer, and DtEntityExtendedAttributesInitializer.

virtual void DtExtendedAttributesInitializer::setAttributeNameToHandleMap ( const RTI::ObjectClassHandle &  classHdl,
const std::map< DtString, RTI::AttributeHandle > &  mapping 
)
protectedpure virtual

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

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, and DtEntityExtendedAttributesInitializer.

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, and DtEntityExtendedAttributesInitializer.

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

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


Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)