VR-Link API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
transferControlManagerDIS.h
Go to the documentation of this file.
1 #pragma once
2 #if DtDIS
6 #include <map>
7 #include <list>
11 
12 class DtExerciseConn;
13 class DtHlaObject;
14 class DtObjClassDesc;
15 class DtEntityPublisher;
17 class DtReflectedEntity;
19 
21 typedef void (*DtNewTransferredEntityCb)
22 (DtEntityPublisher* newEntityPublisher, DtU32 requestIdentifier, void* usr);
23 //
24 typedef void (*DtLostOwnershipOfEntityCb)
25 (DtReflectedEntity* lostObject, void* usr);
26 
27 //typedef void(*DtLostOwnershipOfDIGuyCb)
28 //(DtReflectedDIGuyObject* lostHlaObject, void* usr);
29 
31 {
33  void* userData;
34 };
35 
37 {
39  void* userData;
40 };
41 
42 //struct DtLostOwnershipOfDIGuyCbInfo
43 //{
44 // DtLostOwnershipOfDIGuyCb cbFunction;
45 // void* userData;
46 //};
47 
49 {
50 public:
51 
53 
55 
56  //virtual void processGainedOwnership(DtHlaObject* hlaObject);
57 
58  //virtual void processLostOwnership(DtHlaObject* hlaObject);
59 
60  virtual void sendSetRecordInteraction(DtU32 requestIdentifier);
61 
64  virtual void setNewTransferredEntityCallback(DtNewTransferredEntityCb func, void* usr);
65 
68  virtual void setLostOwnershipOfEntityCallback(DtLostOwnershipOfEntityCb func, void* usr);
69 
70  virtual void processSetRecord(DtSetRecordInteraction* setRec);
71 
72  virtual void invokeNewAndLostObjectCallbacks();
73 
77 
78 public:
81  //static void gainedOwnershipCallback(DtHlaObject* hlaObject, void* usr);
82 
83  //Static callback function invoked after successfully divesting an object.
85  //static void lostOwnershipCallback(DtHlaObject* hlaObject, void* usr);
86 
87 private:
90 
93 
94 protected:
95  DtNewTransferredEntityCbInfo myNewTransferredEntityFunc;
96  DtLostOwnershipOfEntityCbInfo myLostOwnershipOfEntityFunc;
97 
98  //Map of request identifiers and related entity publishers. Publishers
99  //are saved in this map until all setRecord messages related to this transfer have been received.
100  std::map<DtU32, DtEntityIdentifier> myAcquiredEntitiesMap;
101  //Map of Request Identifiers and the set of related objects to transfer (DIGuy, EmitterBeams, etc)
102  std::map<DtU32, std::set<DtGlobalObjectDesignator>> myRequestIdToTransferredObjectListMap;
103 
104 
105 };
106 #endif
Instances of DtReflectedEntity are used to represent a simulation entity reflected across a network (...
Definition: reflectedEntityHLA.h:29
Definition: transferControlManagerHLA.h:36
Definition: transferControlManagerHLA.h:48
void(* DtLostOwnershipOfEntityCb)(DtReflectedEntity *lostHlaObject, void *usr)
Definition: transferControlManagerHLA.h:25
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
This file provides protocol independence for DtAcknowledgeInteraction.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseTransferControlManager & operator=(const DtBaseTransferControlManager &orig)
assignment operator – Not Implemented
virtual bool processAcknowledge(DtAcknowledgeInteraction *tci)
Processes incoming transfer control requests.
std::map< DtU32, std::set< DtGlobalObjectDesignator > > myRequestIdToTransferredObjectListMap
Definition: baseTransferControlManager.h:165
An instance of DtObjClassDesc is a &quot;class descriptor&quot; for an HLA Object class.
Definition: objClassDesc13.h:41
Definition: baseTransferControlManager.h:47
DtNewTransferredEntityCb cbFunction
Definition: transferControlManagerHLA.h:32
Instances of DtHlaObject are used to represent HLA objects which are communicated across the network...
Definition: hlaObject.h:58
Definition: transferControlManagerHLA.h:30
Instances of DtEntityPublisher are used for local or source simulations of entities (i...
Definition: entityPublisherHLA.h:28
Instances of DtReflectedDIGuyObject are used to represent a simulated HLAobjectRoot.DIGuyObject object reflected across a network.
Definition: reflectedDiGuyObject.h:31
Instances of DtAcknowledgeInteraction are used to represent Acknowledge Interactions in the RPR ROM...
Definition: acknowledgeInteractionHLA.h:34
void * userData
Definition: transferControlManagerHLA.h:39
virtual void processSetRecord(DtSetRecordInteraction *setRec)
Processes the incoming SetRecord interaction. Tracks the number of records for each individual reques...
virtual void invokeNewAndLostObjectCallbacks()=0
Post drain callback to return publisher objects through callbacks.
void * userData
Definition: transferControlManagerHLA.h:33
Definition: setRecordInteractionHLA.h:24
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtLostOwnershipOfEntityCb cbFunction
Definition: transferControlManagerHLA.h:38
virtual void sendSetRecordInteraction(DtU32 requestIdentifier)=0
Pure virtual functions that are protocol specific and must be defined in subclass.
void(* DtNewTransferredEntityCb)(DtEntityPublisher *newEntityPublisher, DtU32 requestIdentifier, void *usr)
New Transferred Entity Callback - invoked when successfully acquired a new Entity object...
Definition: transferControlManagerHLA.h:22
class DtHlaObjectWithStateRep:
Definition: hlaObjectWithStateRep.h:28

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)