MAK RTIspy API Documentation for HLA 1.3
partnerFederateMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: partnerFederateMsg.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtPartnerFederateMsg_H_
00013 #define DtPartnerFederateMsg_H_
00014 
00015 #include "rtiMsg.h"
00016 #include "netPartnerFederateMsg.h"
00017 
00018 enum DtPartnerResponse
00019 {
00020    DtPartnerResponseAccept,
00021    DtPartnerResponseConfirm,
00022    DtPartnerResponseReject,
00023    DtPartnerResponseInvalid
00024 };
00025 
00026 class DtConnectionMgr;
00027 class DtPartnerFederateMsg;
00028 typedef void (*DtPartnerFederateCb)(const DtPartnerFederateMsg& msg, void* usr);
00029 
00030 class DT_DLL_LRC DtPartnerFederateMsg : public DtRtiMsg
00031 {
00032 public:
00033 
00035    DtPartnerFederateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00036 
00038    DtPartnerFederateMsg(
00039       DtFederateHandle partnerHandle,
00040       DtPartnerResponse response,
00041       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00042 
00044    DtPartnerFederateMsg(const DtNetPartnerFederateMsg* netRepMsg,
00045       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00046 
00048    virtual ~DtPartnerFederateMsg();
00049 
00051    virtual DtRtiMsg* clone(bool copy = true) const; 
00052 
00054    virtual void set(DtFederateHandle partnerHandle, DtPartnerResponse response);
00055 
00057    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00058 
00060    virtual DtFederateHandle partnerFederate() const;
00061 
00063    virtual void setPartnerFederate(DtFederateHandle fedHandle);
00064 
00066    virtual DtPartnerResponse partnerResponse() const;
00067 
00069    virtual void setPartnerResponse(DtPartnerResponse response);
00070 
00071 public:
00072 
00074    static DtRtiMsg* create(const DtNetMsgHeader* initial, 
00075       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00077    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00078 
00080    static void addCallback(DtConnectionMgr *conn, 
00081       DtPartnerFederateCb cb, void *usr);
00082    static void removeCallback(DtConnectionMgr *conn, 
00083       DtPartnerFederateCb cb, void *usr);
00084    
00085 protected:
00087    virtual DtNetPartnerFederateMsg* netPartnerFederateMsg();
00088    virtual const DtNetPartnerFederateMsg* netPartnerFederateMsg() const;
00089 
00091    virtual DtRtiMsgKind internalDtRtiMsgKind();
00092 
00094    virtual int minSize() const;
00095 
00097    virtual DtPartnerFederateMsg* self() const;
00098 
00099 
00100 
00101 protected:
00102 
00103    char* myLabel;
00104 };
00105 
00106 inline DtPartnerFederateMsg* DtPartnerFederateMsg::self() const
00107 {
00108    return const_cast<DtPartnerFederateMsg*>( this );
00109 }
00110 
00111 #endif

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)