MAK RTIspy API Documentation for HLA 1516
desgFedMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: desgFedMsg.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtDesignatedFederateMsg_H_
00013 #define DtDesignatedFederateMsg_H_
00014 
00015 #include "rtiMsg.h"
00016 #include "netDesgFedMsg.h"
00017 
00018 class DtConnectionMgr;
00019 class DtDesignatedFederateMsg;
00020 typedef void (*DtDesignatedFederateCb)(const DtDesignatedFederateMsg& msg, void* usr);
00021 
00022 class DT_DLL_LRC DtDesignatedFederateMsg : public DtRtiMsg
00023 {
00024 public:
00025 
00027    DtDesignatedFederateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00028 
00030    DtDesignatedFederateMsg(
00031       DtFederateHandle fedHandle,
00032       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00033 
00035    DtDesignatedFederateMsg(const DtNetDesignatedFederateMsg* netRepMsg,
00036       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00037 
00039    virtual ~DtDesignatedFederateMsg();
00040 
00042    virtual DtRtiMsg* clone(bool copy = true) const; 
00043 
00045    virtual void set(DtFederateHandle fedHandle);
00046 
00048    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00049 
00051    virtual DtFederateHandle designatedFederate() const;
00052    virtual void setDesignatedFederate(DtFederateHandle fedHandle);
00053 
00054 public:
00055 
00057    static DtRtiMsg* create(const DtNetMsgHeader* initial, 
00058       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00060    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00061 
00063    static void addCallback(DtConnectionMgr *conn, 
00064       DtDesignatedFederateCb cb, void *usr);
00065    static void removeCallback(DtConnectionMgr *conn, 
00066       DtDesignatedFederateCb cb, void *usr);
00067    
00068 protected:
00070    virtual DtNetDesignatedFederateMsg* netDesignatedFederateMsg();
00071    virtual const DtNetDesignatedFederateMsg* netDesignatedFederateMsg() const;
00072 
00074    virtual DtRtiMsgKind internalDtRtiMsgKind();
00075 
00077    virtual int minSize() const;
00078 
00080    virtual DtDesignatedFederateMsg* self() const;
00081 
00082 
00083 
00084 protected:
00085 
00086    char* myLabel;
00087 };
00088 
00089 inline DtDesignatedFederateMsg* DtDesignatedFederateMsg::self() const
00090 {
00091    return const_cast<DtDesignatedFederateMsg*>( this );
00092 }
00093 
00094 #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)