MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Private Attributes
DtInteractionClassInfo Class Reference
+ Collaboration diagram for DtInteractionClassInfo:

Public Member Functions

 DtInteractionClassInfo (const char *name, DtInteractionClassInfo *base, DtInteractionClassHandle handle, DtSharingType sharing, MAKRti::DtString semantics, MAKRti::DtTransportType transport, MAKRti::DtOrderType order)
 Constructors.
 DtInteractionClassInfo (const DtInteractionClassInfo &orig)
 Copy constructor (not implemented)
DtInteractionClassInfooperator= (const DtInteractionClassInfo &orig)
 Assignment operator (not implemented)
virtual ~DtInteractionClassInfo ()
 Destructor.
virtual void setFomType (MAKRti::DtFomType type)
virtual MAKRti::DtFomType fomType () const
virtual void addParam (const char *paramName, const char *semantics, bool addSorted)
 Adds an parameter to the class (called during FED processing).
virtual void addSubclass (DtInteractionClassInfo *sub)
 Add a subclass (called during FED processing).
virtual DtDimensionHandleSet
const & 
dimensions () const
 Set/Get dimensions.
virtual void setDimensions (DtDimensionHandleSet const &dimList)
virtual void addDimension (DtDimensionHandle dimHandle)
 Add/Remove a dimesion handle.
virtual void removeDimension (DtDimensionHandle dimHandle)
virtual const char * name () const
 Return class name, as in FED.
virtual bool isName (const char *name) const
 Return boolean: name matches? Compare depends on FOM type: insensitive for 1.3 and sensitive for 1516 Root name is prepended to name if necessary.
virtual bool isFullName (const char *name) const
 Root name is required.
virtual DtParameterHandle paramHandle (const char *theName)
 Get parameter handle from name.
virtual char * paramName (DtParameterHandle theHandle)
 Get parameter name from handle.
virtual DtInteractionClassHandle handle () const
 Get/set class handle.
virtual void setHandle (DtInteractionClassHandle handleValue)
virtual DtInteractionClassHandle discoveredHandle () const
 Get/set discovered class handle This value is always 0 if isUnknown() is false.
virtual void setDiscoveredHandle (DtInteractionClassHandle handleValue)
virtual DtInteractionClassInfobaseClass () const
 Return pointer to base class descriptor.
virtual void setBaseClass (DtInteractionClassInfo *base)
 Set base class pointer (User should not need to call this);.
virtual MAKRti::DtList * subclasses ()
 Return list of subclasses.
virtual int isOfClass (DtInteractionClassHandle handle) const
 Returns 1 if this class is handle or is a subclass of handle.
virtual void publish (DtInteractionMgr *interMgr)
 Publish and unpublish.
virtual void unpublish ()
virtual int published () const
 Return 1 if we are publishing this class, 0 otherwise.
virtual void subscribe (bool active)
 Subscribe and unsubscribe.
virtual void unsubscribe ()
virtual int subscribed () const
 Return 1 if we are subscribed to this class, 0 otherwise.
virtual void remoteSubscribe (DtFederateHandle fedHandle, DtInteractionMgr *interMgr)
 Call when another federate subscribes to this class actively.
virtual void remotePassiveSubscribe (DtFederateHandle fedHandle, DtInteractionMgr *interMgr)
 Call when another federate subscribes to this class passively.
virtual void remoteUnsubscribe (DtFederateHandle fedHandle, DtInteractionMgr *interMgr, bool forSmartForwarding)
 Call when another federate unsubscribes to this class.
virtual bool remoteFederateIsSubscribed (DtFederateHandle fedHandle) const
 Returns true if the remote federate is subscribed to this class.
virtual int numRemoteFederatesSubscribed () const
 Returns number of remote federates subscribed to this class.
virtual const MAKRti::DtList & subscribedFederates () const
 Returns a list of federates who are subscribed to this interaction.
virtual bool relevant () const
 Returns true if the class is relevant, false otherwise.
virtual DtParamInfoparamByName (const char *theName)
 Get parameter descriptor by name or handle.
virtual DtParamInfoparamByHandle (const DtParameterHandle theHandle)
virtual MAKRti::DtTransportType transport () const
 Set/Get transport type representing transport mechanism.
virtual void setTransport (MAKRti::DtTransportType theTransport)
DtSharingType sharing () const
void setSharing (const DtSharingType sharing)
const char * semantics () const
void setSemantics (const MAKRti::DtString &semantics)
virtual MAKRti::DtOrderType order () const
 Set/Get order type.
virtual void setOrder (MAKRti::DtOrderType theOrder)
virtual void setSpaceHandle (DtSpaceHandle spaceHandleValue)
 Return the space handle.
virtual DtSpaceHandle spaceHandle () const
virtual MAKRti::DtInetAddr destinationAddress () const
 set the destination to send to when using DM Filtering
virtual MAKRti::DtInetAddr destinationDevice () const
virtual void setDestination (MAKRti::DtInetAddr addr, MAKRti::DtInetAddr devAddr, bool inclusive, MAKRti::DtInetAddr oldAddr, MAKRti::DtInetAddr oldDevAddr)
virtual int subscribedWithRegion () const
 Return 1 if we are subscribed to this class with region, 0 otherwise.
virtual int numParameters () const
 Returns the number of parameters.
virtual DtParamVector const & params () const
 Returns the list of parameters.
virtual DtBitMask getDestinations (bool includeBaseClass=true) const
 Get the list of remote subscribers to the class = update destinations The base class destination masks are added unless specified otherwise.
virtual void forceDestinations (DtBitMask const &mask, MAKRti::DtTime delay)
 Temporarily force destinations with this mask for given delay A negative time delay will force the destinations indefinitely.
virtual void overrideDestinations (DtBitMask const &mask)
 Permanently override destinations with given mask.
virtual void clearDestinationOverride ()
 Remove destination override.
virtual bool save (DtRtiSaveFile &file)
 save and restore
virtual bool restore (DtInteractionClassPacket *packet)
virtual void print () const
 Print the contents.
virtual bool sameAncestry (const DtInteractionClassInfo *) const
 Test for equality.
bool operator== (const DtInteractionClassInfo &other) const
bool operator!= (const DtInteractionClassInfo &other) const
bool isScaffolding () const
 Determines whether the class is a scaffolding class.
bool isUnknown () const
 Determines whether this class is an unknown class, merely present to indicate that it is in other FOM modules not in use by this federate.
void setIsUnknown (bool unknown)

Protected Member Functions

virtual void addRemoteSubscription (DtFederateHandle fedHandle)
 Add/delete remote subscription to this class by indicated federate.
virtual void addRemotePassiveSubscription (DtFederateHandle fedHandle)
virtual void deleteRemoteSubscription (DtFederateHandle fedHandle, bool isForSmartForwarding=false)
virtual void updateRelevance (DtInteractionMgr *interMgr)
 Update the relevance field of this class and all subclasses, based on current subscriptions.
void addParamSorted (const char *paramName, MAKRti::DtString semantics)
 Insert Parameters in sorted or unsorted (deprecated) order.
void addParamUnsorted (const char *paramName, MAKRti::DtString semantics)

Static Protected Member Functions

static bool sameInteractionClass (const DtInteractionClassInfo &, const DtInteractionClassInfo &)
static bool sameParamsUnsorted (const std::vector< DtParamInfo > &, const std::vector< DtParamInfo > &)
static bool sameParamsSorted (const std::vector< DtParamInfo > &, const std::vector< DtParamInfo > &)

Protected Attributes

MAKRti::DtString myName
DtInteractionClassHandle myHandle
DtInteractionClassHandle myDiscoveredHandle
DtSpaceHandle mySpaceHandle
DtDimensionHandleSet myDimensions
MAKRti::DtFomType myFomType
DtSubcribeInteractionType mySubscribed
int myPublished
DtInteractionClassInfomyBase
MAKRti::DtList mySubclasses
MAKRti::DtTransportType myTransport
MAKRti::DtString mySemantics
DtSharingType mySharing
MAKRti::DtOrderType myOrder
DtParamVector myParams
int myFirstParam
MAKRti::DtHashlist myRemoteSubscriptions
MAKRti::DtHashlist myRemotePassiveSubscriptions
DtBitMask myRemoteSubscriberMask
DtBitMaskmyForceDestinationsMask
 Create this bit mask to temporarily force destinations after publish.
DtBitMaskmyOverrideDestinationsMask
 Create this bit mask to permanently override destinations.
MAKRti::DtTime myForceDestinationsTime
bool myRelevant
MAKRti::DtInetAddr myAddr
MAKRti::DtInetAddr myDevAddr
MAKRti::DtClock myClock
bool myIsUnknown
 Indicates whether this class is an unknown class, merely present to indicate that it is in other FOM modules not in use by this federate.

Static Private Attributes

static const unsigned int theMaxParams

Constructor & Destructor Documentation

DtInteractionClassInfo::DtInteractionClassInfo ( const char *  name,
DtInteractionClassInfo base,
DtInteractionClassHandle  handle,
DtSharingType  sharing,
MAKRti::DtString  semantics,
MAKRti::DtTransportType  transport,
MAKRti::DtOrderType  order 
)

Constructors.

DtInteractionClassInfo::DtInteractionClassInfo ( const DtInteractionClassInfo orig)

Copy constructor (not implemented)

virtual DtInteractionClassInfo::~DtInteractionClassInfo ( )
virtual

Destructor.

Member Function Documentation

virtual void DtInteractionClassInfo::addDimension ( DtDimensionHandle  dimHandle)
virtual

Add/Remove a dimesion handle.

virtual void DtInteractionClassInfo::addParam ( const char *  paramName,
const char *  semantics,
bool  addSorted 
)
virtual

Adds an parameter to the class (called during FED processing).

void DtInteractionClassInfo::addParamSorted ( const char *  paramName,
MAKRti::DtString  semantics 
)
protected

Insert Parameters in sorted or unsorted (deprecated) order.

void DtInteractionClassInfo::addParamUnsorted ( const char *  paramName,
MAKRti::DtString  semantics 
)
protected
virtual void DtInteractionClassInfo::addRemotePassiveSubscription ( DtFederateHandle  fedHandle)
protectedvirtual
virtual void DtInteractionClassInfo::addRemoteSubscription ( DtFederateHandle  fedHandle)
protectedvirtual

Add/delete remote subscription to this class by indicated federate.

virtual void DtInteractionClassInfo::addSubclass ( DtInteractionClassInfo sub)
virtual

Add a subclass (called during FED processing).

virtual DtInteractionClassInfo* DtInteractionClassInfo::baseClass ( ) const
virtual

Return pointer to base class descriptor.

virtual void DtInteractionClassInfo::clearDestinationOverride ( )
virtual

Remove destination override.

virtual void DtInteractionClassInfo::deleteRemoteSubscription ( DtFederateHandle  fedHandle,
bool  isForSmartForwarding = false 
)
protectedvirtual
virtual MAKRti::DtInetAddr DtInteractionClassInfo::destinationAddress ( ) const
virtual

set the destination to send to when using DM Filtering

virtual MAKRti::DtInetAddr DtInteractionClassInfo::destinationDevice ( ) const
virtual
virtual DtDimensionHandleSet const& DtInteractionClassInfo::dimensions ( ) const
virtual

Set/Get dimensions.

virtual DtInteractionClassHandle DtInteractionClassInfo::discoveredHandle ( ) const
virtual

Get/set discovered class handle This value is always 0 if isUnknown() is false.

virtual MAKRti::DtFomType DtInteractionClassInfo::fomType ( ) const
virtual
virtual void DtInteractionClassInfo::forceDestinations ( DtBitMask const &  mask,
MAKRti::DtTime  delay 
)
virtual

Temporarily force destinations with this mask for given delay A negative time delay will force the destinations indefinitely.

virtual DtBitMask DtInteractionClassInfo::getDestinations ( bool  includeBaseClass = true) const
virtual

Get the list of remote subscribers to the class = update destinations The base class destination masks are added unless specified otherwise.

virtual DtInteractionClassHandle DtInteractionClassInfo::handle ( ) const
virtual

Get/set class handle.

virtual bool DtInteractionClassInfo::isFullName ( const char *  name) const
virtual

Root name is required.

virtual bool DtInteractionClassInfo::isName ( const char *  name) const
virtual

Return boolean: name matches? Compare depends on FOM type: insensitive for 1.3 and sensitive for 1516 Root name is prepended to name if necessary.

virtual int DtInteractionClassInfo::isOfClass ( DtInteractionClassHandle  handle) const
virtual

Returns 1 if this class is handle or is a subclass of handle.

bool DtInteractionClassInfo::isScaffolding ( ) const

Determines whether the class is a scaffolding class.

bool DtInteractionClassInfo::isUnknown ( ) const

Determines whether this class is an unknown class, merely present to indicate that it is in other FOM modules not in use by this federate.

virtual const char* DtInteractionClassInfo::name ( ) const
virtual

Return class name, as in FED.

virtual int DtInteractionClassInfo::numParameters ( ) const
virtual

Returns the number of parameters.

virtual int DtInteractionClassInfo::numRemoteFederatesSubscribed ( ) const
virtual

Returns number of remote federates subscribed to this class.

bool DtInteractionClassInfo::operator!= ( const DtInteractionClassInfo other) const
DtInteractionClassInfo& DtInteractionClassInfo::operator= ( const DtInteractionClassInfo orig)

Assignment operator (not implemented)

bool DtInteractionClassInfo::operator== ( const DtInteractionClassInfo other) const
virtual MAKRti::DtOrderType DtInteractionClassInfo::order ( ) const
virtual

Set/Get order type.

virtual void DtInteractionClassInfo::overrideDestinations ( DtBitMask const &  mask)
virtual

Permanently override destinations with given mask.

virtual DtParamInfo* DtInteractionClassInfo::paramByHandle ( const DtParameterHandle  theHandle)
virtual
virtual DtParamInfo* DtInteractionClassInfo::paramByName ( const char *  theName)
virtual

Get parameter descriptor by name or handle.

virtual DtParameterHandle DtInteractionClassInfo::paramHandle ( const char *  theName)
virtual

Get parameter handle from name.

virtual char* DtInteractionClassInfo::paramName ( DtParameterHandle  theHandle)
virtual

Get parameter name from handle.

virtual DtParamVector const& DtInteractionClassInfo::params ( ) const
virtual

Returns the list of parameters.

virtual void DtInteractionClassInfo::print ( ) const
virtual

Print the contents.

virtual void DtInteractionClassInfo::publish ( DtInteractionMgr interMgr)
virtual

Publish and unpublish.

virtual int DtInteractionClassInfo::published ( ) const
virtual

Return 1 if we are publishing this class, 0 otherwise.

virtual bool DtInteractionClassInfo::relevant ( ) const
virtual

Returns true if the class is relevant, false otherwise.

virtual bool DtInteractionClassInfo::remoteFederateIsSubscribed ( DtFederateHandle  fedHandle) const
virtual

Returns true if the remote federate is subscribed to this class.

virtual void DtInteractionClassInfo::remotePassiveSubscribe ( DtFederateHandle  fedHandle,
DtInteractionMgr interMgr 
)
virtual

Call when another federate subscribes to this class passively.

Simply stores passive subscription, does not updateRelevance.

virtual void DtInteractionClassInfo::remoteSubscribe ( DtFederateHandle  fedHandle,
DtInteractionMgr interMgr 
)
virtual

Call when another federate subscribes to this class actively.

Updates subscriptions for this class, then calls updateRelevance.

virtual void DtInteractionClassInfo::remoteUnsubscribe ( DtFederateHandle  fedHandle,
DtInteractionMgr interMgr,
bool  forSmartForwarding 
)
virtual

Call when another federate unsubscribes to this class.

Updates subscriptions for this class, then calls updateRelevance.

virtual void DtInteractionClassInfo::removeDimension ( DtDimensionHandle  dimHandle)
virtual
virtual bool DtInteractionClassInfo::restore ( DtInteractionClassPacket packet)
virtual
virtual bool DtInteractionClassInfo::sameAncestry ( const DtInteractionClassInfo ) const
virtual

Test for equality.

static bool DtInteractionClassInfo::sameInteractionClass ( const DtInteractionClassInfo ,
const DtInteractionClassInfo  
)
staticprotected
static bool DtInteractionClassInfo::sameParamsSorted ( const std::vector< DtParamInfo > &  ,
const std::vector< DtParamInfo > &   
)
staticprotected
static bool DtInteractionClassInfo::sameParamsUnsorted ( const std::vector< DtParamInfo > &  ,
const std::vector< DtParamInfo > &   
)
staticprotected
virtual bool DtInteractionClassInfo::save ( DtRtiSaveFile file)
virtual

save and restore

const char* DtInteractionClassInfo::semantics ( ) const
virtual void DtInteractionClassInfo::setBaseClass ( DtInteractionClassInfo base)
virtual

Set base class pointer (User should not need to call this);.

virtual void DtInteractionClassInfo::setDestination ( MAKRti::DtInetAddr  addr,
MAKRti::DtInetAddr  devAddr,
bool  inclusive,
MAKRti::DtInetAddr  oldAddr,
MAKRti::DtInetAddr  oldDevAddr 
)
virtual
virtual void DtInteractionClassInfo::setDimensions ( DtDimensionHandleSet const &  dimList)
virtual
virtual void DtInteractionClassInfo::setDiscoveredHandle ( DtInteractionClassHandle  handleValue)
virtual
virtual void DtInteractionClassInfo::setFomType ( MAKRti::DtFomType  type)
virtual
virtual void DtInteractionClassInfo::setHandle ( DtInteractionClassHandle  handleValue)
virtual
void DtInteractionClassInfo::setIsUnknown ( bool  unknown)
virtual void DtInteractionClassInfo::setOrder ( MAKRti::DtOrderType  theOrder)
virtual
void DtInteractionClassInfo::setSemantics ( const MAKRti::DtString &  semantics)
void DtInteractionClassInfo::setSharing ( const DtSharingType  sharing)
virtual void DtInteractionClassInfo::setSpaceHandle ( DtSpaceHandle  spaceHandleValue)
virtual

Return the space handle.

virtual void DtInteractionClassInfo::setTransport ( MAKRti::DtTransportType  theTransport)
virtual
DtSharingType DtInteractionClassInfo::sharing ( ) const
virtual DtSpaceHandle DtInteractionClassInfo::spaceHandle ( ) const
virtual
virtual MAKRti::DtList* DtInteractionClassInfo::subclasses ( )
virtual

Return list of subclasses.

virtual void DtInteractionClassInfo::subscribe ( bool  active)
virtual

Subscribe and unsubscribe.

virtual int DtInteractionClassInfo::subscribed ( ) const
virtual

Return 1 if we are subscribed to this class, 0 otherwise.

virtual const MAKRti::DtList& DtInteractionClassInfo::subscribedFederates ( ) const
virtual

Returns a list of federates who are subscribed to this interaction.

virtual int DtInteractionClassInfo::subscribedWithRegion ( ) const
virtual

Return 1 if we are subscribed to this class with region, 0 otherwise.

virtual MAKRti::DtTransportType DtInteractionClassInfo::transport ( ) const
virtual

Set/Get transport type representing transport mechanism.

virtual void DtInteractionClassInfo::unpublish ( )
virtual
virtual void DtInteractionClassInfo::unsubscribe ( )
virtual
virtual void DtInteractionClassInfo::updateRelevance ( DtInteractionMgr interMgr)
protectedvirtual

Update the relevance field of this class and all subclasses, based on current subscriptions.

Add pending turnOn/OffInteractions when appropriate.

Member Data Documentation

MAKRti::DtInetAddr DtInteractionClassInfo::myAddr
protected
DtInteractionClassInfo* DtInteractionClassInfo::myBase
protected
MAKRti::DtClock DtInteractionClassInfo::myClock
protected
MAKRti::DtInetAddr DtInteractionClassInfo::myDevAddr
protected
DtDimensionHandleSet DtInteractionClassInfo::myDimensions
protected
DtInteractionClassHandle DtInteractionClassInfo::myDiscoveredHandle
protected
int DtInteractionClassInfo::myFirstParam
protected
MAKRti::DtFomType DtInteractionClassInfo::myFomType
protected
DtBitMask* DtInteractionClassInfo::myForceDestinationsMask
protected

Create this bit mask to temporarily force destinations after publish.

MAKRti::DtTime DtInteractionClassInfo::myForceDestinationsTime
protected
DtInteractionClassHandle DtInteractionClassInfo::myHandle
protected
bool DtInteractionClassInfo::myIsUnknown
protected

Indicates whether this class is an unknown class, merely present to indicate that it is in other FOM modules not in use by this federate.

MAKRti::DtString DtInteractionClassInfo::myName
protected
MAKRti::DtOrderType DtInteractionClassInfo::myOrder
protected
DtBitMask* DtInteractionClassInfo::myOverrideDestinationsMask
protected

Create this bit mask to permanently override destinations.

DtParamVector DtInteractionClassInfo::myParams
protected
int DtInteractionClassInfo::myPublished
protected
bool DtInteractionClassInfo::myRelevant
protected
MAKRti::DtHashlist DtInteractionClassInfo::myRemotePassiveSubscriptions
protected
DtBitMask DtInteractionClassInfo::myRemoteSubscriberMask
protected
MAKRti::DtHashlist DtInteractionClassInfo::myRemoteSubscriptions
protected
MAKRti::DtString DtInteractionClassInfo::mySemantics
protected
DtSharingType DtInteractionClassInfo::mySharing
protected
DtSpaceHandle DtInteractionClassInfo::mySpaceHandle
protected
MAKRti::DtList DtInteractionClassInfo::mySubclasses
protected
DtSubcribeInteractionType DtInteractionClassInfo::mySubscribed
protected
MAKRti::DtTransportType DtInteractionClassInfo::myTransport
protected
const unsigned int DtInteractionClassInfo::theMaxParams
staticprivate

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

Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)