VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
partialOwnershipHandler.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2014 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
9 
10 #if DtHLA
11 
12 typedef void (*DtPartialAcquireOwnershipCb)(DtHlaObject* hlaObject, const RTI::AttributeHandleSet&, void* usr);
13 typedef void (*DtPartialDivestOwnershipCb)(DtHlaObject* hlaObject, const RTI::AttributeHandleSet&, void* usr);
14 
15 typedef bool (*DtPartialAcquireOwnershipRequestCb)(DtHlaObject* hlaObject, const RTI::AttributeHandleSet&, void* usr);
16 typedef bool (*DtPartialDivestOwnershipRequestCb)(DtHlaObject* hlaObject, const RTI::AttributeHandleSet&, void* usr);
17 
18 
19 struct DtPartialAcquireOwnershipCbInfo
20 {
21  DtPartialAcquireOwnershipCb cbFunction;
22  void* userData;
23 };
24 
25 struct DtPartialDivestOwnershipCbInfo
26 {
27  DtPartialDivestOwnershipCb cbFunction;
28  void* userData;
29 };
30 
31 struct DtPartialAcquireOwnershipRequestCbInfo
32 {
33  DtPartialAcquireOwnershipRequestCb cbFunction;
34  void* userData;
35 };
36 
37 struct DtPartialDivestOwnershipRequestCbInfo
38 {
39  DtPartialDivestOwnershipRequestCb cbFunction;
40  void* userData;
41 };
42 
48 class DT_DLL_VL DtPartialOwnershipHandler : public DtDefaultOwnershipHandler
49 {
50 public:
52  DtPartialOwnershipHandler();
53 
55  virtual ~DtPartialOwnershipHandler();
56 
58  virtual DtOwnershipHandler* clone() const;
59 
61  DtPartialOwnershipHandler(const DtPartialOwnershipHandler& other);
62 
64  DtPartialOwnershipHandler& operator=(const DtPartialOwnershipHandler& other);
65 
69  virtual void gainOwnership(const RTI::AttributeHandleSet& set);
70 
75  virtual void loseOwnership(const RTI::AttributeHandleSet& set);
76 
80  //{@
81  virtual void addPartialAcquireOwnershipCallback(DtPartialAcquireOwnershipCb cb, void* usr,
82  const DtObjClassDesc* desc = 0);
83  virtual void removePartialAcquireOwnershipCallback(DtPartialAcquireOwnershipCb cb, void* usr,
84  const DtObjClassDesc* desc = 0);
86 
90  //{@
91  virtual void addPartialDivestOwnershipCallback(DtPartialDivestOwnershipCb cb, void* usr,
92  const DtObjClassDesc* desc = 0);
93  virtual void removePartialDivestOwnershipCallback(DtPartialDivestOwnershipCb cb, void* usr,
94  const DtObjClassDesc* desc = 0);
96 
102  //{@
103  virtual void addPartialAcquireOwnershipRequestCallback(DtPartialAcquireOwnershipRequestCb cb, void* usr);
104  virtual void removePartialAcquireOwnershipRequestCallback(DtPartialAcquireOwnershipRequestCb cb, void* usr);
106 
112  //{@
113  virtual void addPartialDivestOwnershipRequestCallback(DtPartialDivestOwnershipRequestCb cb, void* usr);
114  virtual void removePartialDivestOwnershipRequestCallback(DtPartialDivestOwnershipRequestCb cb, void* usr);
116 
117 
118 protected:
119 
120  std::map<RTI::ObjectClassHandle, std::list<DtPartialAcquireOwnershipCbInfo> > myPartialAcquireOwnershipCbList;
121  std::map<RTI::ObjectClassHandle, std::list<DtPartialDivestOwnershipCbInfo> > myPartialDivestOwnershipCbList;
122  std::list<DtPartialAcquireOwnershipCbInfo> myDefaultPartialAcquireOwnershipCb;
123  std::list<DtPartialDivestOwnershipCbInfo> myDefaultPartialDivestOwnershipCb;
124  std::list<DtPartialAcquireOwnershipRequestCbInfo> myPartialAcquireOwnershipRequestCbList;
125  std::list<DtPartialDivestOwnershipRequestCbInfo> myPartialDivestOwnershipRequestCbList;
126 };
127 
128 #endif //DtHLA
virtual DtOwnershipHandler * clone() const
Clone copy.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
virtual void gainOwnership()
Called whenever the local federate has gained ownership of an object.
DtDefaultOwnershipHandler & operator=(const DtDefaultOwnershipHandler &other)
Assignment operator.
This file declares DtDefaultOwnershipHandler.
This is a base class meant to encapsulate user callbacks on ownership management services.
Definition: ownershipHandlerDIS.h:39
virtual void loseOwnership()
Called whenever the local federate has lost ownership of an object.
This class meant to encapsulate user callbacks on ownership management services.
Definition: defaultOwnershipHandlerDIS.h:58

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)