MAK RTIspy API Documentation for HLA 1516
reconnectMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: reconnectMsg.h,v $ $Revision: 1.8 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtReconnectMsg_H_
00013 #define DtReconnectMsg_H_
00014 
00015 #include "rtiMsg.h"
00016 #include "netReconnectMsg.h"
00017 
00018 class DtConnectionMgr;
00019 class DtReconnectMsg;
00020 typedef void (*DtReconnectMsgCb)(const DtReconnectMsg& inter, void* usr);
00021 
00022 class DT_DLL_LRC DtReconnectMsg : public DtRtiMsg
00023 {
00024 public:
00025    enum DtReconnectStatus {
00026       DtReconnectRequest = 0,
00027       DtReconnectAccepted,
00028       DtReconnectDenied
00029    };
00030      
00032    DtReconnectMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00033 
00035    DtReconnectMsg(const DtNetReconnectMsg* netRep,
00036       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
00037 
00039    DtReconnectMsg( DtHandle oldConnId, 
00040                    DtHandle newConnId,
00041                    DtFederateHandle fedId,
00042                    DtReconnectStatus status,
00043                    DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
00044 
00046    virtual ~DtReconnectMsg();
00047 
00049    virtual DtRtiMsg* clone(bool copy = true) const; 
00050 
00052    virtual void set( DtHandle oldConnId, DtHandle newConnId, DtFederateHandle fedId,
00053                      DtReconnectStatus status );
00054 
00055    // Set / get old connection handle
00056    virtual DtHandle oldConnectionHandle() const;
00057    virtual void setOldConnectionHandle(DtHandle handle);
00058 
00060    virtual DtHandle newConnectionHandle() const;
00061    virtual void setNewConnectionHandle(DtHandle handle);
00062 
00064    virtual DtReconnectStatus reconnectStatus() const;
00065    virtual void setReconnectStatus( DtReconnectStatus status );
00066 
00068    virtual DtFederateHandle federateHandle() const;
00069    virtual void setFederateHandle(DtFederateHandle handle);
00070 
00072    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00073 
00074 public:
00075 
00077    static DtRtiMsg* create(const DtNetMsgHeader* initial,
00078       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00079 
00080    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00081 
00083    static void addCallback(DtConnectionMgr* conn,
00084       DtReconnectMsgCb cb, void* usr, bool isMomCallback=false);
00085    static void removeCallback(DtConnectionMgr* conn,
00086       DtReconnectMsgCb cb, void* usr, bool isMomCallback=false);
00087 
00088 protected:
00089 
00091    virtual DtNetReconnectMsg* netReconnectMsg();
00092    virtual const DtNetReconnectMsg* netReconnectMsg() const;
00093 
00095    virtual DtRtiMsgKind internalDtRtiMsgKind();
00096 
00098    virtual int minSize() const;
00099 
00101    virtual DtReconnectMsg* self() const;
00102 
00103 protected:
00104 
00105 };
00106 
00107 
00108 inline DtReconnectMsg* DtReconnectMsg::self() const
00109 {
00110    return (DtReconnectMsg*) this;
00111 }
00112 
00113 #endif
00114 

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)