![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: repUpdSent.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtReportUpdatesSentInteraction_H_ 00014 #define DtReportUpdatesSentInteraction_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 DtReportUpdatesSentInteraction; 00023 typedef void (*DtReportUpdatesSentInteractionCb) 00024 (const DtReportUpdatesSentInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtReportUpdatesSentInteraction : 00027 public DtReportInteraction 00028 { 00029 public: 00030 00032 DtReportUpdatesSentInteraction(); 00033 00035 virtual ~DtReportUpdatesSentInteraction(); 00036 00038 DtReportUpdatesSentInteraction( 00039 const DtReportUpdatesSentInteraction& orig); 00040 00042 DtReportUpdatesSentInteraction& operator=( 00043 const DtReportUpdatesSentInteraction& orig); 00044 00047 virtual const DtPhvps& phvps(); 00048 00051 virtual bool setFromPhvps(const DtPhvps& phvps); 00052 00054 virtual DtMomTallyList const& updateCounts() const; 00055 virtual DtMomTallyList & updateCounts(); 00056 00058 virtual MAKRti::DtTransportType transportationType() const; 00059 virtual void setTransportationType(MAKRti::DtTransportType data); 00060 00061 00062 public: 00064 static DtReportInteraction* create(); 00065 00067 static void addCallback(DtMomInterCbMgr* callBackManager, 00068 DtReportUpdatesSentInteractionCb cb, void* usr); 00069 static void removeCallback(DtMomInterCbMgr* callBackManager, 00070 DtReportUpdatesSentInteractionCb cb, void* usr); 00071 00072 protected: 00073 00078 virtual void encodeUpdateCounts( 00079 const DtMomInteraction& data, 00080 DtPhvps* parameters, 00081 DtParameterHandle parameterHandle); 00082 00084 virtual void encodeTransportationType( 00085 const DtMomInteraction& data, 00086 DtPhvps* parameters, 00087 DtParameterHandle parameterHandle); 00088 00090 virtual void decodeUpdateCounts( 00091 DtMomInteraction* data, 00092 const DtPhvps& parameters, 00093 int index); 00094 00096 virtual void decodeTransportationType( 00097 DtMomInteraction* data, 00098 const DtPhvps& parameters, 00099 int index); 00100 00101 public: 00102 static const char* theInteractionName; 00103 00104 protected: 00106 DtMomTallyList myUpdateCounts; 00107 MAKRti::DtTransportType myTransportationType; 00108 00109 const char *UPDATE_COUNTS_PARAMETER_NAME; 00110 const char *TRANSPORTATION_TYPE_PARAMETER_NAME; 00111 00112 }; 00113 00114 #endif 00115 #endif