![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00010 00011 #ifndef DtOwnershipHandler_H_ 00012 #define DtOwnershipHandler_H_ 1 00013 00014 #if DtHLA 00015 00016 #include <vlutil/vlMachineTypes.h> 00017 00018 #include "rtiNamespace.h" 00019 00020 class DT_DLL_VL DtHlaObject; 00021 00029 class DT_DLL_VL DtOwnershipHandler 00030 { 00031 public: 00032 00034 DtOwnershipHandler(); 00035 00037 virtual ~DtOwnershipHandler(); 00038 00041 virtual DtHlaObject* hlaObject(); 00042 00046 virtual void gainOwnership(const RTI::AttributeHandleSet& set); 00047 00052 virtual void loseOwnership(const RTI::AttributeHandleSet& set); 00053 00056 virtual void attributeOwnershipDivestitureNotification( 00057 const RTI::AttributeHandleSet& releasedAttributes); 00058 00061 virtual void attributeOwnershipAcquisitionNotification( 00062 const RTI::AttributeHandleSet& securedAttributes); 00063 00064 00068 virtual void requestAttributeOwnershipAssumption ( 00069 const RTI::AttributeHandleSet& offeredAttributes, 00070 #if DtHLA_1516 00071 const RTI::VariableLengthData &theTag 00072 #else 00073 const char* theTag 00074 #endif 00075 ); 00076 00080 virtual void requestAttributeOwnershipRelease ( 00081 const RTI::AttributeHandleSet& candidateAttributes, 00082 #if DtHLA_1516 00083 const RTI::VariableLengthData &theTag 00084 #else 00085 const char* theTag 00086 #endif 00087 ); 00088 00091 virtual void confirmAttributeOwnershipAcquisitionCancellation ( 00092 const RTI::AttributeHandleSet& attributes); 00093 00094 protected: 00095 00096 friend class DtHlaObject; 00097 00099 DtOwnershipHandler(const DtOwnershipHandler& orig); 00100 00102 DtOwnershipHandler& operator=(const DtOwnershipHandler& orig); 00103 00104 virtual void setHlaObject(DtHlaObject* obj); 00105 00106 protected: 00107 00108 DtHlaObject* myHlaObj; 00109 }; 00110 00111 #endif 00112 #endif 00113