VR-Link API Documentation for DIS
 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;
16 class DtHlaObjectWithStateRep;
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:
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 this class provide a protocol independent interface to a reflected entity in a DIS envir...
Definition: reflectedEntityDIS.h:39
Definition: transferControlManagerDIS.h:36
Definition: transferControlManagerDIS.h:48
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
This file provides protocol independence for DtAcknowledgeInteraction.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseTransferControlManager & operator=(const DtBaseTransferControlManager &orig)
assignment operator – Not Implemented
std::map< DtU32, std::set< DtGlobalObjectDesignator > > myRequestIdToTransferredObjectListMap
Definition: transferControlManagerDIS.h:102
DtLostOwnershipOfEntityCbInfo myLostOwnershipOfEntityFunc
Definition: transferControlManagerDIS.h:96
virtual bool processAcknowledge(DtAcknowledgeInteraction *tci)
Processes incoming transfer control requests.
class DtSetRecordPdu:
Definition: setRecordPdu.h:35
Definition: baseTransferControlManager.h:47
DtNewTransferredEntityCb cbFunction
Definition: transferControlManagerDIS.h:32
Definition: transferControlManagerDIS.h:30
Instances of DtEntityPublisher are used for local or source simulations of entities, (i.e.
Definition: entityPublisherDIS.h:33
class DtAcknowledgePdu:
Definition: acknowledgePdu.h:30
Definition: reflectedDiGuyObject.h:118
void(* DtNewTransferredEntityCb)(DtEntityPublisher *newEntityPublisher, DtU32 requestIdentifier, void *usr)
New Transferred Entity Callback - invoked when successfully acquired a new Entity object...
Definition: transferControlManagerDIS.h:22
void * userData
Definition: transferControlManagerDIS.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: transferControlManagerDIS.h:33
std::map< DtU32, DtEntityIdentifier > myAcquiredEntitiesMap
Definition: transferControlManagerDIS.h:100
DtNewTransferredEntityCbInfo myNewTransferredEntityFunc
Definition: transferControlManagerDIS.h:95
void(* DtLostOwnershipOfEntityCb)(DtReflectedEntity *lostObject, void *usr)
Definition: transferControlManagerDIS.h:25
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtLostOwnershipOfEntityCb cbFunction
Definition: transferControlManagerDIS.h:38
virtual void sendSetRecordInteraction(DtU32 requestIdentifier)=0
Pure virtual functions that are protocol specific and must be defined in subclass.

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)