![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: nerMsg.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtNextEventRequestMsg_H_ 00013 #define DtNextEventRequestMsg_H_ 00014 00015 #ifdef DtTIME 00016 00017 #include "timeTwoMsg.h" 00018 00019 class DtConnectionMgr; 00020 class DtNextEventRequestMsg; 00021 typedef void (*DtNextEventRequestCb)(const DtNextEventRequestMsg& msg, void* usr); 00022 00023 class DT_DLL_LRC DtNextEventRequestMsg : public DtTimeLookaheadMsg 00024 { 00025 public: 00026 00028 DtNextEventRequestMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00029 00031 DtNextEventRequestMsg( 00032 #ifdef DtIFSPEC1516 00033 rti1516::LogicalTime const & timeVal, 00034 rti1516::LogicalTimeInterval const & lookaheadVal, 00035 #elif defined(DtIFSPEC1516E) 00036 rti1516e::LogicalTime const & timeVal, 00037 rti1516e::LogicalTimeInterval const & lookaheadVal, 00038 #else 00039 RTI::FedTime const & timeVal, 00040 RTI::FedTime const & lookaheadVal, 00041 #endif 00042 bool isTimeAvailable, 00043 unsigned long nerCycleVal, 00044 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00045 00047 DtNextEventRequestMsg(const DtNetTimeLookaheadMsg* netRepMsg, 00048 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00049 00051 virtual ~DtNextEventRequestMsg(); 00052 00054 virtual DtRtiMsg* clone(bool copy = true) const; 00055 00056 public: 00057 00059 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00060 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00061 00063 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00064 00066 static void addCallback(DtConnectionMgr *conn, 00067 DtNextEventRequestCb cb, void *usr); 00068 static void removeCallback(DtConnectionMgr *conn, 00069 DtNextEventRequestCb cb, void *usr); 00070 00071 protected: 00072 00074 DtRtiMsgKind internalDtRtiMsgKind(); 00075 00076 }; 00077 00078 #endif 00079 #endif 00080