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 setPartialAcquireOwnershipCallback(DtPartialAcquireOwnershipCb cb, void* usr, const DtObjClassDesc* desc = 0);
83 
87  //{@
88  virtual void setPartialDivestOwnershipCallback(DtPartialDivestOwnershipCb cb, void* usr, const DtObjClassDesc* desc = 0);
90 
94  //{@
95  virtual void addPartialAcquireOwnershipRequestCallback(DtPartialAcquireOwnershipRequestCb cb, void* usr);
96  virtual void removePartialAcquireOwnershipRequestCallback(DtPartialAcquireOwnershipRequestCb cb, void* usr);
98 
102  //{@
103  virtual void addPartialDivestOwnershipRequestCallback(DtPartialDivestOwnershipRequestCb cb, void* usr);
104  virtual void removePartialDivestOwnershipRequestCallback(DtPartialDivestOwnershipRequestCb cb, void* usr);
106 
107 
108 protected:
109 
110  std::map<RTI::ObjectClassHandle, DtPartialAcquireOwnershipCbInfo> myPartialAcquireOwnershipCbList;
111  std::map<RTI::ObjectClassHandle, DtPartialDivestOwnershipCbInfo> myPartialDivestOwnershipCbList;
112  DtPartialAcquireOwnershipCbInfo myDefaultPartialAcquireOwnershipCb;
113  DtPartialDivestOwnershipCbInfo myDefaultPartialDivestOwnershipCb;
114  std::list<DtPartialAcquireOwnershipRequestCbInfo> myPartialAcquireOwnershipRequestCbList;
115  std::list<DtPartialDivestOwnershipRequestCbInfo> myPartialDivestOwnershipRequestCbList;
116 };
117 
118 #endif //DtHLA

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)