![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: serAttrDivest.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtUnconditionalAttributeOwnershipDivestitureInteraction_H_ 00014 #define DtUnconditionalAttributeOwnershipDivestitureInteraction_H_ 00015 00016 #include "rtiMsConfig.h" 00017 #include "internalTypes.h" 00018 #include "mInteraction.h" 00019 #include <vlutil/vlList.h> 00020 00021 class DtMomInterCbMgr; 00022 class DtUnconditionalAttributeOwnershipDivestitureInteraction; 00023 typedef void (*DtUnconditionalAttributeOwnershipDivestitureInteractionCb) 00024 (const DtUnconditionalAttributeOwnershipDivestitureInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtUnconditionalAttributeOwnershipDivestitureInteraction : 00027 public DtServiceInteraction 00028 { 00029 public: 00030 00032 DtUnconditionalAttributeOwnershipDivestitureInteraction(); 00033 00035 virtual ~DtUnconditionalAttributeOwnershipDivestitureInteraction(); 00036 00038 DtUnconditionalAttributeOwnershipDivestitureInteraction( 00039 const DtUnconditionalAttributeOwnershipDivestitureInteraction& orig); 00040 00042 DtUnconditionalAttributeOwnershipDivestitureInteraction& operator=( 00043 const DtUnconditionalAttributeOwnershipDivestitureInteraction& orig); 00044 00047 virtual const DtPhvps& phvps(); 00048 00051 virtual bool setFromPhvps(const DtPhvps& phvps); 00052 00054 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00055 virtual DtObjectInstanceHandle instance() const; 00056 virtual void setInstance(DtObjectInstanceHandle data); 00057 #else 00058 virtual MAKRti::DtString const & instance() const; 00059 virtual MAKRti::DtString & instance(); 00060 virtual void setInstance(MAKRti::DtString const & data); 00061 #endif 00062 00064 virtual DtAttributeHandleSet const & attributeList() const; 00065 virtual DtAttributeHandleSet & attributeList(); 00066 virtual void setAttributeList(DtAttributeHandleSet const & data); 00067 00068 public: 00070 static DtServiceInteraction* create(); 00071 00073 static void addCallback(DtMomInterCbMgr* callBackManager, 00074 DtUnconditionalAttributeOwnershipDivestitureInteractionCb cb, void* usr); 00075 static void removeCallback(DtMomInterCbMgr* callBackManager, 00076 DtUnconditionalAttributeOwnershipDivestitureInteractionCb cb, void* usr); 00077 00078 protected: 00079 00081 virtual void encodeInstance( 00082 const DtMomInteraction& data, 00083 DtPhvps* parameters, 00084 DtParameterHandle parameterHandle); 00085 00087 virtual void decodeInstance( 00088 DtMomInteraction* data, 00089 const DtPhvps& parameters, 00090 int index); 00091 00093 virtual void encodeAttributeList( 00094 const DtMomInteraction& data, 00095 DtPhvps* parameters, 00096 DtParameterHandle parameterHandle); 00097 virtual void decodeAttributeList( 00098 DtMomInteraction* data, 00099 const DtPhvps& parameters, 00100 int index); 00101 00102 public: 00103 static const char* theInteractionName; 00104 00105 protected: 00107 00108 DtAttributeHandleSet myAttributes; 00109 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00110 DtObjectInstanceHandle myInstance; 00111 #else 00112 MAKRti::DtString myInstance; 00113 #endif 00114 bool myReceivedAttributes; 00115 bool myReceivedInstance; 00116 00117 const char *OBJECT_INSTANCE_PARAMETER_NAME; 00118 const char *ATTRIBUTE_LIST_PARAMETER_NAME; 00119 00120 }; 00121 00122 #endif 00123 #endif