![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: multiNameReservedMsg.h,v $ $Revision: 1.0 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtMultiNameReservedMsg_H_ 00013 #define DtMultiNameReservedMsg_H_ 00014 00015 #include "rtiMsConfig.h" 00016 #include <string> 00017 #include "rtiMsg.h" 00018 #include "netRtiMsgHdr.h" 00019 00020 class DtConnectionMgr; 00021 class DtNetReserveMultiNameMsg; 00022 class DtMultiNameReservedMsg; 00023 typedef void (*DtMultiNameReservedCb)(const DtMultiNameReservedMsg& inter, void* usr); 00024 00025 class DT_DLL_LRC DtMultiNameReservedMsg : public DtRtiMsg 00026 { 00027 public: 00028 00030 DtMultiNameReservedMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00031 00032 DtMultiNameReservedMsg( 00033 DtFederateHandle fedHandle, 00034 std::set< std::wstring > const & objectNames, 00035 bool succeeded, 00036 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 00039 DtMultiNameReservedMsg(DtNetReserveMultiNameMsg const * netRepMsg, 00040 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00041 00043 virtual ~DtMultiNameReservedMsg(); 00044 00046 virtual DtRtiMsg* clone(bool copy = true) const; 00047 00049 virtual void set(DtFederateHandle fedHandle, std::set< std::wstring > const & objectNames, 00050 bool succeeded); 00051 00053 virtual DtFederateHandle requestingFederate() const; 00054 virtual void setRequestingFederate(DtFederateHandle fedHandle); 00055 00056 virtual std::set< std::wstring > getObjects() const; 00057 00059 virtual void setObjectNames(std::set< std::wstring > const & objectNames); 00060 virtual void getObjectNames(std::set< std::wstring > & objectNames ) const; 00061 00063 virtual bool result() const; 00064 virtual void setResult(bool succeeded); 00065 00067 virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const; 00068 00069 public: 00070 00072 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00073 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00074 00076 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00077 00079 static void addCallback(DtConnectionMgr* conn, 00080 DtMultiNameReservedCb cb, void* usr, bool isMomCallback=false); 00081 static void removeCallback(DtConnectionMgr* conn, 00082 DtMultiNameReservedCb cb, void* usr, bool isMomCallback=false); 00083 00084 protected: 00085 00087 virtual DtNetReserveMultiNameMsg* netMultiNameReservedMsg(); 00088 virtual DtNetReserveMultiNameMsg const * netMultiNameReservedMsg() const; 00089 00091 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00092 00094 virtual int minSize() const; 00095 00097 virtual char* objectNamesPtr() const; 00098 00099 virtual void setObjectNamesSize( unsigned long size ); 00100 virtual unsigned long objectNamesSize() const; 00101 }; 00102 00103 #endif //! DtMultiNameReservedMsg_H_ 00104