![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2006 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: wwwControlMsg.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtWwwControlMsg_H_ 00013 #define DtWwwControlMsg_H_ 00014 00015 #include "rtiMsg.h" 00016 #include "netWwwControlMsg.h" 00017 #include <vector> 00018 00019 class DtConnectionMgr; 00020 class DtWwwControlMsg; 00021 class DtLogicalTimeFactory; 00022 typedef void (*DtWwwControlCb)(const DtWwwControlMsg& inter, void* usr); 00023 00024 00030 class DT_DLL_LRC DtWwwControlMsg : public DtRtiMsg 00031 { 00032 00033 public: 00034 00035 typedef std::vector< std::pair< MAKRti::DtString, MAKRti::DtString > > ParameterValuePairList; 00036 00038 DtWwwControlMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00039 00041 DtWwwControlMsg( unsigned long commandId, unsigned long connId, unsigned long fedexId, 00042 unsigned long targetFedId, const MAKRti::DtString& xml, 00043 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER ); 00044 00046 DtWwwControlMsg(const DtNetWwwControlMsg* netRep, 00047 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00048 00050 virtual ~DtWwwControlMsg(); 00051 00053 virtual DtRtiMsg* clone(bool copy = true) const; 00054 00056 virtual unsigned long commandId() const; 00057 virtual void setCommandId( unsigned long commandId ); 00058 00060 virtual unsigned long connectionId() const; 00061 virtual void setConnectionId( unsigned long connId ); 00062 00064 virtual unsigned long targetFederateHandle() const; 00065 virtual void setTargetFederateHandle( unsigned long fedId ); 00066 00068 virtual MAKRti::DtString command() const; 00069 virtual void setCommand( const MAKRti::DtString& command ); 00070 00072 virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const; 00073 00074 00075 public: 00076 00078 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00079 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00080 00081 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00082 00084 static void addCallback(DtConnectionMgr* conn, DtWwwControlCb cb, void* usr); 00085 static void removeCallback(DtConnectionMgr* conn, DtWwwControlCb cb, void* usr); 00086 00087 protected: 00088 00090 virtual DtNetWwwControlMsg* netWwwControlMsg(); 00091 virtual const DtNetWwwControlMsg* netWwwControlMsg() const; 00092 00094 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00095 00097 virtual char* netMsgCommand(); 00098 virtual const char* netMsgCommand() const; 00099 00101 virtual int minSize() const; 00102 00103 }; 00104 00105 #endif //! DtWwwControlMsg_H_