15 enum DtOwnershipAction
22 typedef void (*DtAcquireOwnershipCb)(DtHlaObject* hlaObject,
void* usr);
23 typedef void (*DtDivestOwnershipCb)(DtHlaObject* hlaObject,
void* usr);
25 typedef bool (*DtAcquireOwnershipRequestCb)(DtHlaObject* hlaObject,
void* usr);
26 typedef bool (*DtDivestOwnershipRequestCb)(DtHlaObject* hlaObject,
void* usr);
28 struct DtAcquireOwnershipCbInfo
30 DtAcquireOwnershipCb cbFunction;
34 struct DtDivestOwnershipCbInfo
36 DtDivestOwnershipCb cbFunction;
40 struct DtAcquireOwnershipRequestCbInfo
42 DtAcquireOwnershipRequestCb cbFunction;
46 struct DtDivestOwnershipRequestCbInfo
48 DtDivestOwnershipRequestCb cbFunction;
57 class DT_DLL_VL DtDefaultOwnershipHandler :
public DtOwnershipHandler
61 DtDefaultOwnershipHandler();
64 virtual ~DtDefaultOwnershipHandler();
67 virtual DtOwnershipHandler* clone()
const;
70 DtDefaultOwnershipHandler(
const DtDefaultOwnershipHandler& other);
73 DtDefaultOwnershipHandler& operator=(
const DtDefaultOwnershipHandler& other);
78 virtual void setOwnershipAcquisitionAction(DtOwnershipAction);
83 virtual void setOwnershipDivestitudeAction(DtOwnershipAction);
88 virtual void gainOwnership(
const RTI::AttributeHandleSet&
set);
94 virtual void loseOwnership(
const RTI::AttributeHandleSet&
set);
99 virtual void setAcquireOwnershipCallback(DtAcquireOwnershipCb cb,
void* usr,
100 const DtObjClassDesc* desc = 0);
106 virtual void setDivestOwnershipCallback(DtDivestOwnershipCb cb,
void* usr,
107 const DtObjClassDesc* desc = 0);
112 virtual void addAcquireOwnershipRequestCallback(DtAcquireOwnershipRequestCb cb,
void* usr);
113 virtual void removeAcquireOwnershipRequestCallback(DtAcquireOwnershipRequestCb cb,
void* usr);
115 virtual void addDivestOwnershipRequestCallback(DtDivestOwnershipRequestCb cb,
void* usr);
116 virtual void removeDivestOwnershipRequestCallback(DtDivestOwnershipRequestCb cb,
void* usr);
119 virtual bool requestAttributeOwnershipRelease (
120 const RTI::AttributeHandleSet& candidateAttributes,
122 const RTI::VariableLengthData &theTag
128 virtual void requestAttributeOwnershipAssumption (
129 const RTI::AttributeHandleSet& offeredAttributes,
131 const RTI::VariableLengthData &theTag
138 DtOwnershipAction myAcquisitionAction;
139 DtOwnershipAction myDivestAction;
141 std::map<RTI::ObjectClassHandle, DtAcquireOwnershipCbInfo> myAcquireOwnershipCbList;
142 std::map<RTI::ObjectClassHandle, DtDivestOwnershipCbInfo> myDivestOwnershipCbList;
143 DtAcquireOwnershipCbInfo myDefaultAcquireOwnershipCb;
144 DtDivestOwnershipCbInfo myDefaultDivestOwnershipCb;
145 std::list<DtAcquireOwnershipRequestCbInfo> myAcquireOwnershipRequestCbList;
146 std::list<DtDivestOwnershipRequestCbInfo> myDivestOwnershipRequestCbList;