MAK RTIspy API Documentation for HLA 1516
reserveMultiNameMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2003 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: reserveNameMsg.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtReserveMultiNameMsg_H_
00013 #define DtReserveMultiNameMsg_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 DtReserveMultiNameMsg;
00023 typedef void (*DtReserveMultiNameCb)(const DtReserveMultiNameMsg& inter, void* usr);
00024 
00025 class DT_DLL_LRC DtReserveMultiNameMsg : public DtRtiMsg
00026 {
00027 public:
00028 
00030    DtReserveMultiNameMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00031 
00032    DtReserveMultiNameMsg(
00033       std::set< std::wstring > const & objectNames,
00034       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00035 
00037    DtReserveMultiNameMsg(DtNetReserveMultiNameMsg const * netRepMsg,
00038       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00039 
00041    virtual ~DtReserveMultiNameMsg();
00042 
00044    virtual DtRtiMsg* clone(bool copy = true) const; 
00045 
00047    virtual void set(std::set< std::wstring > const & objectNames );
00048 
00049    virtual void setObjectNames(std::set< std::wstring > const & objectNames);
00050    virtual void getObjectNames(std::set< std::wstring > & objectNames ) const;
00051 
00053    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00054 
00055 public:
00056 
00058    static DtRtiMsg* create(const DtNetMsgHeader* initial,
00059       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00060 
00062    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00063 
00065    static void addCallback(DtConnectionMgr* conn,
00066       DtReserveMultiNameCb cb, void* usr, bool isMomCallback=false);
00067    static void removeCallback(DtConnectionMgr* conn,
00068       DtReserveMultiNameCb cb, void* usr, bool isMomCallback=false);
00069 
00070 protected:
00071 
00073    virtual char const * objectNamesPtr() const;
00074    virtual char* objectNamesPtr();
00075 
00077    virtual void setObjectNamesSize( unsigned long size );
00078    virtual unsigned long objectNamesSize() const;
00079 
00081    int setMinSizes( const std::set<std::wstring>& objectNames);
00082 
00084    virtual DtNetReserveMultiNameMsg* netReserveMultiNameMsg();
00085    virtual DtNetReserveMultiNameMsg const * netReserveMultiNameMsg() const;
00086 
00088    virtual DtRtiMsgKind internalDtRtiMsgKind();
00089 
00091    virtual int minSize() const;
00092 };
00093 
00094 #endif //! DtReserveMultiNameMsg_H_
00095 

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)