![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: repIntPub.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00010 00011 00012 #ifndef DtReportInteractionPublicationInteraction_H_ 00013 #define DtReportInteractionPublicationInteraction_H_ 00014 00015 #include "rtiMsConfig.h" 00016 #include "internalTypes.h" 00017 #include "mInteraction.h" 00018 #include <vlutil/vlList.h> 00019 00020 class DtMomInterCbMgr; 00021 class DtReportInteractionPublicationInteraction; 00022 typedef void (*DtReportInteractionPublicationInteractionCb) 00023 (const DtReportInteractionPublicationInteraction& inter, void* usr); 00024 00025 class DT_DLL_LRC DtReportInteractionPublicationInteraction : 00026 public DtReportInteraction 00027 { 00028 public: 00029 00031 DtReportInteractionPublicationInteraction(); 00032 00034 virtual ~DtReportInteractionPublicationInteraction(); 00035 00037 DtReportInteractionPublicationInteraction( 00038 const DtReportInteractionPublicationInteraction& orig); 00039 00041 DtReportInteractionPublicationInteraction& operator=( 00042 const DtReportInteractionPublicationInteraction& orig); 00043 00046 virtual const DtPhvps& phvps(); 00047 00050 virtual bool setFromPhvps(const DtPhvps& phvps); 00051 00053 virtual const DtMomHandleList& interactionClassList() const; 00054 virtual void setInteractionClassList(const DtMomHandleList& data); 00055 00056 protected: 00057 00059 virtual void encodeInteractionClassList( 00060 DtPhvps* parameters, 00061 DtParameterHandle parameterHandle); 00062 00064 virtual void decodeInteractionClassList( 00065 const DtPhvps& parameters, 00066 int index); 00067 00068 public: 00070 static DtReportInteraction* create(); 00071 00073 static void addCallback(DtMomInterCbMgr* callBackManager, 00074 DtReportInteractionPublicationInteractionCb cb, void* usr); 00075 static void removeCallback(DtMomInterCbMgr* callBackManager, 00076 DtReportInteractionPublicationInteractionCb cb, void* usr); 00077 00078 public: 00079 static const char* theInteractionName; 00080 00081 protected: 00083 DtMomHandleList myInteractionClassList; 00084 00085 const char *INTERACTION_CLASS_LIST_PARAMETER_NAME; 00086 00087 }; 00088 00089 #endif 00090 #endif