VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | 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. More...

Inheritance diagram for DtExtendedAttributesInitializer:
Inheritance graph
[legend]

Public Member Functions

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

Protected Member Functions

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

Protected Attributes

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

Static Protected Attributes

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

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

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

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
DtString DtExtendedAttributesInitializer::theExtendedAttributesClassName
staticprotected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)