![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: serTimAdvReq.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtTimeAdvanceRequestInteraction_H_ 00014 #define DtTimeAdvanceRequestInteraction_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 DtTimeAdvanceRequestInteraction; 00023 typedef void (*DtTimeAdvanceRequestInteractionCb) 00024 (const DtTimeAdvanceRequestInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtTimeAdvanceRequestInteraction : 00027 public DtServiceInteraction 00028 { 00029 public: 00030 00032 DtTimeAdvanceRequestInteraction(); 00033 00035 virtual ~DtTimeAdvanceRequestInteraction(); 00036 00038 DtTimeAdvanceRequestInteraction( 00039 const DtTimeAdvanceRequestInteraction& orig); 00040 00042 DtTimeAdvanceRequestInteraction& operator=( 00043 const DtTimeAdvanceRequestInteraction& orig); 00044 00047 virtual const DtPhvps& phvps(); 00048 00051 virtual bool setFromPhvps(const DtPhvps& phvps); 00052 00055 #ifdef DtIFSPEC1516 00056 virtual bool getFedtime(rti1516::LogicalTime & time) const; 00057 virtual void setFedtime(rti1516::LogicalTime const & time); 00058 #elif defined(DtIFSPEC1516E) 00059 virtual bool getFedtime(rti1516e::LogicalTime & time) const; 00060 virtual void setFedtime(rti1516e::LogicalTime const & time); 00061 #else 00062 virtual bool getFedtime(RTI::FedTime & time) const; 00063 virtual void setFedtime(RTI::FedTime const & time); 00064 #endif 00065 00066 public: 00068 static DtServiceInteraction* create(); 00069 00071 static void addCallback(DtMomInterCbMgr* callBackManager, 00072 DtTimeAdvanceRequestInteractionCb cb, void* usr); 00073 static void removeCallback(DtMomInterCbMgr* callBackManager, 00074 DtTimeAdvanceRequestInteractionCb cb, void* usr); 00075 00076 protected: 00077 00079 virtual void encodeFedtime( 00080 const DtMomInteraction& data, 00081 DtPhvps* parameters, 00082 DtParameterHandle parameterHandle); 00083 00085 virtual void decodeFedtime( 00086 DtMomInteraction* data, 00087 const DtPhvps& parameters, 00088 int index); 00089 00090 public: 00091 static const char* theInteractionName; 00092 00093 protected: 00095 00096 DtMomNetParameter* myEncodedTime; 00097 bool myReceivedEncodedTime; 00098 00099 const char *FEDTIME_PARAMETER_NAME; 00100 00101 }; 00102 00103 #endif 00104 #endif