VR-Link API Documentation for HLA Evolved
 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 
20 {
22  void* userData;
23 };
24 
26 {
28  void* userData;
29 };
30 
32 {
34  void* userData;
35 };
36 
38 {
40  void* userData;
41 };
42 
49 {
50 public:
53 
55  virtual ~DtPartialOwnershipHandler();
56 
58  virtual DtOwnershipHandler* clone() const;
59 
62 
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

Document ID: Generated on Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)