VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtBaseTransferControlManager Class Referenceabstract
+ Inheritance diagram for DtBaseTransferControlManager:
+ Collaboration diagram for DtBaseTransferControlManager:

Public Member Functions

 DtBaseTransferControlManager (DtExerciseConn *exConn)
 
 ~DtBaseTransferControlManager ()
 
virtual void addTransferControlNotificationCallback (DtTransferControlInteractionCb usrCallback, void *user)
 Callbacks for transfer control interactions that are intended for this application. More...
 
virtual void addAcknowledgementNotificationCallback (DtAcknowledgeInteractionCb usrCallback, void *user)
 Callbacks for acknowledgement interactions that match up with requests made. More...
 
virtual void addSetRecordNotificationCallback (DtSetRecordInteractionCb usrCallback, void *user)
 Callbacks for set record interactions that match up with requests made. More...
 
virtual void processTransferControlRequest (DtTransferControlInteraction *tci)
 Processes incoming transfer control requests. More...
 
virtual bool processAcknowledge (DtAcknowledgeInteraction *tci)
 Processes incoming transfer control requests. More...
 
virtual void processSetRecord (DtSetRecordInteraction *setRec)
 Processes the incoming SetRecord interaction. Tracks the number of records for each individual request ID. More...
 
virtual void sendAcknowledgement (DtU32 requestIdentifier, bool approve, DtRecordSetList *recordSetList=nullptr, DtStateRepository *stateRepo=nullptr)
 Send an ackowledgement for a transfer control request specified by the requestIdentifier while indicating approval or disapproval of the transfer. More...
 
virtual void sendSetRecord (DtEntityIdentifier originatingApplicationId, DtU32 requestIdentifier, DtRecordSetList *recordSetList, DtStateRepository *stateRepo)
 Send out the SetRecord interaction for internal data. More...
 
virtual unsigned int sendTransferControlRequest (DtTransferControlInteraction *tci)
 Send the supplied transfer control request. More...
 
virtual unsigned int sendTransferControlRequest (DtEntityIdentifier receivingApplicationId, DtGlobalObjectDesignator transferredEntityId)
 Send a transfer control request with the supplied receiving application identifier and transferred entity identifier. More...
 
virtual
DtTransferControlInteraction
pendingOutgoingTransferRequest (DtU32 requestIdentifier)
 return a pointer to the pending outgoing transfer request with the given requestIdentifier. More...
 
virtual bool getSetRecordTracker (DtU32 requestIdentifier, DtSetRecordTracker &tracker)
 get a DtSetRecordTracker object for the given Request Identifier, returns a bool to indicate success or failure. More...
 
virtual void sendEventReport (DtGlobalObjectDesignator identifier)
 sends out a Ownership Event Report interaction, indicating the new owner of the indicated object More...
 
virtual void sendSetRecordInteraction (DtU32 requestIdentifier)=0
 Pure virtual functions that are protocol specific and must be defined in subclass. More...
 
virtual void invokeNewAndLostObjectCallbacks ()=0
 Post drain callback to return publisher objects through callbacks. More...
 
virtual DtU32 findRequestIdForObject (const DtGlobalObjectDesignator &objDesignator)
 
virtual bool removeObjectFromTransferredSet (const DtGlobalObjectDesignator &objectDesignator, DtU32 requestId)
 
virtual bool isTransferredSetEmpty (DtU32 requestIdentifier) const
 

Static Public Member Functions

static void transferControlRequestCallback (DtTransferControlInteraction *tci, void *user)
 Callback for incoming Transer Control Requests. More...
 
static void acknowledgeCallback (DtAcknowledgeInteraction *ack, void *user)
 Callback for incoming acknowledgement interactions. More...
 
static void setRecordCallback (DtSetRecordInteraction *setRec, void *user)
 Callback for incoming SetRecord interactions. More...
 
static void postDrainCallback (void *user)
 Post Drain callback. More...
 

Protected Member Functions

virtual void addOutgoingTransferControlRequest (DtTransferControlInteraction *tci)
 Adds the outoing transfer control interaction to a map of outgoing transfer control interactions, sorted by Request Identifier. More...
 
virtual void addIncomingTransferControlRequest (DtTransferControlInteraction *tci)
 Adds the incoming transfer control interaction to a map of incoming transfer control interactions, sorted by Request Identifier. More...
 
virtual void removeOutgoingTransferControlRequest (DtGlobalObjectDesignator identifier)
 Removes the outgoing transfer control interaction to a map of outgoing transfer control interactions, sorted by Request Identifier Called when a transfer completes, either successfully or unsucessfully. More...
 
virtual void removeIncomingTransferControlRequest (DtGlobalObjectDesignator identifier)
 Removes the incoming transfer control interaction to a map of incoming transfer control interactions, sorted by Request Identifier Called when a transfer completes, either successfully or unsucessfully. More...
 

Protected Attributes

DtExerciseConnmyExConn
 
std::list
< DtTransferControlCbInfo
myTransferControlNotificationCbList
 
std::list
< DtAcknowledgementCbInfo
myAcknowledgementNotificationCbList
 
std::list< DtSetRecordCbInfomySetRecordNotificationList
 
std::map< DtU32,
DtTransferControlInteraction
myIncomingTransferControlRequests
 
std::map< DtU32,
DtTransferControlInteraction
myOutgoingTransferControlRequests
 
std::map
< DtGlobalObjectDesignator,
DtU32
myObjectIdToRequestIdMap
 
std::map< DtU32,
DtSetRecordTracker
mySetRecordTrackerMap
 
std::map< DtU32, std::set
< DtGlobalObjectDesignator > > 
myRequestIdToTransferredObjectListMap
 

Private Member Functions

 DtBaseTransferControlManager (const DtBaseTransferControlManager &orig)
 copy constructor – Not Implemented More...
 
DtBaseTransferControlManageroperator= (const DtBaseTransferControlManager &orig)
 assignment operator – Not Implemented More...
 

Constructor & Destructor Documentation

DtBaseTransferControlManager::DtBaseTransferControlManager ( DtExerciseConn exConn)
DtBaseTransferControlManager::~DtBaseTransferControlManager ( )
DtBaseTransferControlManager::DtBaseTransferControlManager ( const DtBaseTransferControlManager orig)
private

copy constructor – Not Implemented

Member Function Documentation

static void DtBaseTransferControlManager::acknowledgeCallback ( DtAcknowledgeInteraction ack,
void *  user 
)
static

Callback for incoming acknowledgement interactions.

virtual void DtBaseTransferControlManager::addAcknowledgementNotificationCallback ( DtAcknowledgeInteractionCb  usrCallback,
void *  user 
)
virtual

Callbacks for acknowledgement interactions that match up with requests made.

virtual void DtBaseTransferControlManager::addIncomingTransferControlRequest ( DtTransferControlInteraction tci)
protectedvirtual

Adds the incoming transfer control interaction to a map of incoming transfer control interactions, sorted by Request Identifier.

virtual void DtBaseTransferControlManager::addOutgoingTransferControlRequest ( DtTransferControlInteraction tci)
protectedvirtual

Adds the outoing transfer control interaction to a map of outgoing transfer control interactions, sorted by Request Identifier.

virtual void DtBaseTransferControlManager::addSetRecordNotificationCallback ( DtSetRecordInteractionCb  usrCallback,
void *  user 
)
virtual

Callbacks for set record interactions that match up with requests made.

virtual void DtBaseTransferControlManager::addTransferControlNotificationCallback ( DtTransferControlInteractionCb  usrCallback,
void *  user 
)
virtual

Callbacks for transfer control interactions that are intended for this application.

virtual DtU32 DtBaseTransferControlManager::findRequestIdForObject ( const DtGlobalObjectDesignator objDesignator)
virtual
virtual bool DtBaseTransferControlManager::getSetRecordTracker ( DtU32  requestIdentifier,
DtSetRecordTracker tracker 
)
virtual

get a DtSetRecordTracker object for the given Request Identifier, returns a bool to indicate success or failure.

virtual void DtBaseTransferControlManager::invokeNewAndLostObjectCallbacks ( )
pure virtual

Post drain callback to return publisher objects through callbacks.

Virtual here since it is protocol specific. Defined in subclasses.

Implemented in DtTransferControlManager.

virtual bool DtBaseTransferControlManager::isTransferredSetEmpty ( DtU32  requestIdentifier) const
virtual
DtBaseTransferControlManager& DtBaseTransferControlManager::operator= ( const DtBaseTransferControlManager orig)
private

assignment operator – Not Implemented

virtual DtTransferControlInteraction* DtBaseTransferControlManager::pendingOutgoingTransferRequest ( DtU32  requestIdentifier)
virtual

return a pointer to the pending outgoing transfer request with the given requestIdentifier.

returns nullptr if no pending outgoing transfer request is found.

static void DtBaseTransferControlManager::postDrainCallback ( void *  user)
static

Post Drain callback.

virtual bool DtBaseTransferControlManager::processAcknowledge ( DtAcknowledgeInteraction tci)
virtual

Processes incoming transfer control requests.

If the ReceivingEntity identifier matches this federate's site:app the callbacks will be invoked.

virtual void DtBaseTransferControlManager::processSetRecord ( DtSetRecordInteraction setRec)
virtual

Processes the incoming SetRecord interaction. Tracks the number of records for each individual request ID.

Reimplemented in DtTransferControlManager.

virtual void DtBaseTransferControlManager::processTransferControlRequest ( DtTransferControlInteraction tci)
virtual

Processes incoming transfer control requests.

If the ReceivingEntity identifier matches this federate's site:app the callbacks will be invoked.

virtual void DtBaseTransferControlManager::removeIncomingTransferControlRequest ( DtGlobalObjectDesignator  identifier)
protectedvirtual

Removes the incoming transfer control interaction to a map of incoming transfer control interactions, sorted by Request Identifier Called when a transfer completes, either successfully or unsucessfully.

virtual bool DtBaseTransferControlManager::removeObjectFromTransferredSet ( const DtGlobalObjectDesignator objectDesignator,
DtU32  requestId 
)
virtual
virtual void DtBaseTransferControlManager::removeOutgoingTransferControlRequest ( DtGlobalObjectDesignator  identifier)
protectedvirtual

Removes the outgoing transfer control interaction to a map of outgoing transfer control interactions, sorted by Request Identifier Called when a transfer completes, either successfully or unsucessfully.

virtual void DtBaseTransferControlManager::sendAcknowledgement ( DtU32  requestIdentifier,
bool  approve,
DtRecordSetList recordSetList = nullptr,
DtStateRepository stateRepo = nullptr 
)
virtual

Send an ackowledgement for a transfer control request specified by the requestIdentifier while indicating approval or disapproval of the transfer.

Optionally, supply a DtRecordSet of internal data for the entity or its subsystems. Optionally, supply a pointer to the DtStateRepository for VR-Link to transfer known subsytems

virtual void DtBaseTransferControlManager::sendEventReport ( DtGlobalObjectDesignator  identifier)
virtual

sends out a Ownership Event Report interaction, indicating the new owner of the indicated object

virtual void DtBaseTransferControlManager::sendSetRecord ( DtEntityIdentifier  originatingApplicationId,
DtU32  requestIdentifier,
DtRecordSetList recordSetList,
DtStateRepository stateRepo 
)
virtual

Send out the SetRecord interaction for internal data.

virtual void DtBaseTransferControlManager::sendSetRecordInteraction ( DtU32  requestIdentifier)
pure virtual

Pure virtual functions that are protocol specific and must be defined in subclass.

Implemented in DtTransferControlManager.

virtual unsigned int DtBaseTransferControlManager::sendTransferControlRequest ( DtTransferControlInteraction tci)
virtual

Send the supplied transfer control request.

virtual unsigned int DtBaseTransferControlManager::sendTransferControlRequest ( DtEntityIdentifier  receivingApplicationId,
DtGlobalObjectDesignator  transferredEntityId 
)
virtual

Send a transfer control request with the supplied receiving application identifier and transferred entity identifier.

static void DtBaseTransferControlManager::setRecordCallback ( DtSetRecordInteraction setRec,
void *  user 
)
static

Callback for incoming SetRecord interactions.

static void DtBaseTransferControlManager::transferControlRequestCallback ( DtTransferControlInteraction tci,
void *  user 
)
static

Callback for incoming Transer Control Requests.

Member Data Documentation

std::list<DtAcknowledgementCbInfo> DtBaseTransferControlManager::myAcknowledgementNotificationCbList
protected
DtExerciseConn* DtBaseTransferControlManager::myExConn
protected
std::map<DtU32, DtTransferControlInteraction> DtBaseTransferControlManager::myIncomingTransferControlRequests
protected
std::map<DtGlobalObjectDesignator, DtU32> DtBaseTransferControlManager::myObjectIdToRequestIdMap
protected
std::map<DtU32, DtTransferControlInteraction> DtBaseTransferControlManager::myOutgoingTransferControlRequests
protected
std::map<DtU32, std::set<DtGlobalObjectDesignator> > DtBaseTransferControlManager::myRequestIdToTransferredObjectListMap
protected
std::list<DtSetRecordCbInfo> DtBaseTransferControlManager::mySetRecordNotificationList
protected
std::map<DtU32, DtSetRecordTracker> DtBaseTransferControlManager::mySetRecordTrackerMap
protected
std::list<DtTransferControlCbInfo> DtBaseTransferControlManager::myTransferControlNotificationCbList
protected

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

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)