MAK RTIspy API Documentation for HLA Evolved
assistantAwaitingFwsMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2010 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: assistantAwaitingFwsMsg.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef DtAssistantAwaitingForwardersMsg_H_
00010 #define DtAssistantAwaitingForwardersMsg_H_
00011 
00015 
00016 #include <vlutil/vlString.h>
00017 #include <vlutil/vlUtil.h>
00018 
00019 #include "assistantMsg.h"
00020 #include "federationInfo.h"
00021 #include "netAssistantAwaitingFwsMsg.h"
00022 #include "rtiAssistantForwarderClient.h"
00023 #include "rtiVersion.h"
00024 
00025 class DtRtiAssistantServer;
00026 class DtRtiAssistantClient;
00027 class DtAssistantAwaitingForwardersMsg;
00028 
00029 typedef void (*DtAssistantAwaitingForwardersCb)(const DtAssistantAwaitingForwardersMsg& inter, void* usr);
00030 
00036 class DT_DLL_ASSISTANT DtAssistantAwaitingForwardersMsg : public DtAssistantMsg
00037 {
00038 public:
00039 
00041    DtAssistantAwaitingForwardersMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00042 
00043    DtAssistantAwaitingForwardersMsg(const DtNetAssistantAwaitingForwardersMsg* netRepMsg,
00044       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00045 
00047    virtual ~DtAssistantAwaitingForwardersMsg();
00048 
00050    virtual DtAssistantMsg* clone(bool copy = true) const;
00051    
00053    virtual void printData() const;
00054 
00055 public:
00056 
00058    static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial,
00059       MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00060 
00061    static DtAssistantMsg* create(MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00062 
00065    static void addCallback(DtRtiAssistantServer* conn, 
00066       DtAssistantAwaitingForwardersCb cb, void* usr);
00067    static void removeCallback(DtRtiAssistantServer* conn, 
00068       DtAssistantAwaitingForwardersCb cb, void* usr);
00069 
00072    static void addCallback(DtRtiAssistantClient* conn, 
00073       DtAssistantAwaitingForwardersCb cb, void* usr);
00074    static void removeCallback(DtRtiAssistantClient* conn, 
00075       DtAssistantAwaitingForwardersCb cb, void* usr);
00076    
00078    void getForwarders(DtNeededFwConnMap& fws) const;
00079 
00081    void setForwarders(const DtNeededFwConnMap& fws);
00082 
00085    bool isWaitingForForwarders() const;
00086 
00089    void setIsWaitingForForwarders(bool isWaiting);
00090 
00092    unsigned int numForwarders() const;
00093       
00094 protected:
00095 
00097    virtual DtNetAssistantAwaitingForwardersMsg* netAssistantAwaitingForwardersMsg();
00098    virtual const DtNetAssistantAwaitingForwardersMsg* netAssistantAwaitingForwardersMsg() const;
00099 
00101    virtual DtAssistantMsgKind internalMsgKind();
00102 
00104    virtual int minSize() const;
00105 
00107    virtual const DtNetU128* forwarderAddrsPtr() const;
00108    virtual DtNetU128* forwarderAddrsPtr();
00109 
00111    virtual const DtNetU16* forwarderPortsPtr() const;
00112    virtual DtNetU16* forwarderPortsPtr();
00113 
00115    virtual unsigned int forwarderNamesSize() const;
00116    virtual void setForwarderNamesSize(unsigned int size);
00117 
00119    virtual const char* forwarderNamesPtr() const;
00120    virtual char* forwarderNamesPtr();
00121 
00123    const DtNetU8* forwarderConnectedPtr() const;
00124    DtNetU8* forwarderConnectedPtr();
00125 };
00126 
00127 #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)