![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: modAttState.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtModifyAttributeStateInteraction_H_ 00014 #define DtModifyAttributeStateInteraction_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 DtModifyAttributeStateInteraction; 00023 typedef void (*DtModifyAttributeStateInteractionCb) 00024 (const DtModifyAttributeStateInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtModifyAttributeStateInteraction : 00027 public DtAdjustInteraction 00028 { 00029 public: 00030 00032 DtModifyAttributeStateInteraction(); 00033 00035 virtual ~DtModifyAttributeStateInteraction(); 00036 00038 DtModifyAttributeStateInteraction( 00039 const DtModifyAttributeStateInteraction& orig); 00040 00042 DtModifyAttributeStateInteraction& operator=( 00043 const DtModifyAttributeStateInteraction& orig); 00044 00047 virtual const DtPhvps& phvps(); 00048 00051 virtual bool setFromPhvps(const DtPhvps& phvps); 00052 00054 virtual DtAttributeHandle attribute() const; 00055 00057 virtual void setAttribute(DtAttributeHandle data); 00058 00060 virtual DtMomAttributeStateOptions attributeState() const; 00061 00063 virtual void setAttributeState(DtMomAttributeStateOptions data); 00064 00065 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00066 00067 virtual DtObjectInstanceHandle objectInstance() const; 00068 00070 virtual void setObjectInstance(DtObjectInstanceHandle data); 00071 #else 00072 00073 virtual MAKRti::DtString const & objectInstance() const; 00074 00076 virtual void setObjectInstance(MAKRti::DtString const & data); 00077 #endif 00078 00079 public: 00081 static DtAdjustInteraction* create(); 00082 00084 static void addCallback(DtMomInterCbMgr* callBackManager, 00085 DtModifyAttributeStateInteractionCb cb, void* usr); 00086 static void removeCallback(DtMomInterCbMgr* callBackManager, 00087 DtModifyAttributeStateInteractionCb cb, void* usr); 00088 00089 protected: 00090 00092 virtual void encodeAttribute( 00093 const DtMomInteraction& data, 00094 DtPhvps* parameters, 00095 DtParameterHandle parameterHandle); 00096 00098 virtual void encodeAttributeState( 00099 const DtMomInteraction& data, 00100 DtPhvps* parameters, 00101 DtParameterHandle parameterHandle); 00102 00104 virtual void encodeObjectInstance( 00105 const DtMomInteraction& data, 00106 DtPhvps* parameters, 00107 DtParameterHandle parameterHandle); 00108 00110 virtual void decodeAttribute( 00111 DtMomInteraction* data, 00112 const DtPhvps& parameters, 00113 int index); 00114 00116 virtual void decodeAttributeState( 00117 DtMomInteraction* data, 00118 const DtPhvps& parameters, 00119 int index); 00120 00122 virtual void decodeObjectInstance( 00123 DtMomInteraction* data, 00124 const DtPhvps& parameters, 00125 int index); 00126 00127 public: 00128 static char const * theInteractionName; 00129 00130 protected: 00132 DtAttributeHandle myAttribute; 00133 DtMomAttributeStateOptions myAttributeState; 00134 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00135 DtObjectInstanceHandle myObjectInstance; 00136 #else 00137 MAKRti::DtString myObjectInstance; 00138 #endif 00139 bool myReceivedAttribute; 00140 bool myReceivedState; 00141 bool myReceivedObject; 00142 00143 const char *ATTRIBUTE_PARAMETER_NAME; 00144 const char *ATTRIBUTE_STATE_PARAMETER_NAME; 00145 const char *OBJECT_INSTANCE_PARAMETER_NAME; 00146 00147 }; 00148 00149 #endif 00150 #endif