![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: repObjSub.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtReportObjectSubscriptionInteraction_H_ 00014 #define DtReportObjectSubscriptionInteraction_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 DtReportObjectSubscriptionInteraction; 00023 typedef void (*DtReportObjectSubscriptionInteractionCb) 00024 (const DtReportObjectSubscriptionInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtReportObjectSubscriptionInteraction : 00027 public DtReportInteraction 00028 { 00029 public: 00030 00032 DtReportObjectSubscriptionInteraction(); 00033 00035 virtual ~DtReportObjectSubscriptionInteraction(); 00036 00038 DtReportObjectSubscriptionInteraction( 00039 const DtReportObjectSubscriptionInteraction& orig); 00040 00042 DtReportObjectSubscriptionInteraction& operator=( 00043 const DtReportObjectSubscriptionInteraction& orig); 00044 00047 virtual const DtPhvps& phvps(); 00048 00051 virtual bool setFromPhvps(const DtPhvps& phvps); 00052 00054 virtual long numberOfClasses() const; 00055 virtual void setNumberOfClasses(long data); 00056 00058 virtual const DtAttributeHandleSet& attributeList() const; 00059 virtual void setAttributeList(const DtAttributeHandleSet& data); 00060 00062 virtual bool active() const; 00063 virtual void setActive(bool data); 00064 00066 virtual DtObjectClassHandle objectClass() const; 00067 virtual void setObjectClass(DtObjectClassHandle data); 00068 00069 #ifdef DtIFSPEC1516E 00070 00071 virtual std::wstring maxUpdateRate() const; 00072 virtual void setMaxUpdateRate(const std::wstring& data); 00073 #endif 00074 00075 public: 00077 static DtReportInteraction* create(); 00078 00080 static void addCallback(DtMomInterCbMgr* callBackManager, 00081 DtReportObjectSubscriptionInteractionCb cb, void* usr); 00082 static void removeCallback(DtMomInterCbMgr* callBackManager, 00083 DtReportObjectSubscriptionInteractionCb cb, void* usr); 00084 00085 protected: 00086 00088 virtual void encodeNumberOfClasses( 00089 const DtMomInteraction& data, 00090 DtPhvps* parameters, 00091 DtParameterHandle parameterHandle); 00092 00094 virtual void encodeActive( 00095 const DtMomInteraction& data, 00096 DtPhvps* parameters, 00097 DtParameterHandle parameterHandle); 00098 00100 virtual void encodeObjectClass( 00101 const DtMomInteraction& data, 00102 DtPhvps* parameters, 00103 DtParameterHandle parameterHandle); 00104 00106 virtual void decodeNumberOfClasses( 00107 DtMomInteraction* data, 00108 const DtPhvps& parameters, 00109 int index); 00110 00112 virtual void decodeActive( 00113 DtMomInteraction* data, 00114 const DtPhvps& parameters, 00115 int index); 00116 00118 virtual void decodeObjectClass( 00119 DtMomInteraction* data, 00120 const DtPhvps& parameters, 00121 int index); 00122 00124 virtual void encodeAttributeList( 00125 DtPhvps* parameters, 00126 DtParameterHandle parameterHandle); 00127 00129 virtual void decodeAttributeList( 00130 const DtPhvps& parameters, 00131 int index); 00132 00133 #ifdef DtIFSPEC1516E 00134 00135 virtual void encodeMaxUpdateRate( 00136 const DtMomInteraction& data, 00137 DtPhvps* parameters, 00138 DtParameterHandle parameterHandle); 00139 00141 virtual void decodeMaxUpdateRate( 00142 DtMomInteraction* data, 00143 const DtPhvps& parameters, 00144 int index); 00145 #endif 00146 00147 public: 00148 static const char* theInteractionName; 00149 00150 protected: 00152 long myNumberOfClasses; 00153 DtAttributeHandleSet myAttributeSet; 00154 bool myActive; 00155 DtObjectClassHandle myObjectClass; 00156 std::wstring myMaxUpdateRate; 00157 00158 const char *NUMBER_OF_CLASSES_PARAMETER_NAME; 00159 const char *ATTRIBUTE_LIST_PARAMETER_NAME; 00160 const char *ACTIVE_PARAMETER_NAME; 00161 const char *OBJECT_CLASS_PARAMETER_NAME; 00162 #ifdef DtIFSPEC1516E 00163 const char *MAX_UPDATE_RATE_PARAMETER_NAME; 00164 #endif 00165 00166 }; 00167 00168 #endif 00169 #endif