MAK RTIspy API Documentation for HLA Evolved
nameReservedMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2003 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: nameReservedMsg.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtNameReservedMsg_H_
00013 #define DtNameReservedMsg_H_
00014 
00015 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00016 
00017 #include "rtiMsConfig.h"
00018 #include <string>
00019 #include "rtiMsg.h"
00020 #include "netRtiMsgHdr.h"
00021 
00022 class DtConnectionMgr;
00023 class DtNetReserveNameMsg;
00024 class DtNameReservedMsg;
00025 typedef void (*DtNameReservedCb)(const DtNameReservedMsg& inter, void* usr);
00026 
00027 class DT_DLL_LRC DtNameReservedMsg : public DtRtiMsg
00028 {
00029 public:
00030 
00032    DtNameReservedMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00033 
00034    DtNameReservedMsg(
00035       DtFederateHandle fedHandle,
00036       char const * objectName,
00037       bool succeeded,
00038       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00039 
00041    DtNameReservedMsg(DtNetReserveNameMsg const * netRepMsg,
00042       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00043 
00045    virtual ~DtNameReservedMsg();
00046 
00048    virtual DtRtiMsg* clone(bool copy = true) const; 
00049 
00051    virtual void set(DtFederateHandle fedHandle, char const * objectName,
00052       bool succeeded);
00053 
00055    virtual DtFederateHandle requestingFederate() const;
00056    virtual void setRequestingFederate(DtFederateHandle fedHandle);
00057 
00059    virtual char const * objectName() const;
00060    virtual void setObjectName(char const * objectName);
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       DtNameReservedCb cb, void* usr, bool isMomCallback=false);
00081    static void removeCallback(DtConnectionMgr* conn,
00082       DtNameReservedCb cb, void* usr, bool isMomCallback=false);
00083 
00084 protected:
00085 
00087    virtual DtNetReserveNameMsg* netNameReservedMsg();
00088    virtual DtNetReserveNameMsg const * netNameReservedMsg() const;
00089 
00091    virtual DtRtiMsgKind internalDtRtiMsgKind();
00092 
00094    virtual int minSize(char const * objectName) const;
00095 
00097    virtual char* namePtr() const;
00098 
00099 };
00100 
00101 #endif //! DtIFSPEC1516
00102 #endif //! DtNameReservedMsg_H_
00103 

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)