MAK RTIspy API Documentation for HLA 1.3
execHandshakeMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2005 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: execHandshakeMsg.h,v $ $Revision: 1.7 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtRtiExecHandshakeMsg_H_
00013 #define DtRtiExecHandshakeMsg_H_
00014 
00015 #include "rtiMsg.h"
00016 
00017 
00018 class DtConnectionMgr;
00019 class DtRtiExecHandshakeMsg;
00020 class DtNetExecHandshakeMsg;
00021 typedef void (*DtRtiExecHsCb)(const DtRtiExecHandshakeMsg& inter, void* usr);
00022 
00023 class DT_DLL_LRC DtRtiExecHandshakeMsg : public DtRtiMsg
00024 {
00025 public:
00026    enum DtHandshakeStatus
00027    {
00028       HsRequest = 0,
00029       HsResponseGranted,
00030       HsResponseDenied
00031    };
00032    
00034    DtRtiExecHandshakeMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00035 
00037    DtRtiExecHandshakeMsg(const DtNetExecHandshakeMsg* netRep,
00038       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00039 
00041    DtRtiExecHandshakeMsg(DtHandle srcHandle, DtHandle destHandle, DtHandshakeStatus hsStatus,
00042       MAKRti::DtString sourceHostName, bool fullyCompliant,
00043       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00044 
00046    virtual ~DtRtiExecHandshakeMsg();
00047 
00049    virtual DtRtiMsg* clone(bool copy = true) const; 
00050 
00052    virtual void set( DtHandle srcHandle, DtHandle destHandle, 
00053                      DtHandshakeStatus hsStatus, MAKRti::DtString sourceHost,
00054                      bool fullyCompliant );
00055 
00057    virtual DtHandle srcConnectionHandle() const;
00058    virtual void setSrcConnectionHandle( DtHandle handle );
00059 
00061    virtual DtHandle destConnectionHandle() const;
00062    virtual void setDestConnectionHandle( DtHandle handle );
00063 
00064    virtual MAKRti::DtString sourceHostName() const;
00065 
00067    virtual DtHandshakeStatus handshakeStatus() const;
00068    virtual void setHandshakeStatus( DtHandshakeStatus hsStatus );
00069 
00071    virtual bool fullyCompliant() const;
00072    virtual void setFullyCompliant( bool fullComplianceEnabled );
00073    
00075    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00076 
00077 public:
00078 
00080    static DtRtiMsg* create(const DtNetMsgHeader* initial,
00081       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00082 
00083    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00084 
00086    static void addCallback(DtConnectionMgr* conn,
00087       DtRtiExecHsCb cb, void* usr, bool isMomCallback=false);
00088    static void removeCallback(DtConnectionMgr* conn,
00089       DtRtiExecHsCb cb, void* usr, bool isMomCallback=false);
00090 
00091 protected:
00092 
00094    virtual DtNetExecHandshakeMsg* netExecHandshakeMsg();
00095    virtual const DtNetExecHandshakeMsg* netExecHandshakeMsg() const;
00096 
00097 
00098    virtual char* sourceHostNamePtr();
00099    virtual const char* sourceHostNamePtr() const;
00100    virtual int sourceHostNameSize() const;
00101    virtual void setSourceHostName(const MAKRti::DtString& hostName);
00102 
00104    virtual DtRtiMsgKind internalDtRtiMsgKind();
00105 
00107    virtual int minSize() const;
00108 
00110    virtual DtRtiExecHandshakeMsg* self() const;
00111 
00112 protected:
00113 
00114 };
00115 
00116 
00117 inline DtRtiExecHandshakeMsg* DtRtiExecHandshakeMsg::self() const
00118 {
00119    return const_cast<DtRtiExecHandshakeMsg*>( this );
00120 }
00121 
00122 #endif
00123 

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)