MAK RTIspy API Documentation for HLA 1.3
multiNameReservedMsg.h
Go to the documentation of this file.
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 

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)