![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: serChgAttrTra.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtChangeAttributeTransportationTypeInteraction_H_ 00014 #define DtChangeAttributeTransportationTypeInteraction_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 DtChangeAttributeTransportationTypeInteraction; 00023 typedef void (*DtChangeAttributeTransportationTypeInteractionCb) 00024 (const DtChangeAttributeTransportationTypeInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtChangeAttributeTransportationTypeInteraction : 00027 public DtServiceInteraction 00028 { 00029 public: 00030 00032 DtChangeAttributeTransportationTypeInteraction(); 00033 00035 virtual ~DtChangeAttributeTransportationTypeInteraction(); 00036 00038 DtChangeAttributeTransportationTypeInteraction( 00039 const DtChangeAttributeTransportationTypeInteraction& orig); 00040 00042 DtChangeAttributeTransportationTypeInteraction& operator=( 00043 const DtChangeAttributeTransportationTypeInteraction& 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 00069 virtual MAKRti::DtTransportType transport() const; 00070 virtual void setTransport( MAKRti::DtTransportType data ); 00071 00072 public: 00074 static DtServiceInteraction* create(); 00075 00077 static void addCallback(DtMomInterCbMgr* callBackManager, 00078 DtChangeAttributeTransportationTypeInteractionCb cb, void* usr); 00079 static void removeCallback(DtMomInterCbMgr* callBackManager, 00080 DtChangeAttributeTransportationTypeInteractionCb cb, void* usr); 00081 00082 protected: 00083 00085 virtual void encodeInstance( 00086 const DtMomInteraction& data, 00087 DtPhvps* parameters, 00088 DtParameterHandle parameterHandle); 00089 00091 virtual void decodeInstance( 00092 DtMomInteraction* data, 00093 const DtPhvps& parameters, 00094 int index); 00095 00097 virtual void encodeTransportType( 00098 const DtMomInteraction& data, 00099 DtPhvps* parameters, 00100 DtParameterHandle parameterHandle); 00101 00103 virtual void decodeTransportType( 00104 DtMomInteraction* data, 00105 const DtPhvps& parameters, 00106 int index); 00107 00109 virtual void encodeAttributeList( 00110 const DtMomInteraction& data, 00111 DtPhvps* parameters, 00112 DtParameterHandle parameterHandle); 00113 virtual void decodeAttributeList( 00114 DtMomInteraction* data, 00115 const DtPhvps& parameters, 00116 int index); 00117 00118 public: 00119 static const char* theInteractionName; 00120 00121 protected: 00123 00124 DtAttributeHandleSet myAttributes; 00125 MAKRti::DtTransportType myTransport; 00126 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00127 DtObjectInstanceHandle myInstance; 00128 #else 00129 MAKRti::DtString myInstance; 00130 #endif 00131 bool myReceivedAttributes; 00132 bool myReceivedTransport; 00133 bool myReceivedInstance; 00134 00135 const char* OBJECT_INSTANCE_PARAMETER_NAME; 00136 const char* ATTRIBUTE_LIST_PARAMETER_NAME; 00137 const char* TRANSPORTATION_PARAMETER_NAME; 00138 00139 }; 00140 00141 #endif 00142 #endif