![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: reqObjInf.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtRequestObjectInformationInteraction_H_ 00014 #define DtRequestObjectInformationInteraction_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 DtRequestObjectInformationInteraction; 00023 typedef void (*DtRequestObjectInformationInteractionCb) 00024 (const DtRequestObjectInformationInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtRequestObjectInformationInteraction : 00027 public DtRequestInteraction 00028 { 00029 public: 00030 00032 DtRequestObjectInformationInteraction(); 00033 00035 virtual ~DtRequestObjectInformationInteraction(); 00036 00038 DtRequestObjectInformationInteraction( 00039 const DtRequestObjectInformationInteraction& orig); 00040 00042 DtRequestObjectInformationInteraction& operator=( 00043 const DtRequestObjectInformationInteraction& 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 objectInstance() const; 00056 virtual void setObjectInstance(DtObjectInstanceHandle data); 00057 #else 00058 virtual MAKRti::DtString const & objectInstance() const; 00059 virtual void setObjectInstance(MAKRti::DtString const & data); 00060 #endif 00061 00062 00063 public: 00065 static DtRequestInteraction* create(); 00066 00068 static void addCallback(DtMomInterCbMgr* callBackManager, 00069 DtRequestObjectInformationInteractionCb cb, void* usr); 00070 static void removeCallback(DtMomInterCbMgr* callBackManager, 00071 DtRequestObjectInformationInteractionCb cb, void* usr); 00072 00073 protected: 00074 00076 virtual void encodeObjectInstance( 00077 const DtMomInteraction& data, 00078 DtPhvps* parameters, 00079 DtParameterHandle parameterHandle); 00080 00082 virtual void decodeObjectInstance( 00083 DtMomInteraction* data, 00084 const DtPhvps& parameters, 00085 int index); 00086 00087 public: 00088 static const char* theInteractionName; 00089 00090 protected: 00092 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00093 DtObjectInstanceHandle myObjectInstance; 00094 #else 00095 MAKRti::DtString myObjectInstance; 00096 #endif 00097 bool myReceivedObjectInstance; 00098 00099 const char *OBJECT_INSTANCE_PARAMETER_NAME; 00100 00101 }; 00102 00103 #endif 00104 #endif