![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2006 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: wwwStateRspMsg.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtWwwStateRspMsg_H_ 00013 #define DtWwwStateRspMsg_H_ 00014 00015 #include "rtiMsg.h" 00016 #include "rtiMsConfig.h" 00017 #include "netWwwStateRspMsg.h" 00018 00019 class DtConnectionMgr; 00020 class DtWwwStateRspMsg; 00021 class DtLogicalTimeFactory; 00022 typedef void (*DtWwwStateResponseCb)(const DtWwwStateRspMsg& inter, void* usr); 00023 00024 00025 class DT_DLL_LRC DtWwwStateRspMsg : public DtRtiMsg 00026 { 00027 00028 public: 00029 00031 DtWwwStateRspMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00032 00034 DtWwwStateRspMsg(unsigned long handle, unsigned long responseType, const MAKRti::DtString& xml, 00035 bool replaceExistingNotAppend = true, bool isStateFragment = false, 00036 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 00039 DtWwwStateRspMsg(const DtNetWwwStateRspMsg* netRep, 00040 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00041 00043 virtual ~DtWwwStateRspMsg(); 00044 00046 virtual DtRtiMsg* clone(bool copy = true) const; 00047 00049 virtual unsigned long source() const; 00050 virtual void setSource( unsigned long connHandle ); 00051 00053 virtual unsigned long responseType() const; 00054 virtual void setResponseType( unsigned long responseType ); 00055 00057 virtual const MAKRti::DtString& payload() const; 00058 virtual void setPayload( const MAKRti::DtString& xml ); 00059 00063 virtual bool isReplacementNotAppend() const; 00064 virtual void setIsReplacementNotAppend( bool replacesExistingState = true ); 00065 00069 virtual bool isComplete() const; 00070 virtual void setIsComplete( bool complete = true ); 00071 00072 00074 virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const; 00075 00076 00077 public: 00078 00080 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00081 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00082 00083 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00084 00086 static void addCallback(DtConnectionMgr* conn, DtWwwStateResponseCb cb, void* usr); 00087 static void removeCallback(DtConnectionMgr* conn, DtWwwStateResponseCb cb, void* usr); 00088 00089 protected: 00090 00092 virtual DtNetWwwStateRspMsg* netWwwStateRspMsg(); 00093 virtual const DtNetWwwStateRspMsg* netWwwStateRspMsg() const; 00094 00096 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00097 00099 virtual char* netMsgPayload(); 00100 00102 virtual int minSize() const; 00103 00104 protected: 00105 00107 MAKRti::DtString myXmlResponse; 00108 00109 }; 00110 00111 #endif //! DtWwwStateRspMsg_H_