![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: repObjPub.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtReportObjectPublicationInteraction_H_ 00014 #define DtReportObjectPublicationInteraction_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 DtReportObjectPublicationInteraction; 00023 typedef void (*DtReportObjectPublicationInteractionCb) 00024 (const DtReportObjectPublicationInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtReportObjectPublicationInteraction : 00027 public DtReportInteraction 00028 { 00029 public: 00030 00032 DtReportObjectPublicationInteraction(); 00033 00035 virtual ~DtReportObjectPublicationInteraction(); 00036 00038 DtReportObjectPublicationInteraction( 00039 const DtReportObjectPublicationInteraction& orig); 00040 00042 DtReportObjectPublicationInteraction& operator=( 00043 const DtReportObjectPublicationInteraction& orig); 00044 00047 virtual const DtPhvps& phvps(); 00048 00051 virtual bool setFromPhvps(const DtPhvps& phvps); 00052 00055 virtual long numberOfClasses() const; 00056 virtual void setNumberOfClasses(long data); 00057 00059 virtual const DtAttributeHandleSet& attributeList() const; 00060 virtual void setAttributeList(const DtAttributeHandleSet& data); 00061 00063 virtual DtObjectClassHandle objectClass() const; 00064 virtual void setObjectClass(DtObjectClassHandle data); 00065 00066 00067 public: 00069 static DtReportInteraction* create(); 00070 00072 static void addCallback(DtMomInterCbMgr* callBackManager, 00073 DtReportObjectPublicationInteractionCb cb, void* usr); 00074 static void removeCallback(DtMomInterCbMgr* callBackManager, 00075 DtReportObjectPublicationInteractionCb cb, void* usr); 00076 00077 protected: 00078 00081 virtual void encodeNumberOfClasses( 00082 const DtMomInteraction& data, 00083 DtPhvps* parameters, 00084 DtParameterHandle parameterHandle); 00085 00087 virtual void encodeObjectClass( 00088 const DtMomInteraction& data, 00089 DtPhvps* parameters, 00090 DtParameterHandle parameterHandle); 00091 00094 virtual void decodeNumberOfClasses( 00095 DtMomInteraction* data, 00096 const DtPhvps& parameters, 00097 int index); 00098 00100 virtual void decodeObjectClass( 00101 DtMomInteraction* data, 00102 const DtPhvps& parameters, 00103 int index); 00104 00106 virtual void encodeAttributeList( 00107 DtPhvps* parameters, 00108 DtParameterHandle parameterHandle); 00109 virtual void decodeAttributeList( 00110 const DtPhvps& parameters, 00111 int index); 00112 00113 public: 00114 static const char* theInteractionName; 00115 00116 protected: 00118 long myNumberOfClasses; 00119 DtAttributeHandleSet myAttributeList; 00120 DtObjectClassHandle myObjectClass; 00121 00122 const char *NUMBER_OF_CLASSES_PARAMETER_NAME; 00123 const char *ATTRIBUTE_LIST_PARAMETER_NAME; 00124 const char *OBJECT_CLASS_PARAMETER_NAME; 00125 00126 }; 00127 00128 #endif 00129 #endif