![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: repObjInf.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtReportObjectInformationInteraction_H_ 00014 #define DtReportObjectInformationInteraction_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 DtReportObjectInformationInteraction; 00023 typedef void (*DtReportObjectInformationInteractionCb) 00024 (const DtReportObjectInformationInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtReportObjectInformationInteraction : 00027 public DtReportInteraction 00028 { 00029 public: 00030 00032 DtReportObjectInformationInteraction(); 00033 00035 virtual ~DtReportObjectInformationInteraction(); 00036 00038 DtReportObjectInformationInteraction( 00039 const DtReportObjectInformationInteraction& orig); 00040 00042 DtReportObjectInformationInteraction& operator=( 00043 const DtReportObjectInformationInteraction& orig); 00044 00047 virtual const DtPhvps& phvps(); 00048 00051 virtual bool setFromPhvps(const DtPhvps& phvps); 00052 00055 virtual DtObjectClassHandle registeredClass() const; 00056 virtual void setRegisteredClass(DtObjectClassHandle data); 00057 00060 virtual DtObjectClassHandle knownClass() const; 00061 virtual void setKnownClass(DtObjectClassHandle data); 00062 00064 virtual DtAttributeHandleSet const & ownedAttributeList() const; 00065 virtual DtAttributeHandleSet & ownedAttributeList(); 00066 virtual void setOwnedAttributeList(DtAttributeHandleSet const & set); 00067 00069 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00070 virtual DtObjectInstanceHandle objectInstance() const; 00071 virtual void setObjectInstance(DtObjectInstanceHandle data); 00072 #else 00073 virtual MAKRti::DtString const & objectInstance() const; 00074 virtual void setObjectInstance(MAKRti::DtString const & data); 00075 #endif 00076 00077 00078 public: 00080 static DtReportInteraction* create(); 00081 00083 static void addCallback(DtMomInterCbMgr* callBackManager, 00084 DtReportObjectInformationInteractionCb cb, void* usr); 00085 static void removeCallback(DtMomInterCbMgr* callBackManager, 00086 DtReportObjectInformationInteractionCb cb, void* usr); 00087 00088 protected: 00089 00092 virtual void encodeRegisteredClass( 00093 const DtMomInteraction& data, 00094 DtPhvps* parameters, 00095 DtParameterHandle parameterHandle); 00096 00098 virtual void encodeObjectInstance( 00099 const DtMomInteraction& data, 00100 DtPhvps* parameters, 00101 DtParameterHandle parameterHandle); 00102 00105 virtual void encodeKnownClass( 00106 const DtMomInteraction& data, 00107 DtPhvps* parameters, 00108 DtParameterHandle parameterHandle); 00109 00113 virtual void encodeOwnedAttributeList( 00114 const DtMomInteraction& data, 00115 DtPhvps* parameters, 00116 DtParameterHandle parameterHandle); 00117 00120 virtual void decodeRegisteredClass( 00121 DtMomInteraction* data, 00122 const DtPhvps& parameters, 00123 int index); 00124 00126 virtual void decodeObjectInstance( 00127 DtMomInteraction* data, 00128 const DtPhvps& parameters, 00129 int index); 00130 00133 virtual void decodeKnownClass( 00134 DtMomInteraction* data, 00135 const DtPhvps& parameters, 00136 int index); 00137 00141 virtual void decodeOwnedAttributeList( 00142 DtMomInteraction* data, 00143 const DtPhvps& parameters, 00144 int index); 00145 00146 public: 00147 static const char* theInteractionName; 00148 00149 protected: 00151 DtObjectClassHandle myKnownClass; 00152 DtObjectClassHandle myRegisteredClass; 00153 DtAttributeHandleSet myOwnedAttributeList; 00154 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00155 DtObjectInstanceHandle myObjectInstance; 00156 #else 00157 MAKRti::DtString myObjectInstance; 00158 #endif 00159 00160 const char *REGISTERED_CLASS_PARAMETER_NAME; 00161 const char *OWNED_ATTRIBUTE_LIST_PARAMETER_NAME; 00162 const char *OBJECT_INSTANCE_PARAMETER_NAME; 00163 const char *KNOWN_CLASS_PARAMETER_NAME; 00164 00165 }; 00166 00167 #endif 00168 #endif