![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: serSubAttr.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtSubscribeObjectClassAttributesInteraction_H_ 00014 #define DtSubscribeObjectClassAttributesInteraction_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 DtSubscribeObjectClassAttributesInteraction; 00023 typedef void (*DtSubscribeObjectClassAttributesInteractionCb) 00024 (const DtSubscribeObjectClassAttributesInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtSubscribeObjectClassAttributesInteraction : 00027 public DtServiceInteraction 00028 { 00029 public: 00030 00032 DtSubscribeObjectClassAttributesInteraction(); 00033 00035 virtual ~DtSubscribeObjectClassAttributesInteraction(); 00036 00038 DtSubscribeObjectClassAttributesInteraction( 00039 const DtSubscribeObjectClassAttributesInteraction& orig); 00040 00042 DtSubscribeObjectClassAttributesInteraction& operator=( 00043 const DtSubscribeObjectClassAttributesInteraction& orig); 00044 00047 virtual const DtPhvps& phvps(); 00048 00051 virtual bool setFromPhvps(const DtPhvps& phvps); 00052 00054 virtual DtObjectClassHandle objectClassHandle() const; 00055 virtual void setObjectClassHandle(DtObjectClassHandle data); 00056 00058 virtual DtAttributeHandleSet const & attributeList() const; 00059 virtual DtAttributeHandleSet & attributeList(); 00060 virtual void setAttributeList(DtAttributeHandleSet const & data); 00061 00063 virtual bool active() const; 00064 virtual void setActive(bool data); 00065 00066 00067 public: 00069 static DtServiceInteraction* create(); 00070 00072 static void addCallback(DtMomInterCbMgr* callBackManager, 00073 DtSubscribeObjectClassAttributesInteractionCb cb, void* usr); 00074 static void removeCallback(DtMomInterCbMgr* callBackManager, 00075 DtSubscribeObjectClassAttributesInteractionCb cb, void* usr); 00076 00077 protected: 00078 00080 virtual void encodeObjectClassHandle( 00081 const DtMomInteraction& data, 00082 DtPhvps* parameters, 00083 DtParameterHandle parameterHandle); 00084 00086 virtual void decodeObjectClassHandle( 00087 DtMomInteraction* data, 00088 const DtPhvps& parameters, 00089 int index); 00090 00091 virtual void encodeActive( 00092 const DtMomInteraction& data, 00093 DtPhvps* parameters, 00094 DtParameterHandle parameterHandle); 00095 00096 virtual void decodeActive( 00097 DtMomInteraction* data, 00098 const DtPhvps& parameters, 00099 int index); 00100 00102 virtual void encodeAttributeList( 00103 const DtMomInteraction& data, 00104 DtPhvps* parameters, 00105 DtParameterHandle parameterHandle); 00106 virtual void decodeAttributeList( 00107 DtMomInteraction* data, 00108 const DtPhvps& parameters, 00109 int index); 00110 00111 public: 00112 static const char* theInteractionName; 00113 00114 protected: 00116 DtObjectClassHandle myObjectClassHandle; 00117 DtAttributeHandleSet myAttributes; 00118 bool myActive; 00119 00120 bool myReceivedObjectClassHandle; 00121 bool myReceivedAttributes; 00122 bool myReceivedActive; 00123 00124 const char *ATTRIBUTE_LIST_PARAMETER_NAME; 00125 const char *OBJECT_HANDLE_PARAMETER_NAME; 00126 const char *ACTIVE_PARAMETER_NAME; 00127 00128 }; 00129 00130 #endif 00131 #endif