MAK RTIspy API Documentation for HLA 1516
assistantExecStateMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: assistantExecStateMsg.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef DtAssistantExecStateMsg_H_
00010 #define DtAssistantExecStateMsg_H_
00011 
00015 
00016 #include <vlutil/vlInetAddr.h>
00017 #include <vlutil/vlString.h>
00018 #include <vlutil/vlUtil.h>
00019 
00020 #include "assistantMsg.h"
00021 #include "federationInfo.h"
00022 #include "netAssistantExecStateMsg.h"
00023 
00024 class DtRtiAssistantPeer;
00025 class DtRtiAssistantServer;
00026 class DtAssistantExecStateMsg;
00027 
00028 typedef void (*DtAssistantExecStateCb)(const DtAssistantExecStateMsg& inter, void* usr);
00029 
00034 class DT_DLL_ASSISTANT DtAssistantExecStateMsg : public DtAssistantMsg
00035 {
00036 public:
00037 
00039    DtAssistantExecStateMsg(MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00040 
00041    DtAssistantExecStateMsg(const DtNetAssistantExecStateMsg* netRepMsg,
00042       MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00043 
00045    virtual ~DtAssistantExecStateMsg();
00046 
00048    virtual DtAssistantMsg* clone(bool copy = true) const;
00049    
00051    virtual void printData() const;
00052 
00053 public:
00054 
00056    static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial,
00057       MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00058 
00059    static DtAssistantMsg* create(MAKRti::DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00060 
00063    static void addCallback(DtRtiAssistantServer* conn, 
00064       DtAssistantExecStateCb cb, void* usr);
00065    static void removeCallback(DtRtiAssistantServer* conn, 
00066       DtAssistantExecStateCb cb, void* usr);
00067 
00070    static void addCallback(DtRtiAssistantPeer* conn, 
00071       DtAssistantExecStateCb cb, void* usr);
00072    static void removeCallback(DtRtiAssistantPeer* conn, 
00073       DtAssistantExecStateCb cb, void* usr);
00074 
00075    void getAllData(unsigned int& numFedexs,
00076       std::vector<unsigned int>& fedexHandles,
00077       std::vector<MAKRti::DtString>& fedexNames,
00078       std::vector<unsigned int>& fedsInEachFedex,
00079       std::vector<unsigned int>& fedHandles,
00080       std::vector<MAKRti::DtString>& fedNames,          
00081       std::vector<MAKRti::DtString>& fedHostNames,
00082       std::vector<MAKRti::DtInetAddr>& federateAddrs,
00083       std::vector<DtHlaVersionId>& hlaVers) const;
00084 
00085    bool setAllData(unsigned int numFedexs,
00086       const std::vector<unsigned int>& fedexHandles,
00087       const std::vector<MAKRti::DtString>& fedexNames,
00088       const std::vector<unsigned int>& federatesInEachFedex,
00089       const std::vector<unsigned int>& fedHandles,
00090       const std::vector<MAKRti::DtString>& fedNames,          
00091       const std::vector<MAKRti::DtString>& fedHostNames,
00092       const std::vector<MAKRti::DtInetAddr>& federateAddrs,
00093       const std::vector<DtHlaVersionId>& hlaVers);
00094       
00095 protected:
00096 
00098    virtual DtNetAssistantExecStateMsg* netAssistantExecStateMsg();
00099    virtual const DtNetAssistantExecStateMsg* netAssistantExecStateMsg() const;
00100 
00102    virtual DtAssistantMsgKind internalMsgKind();
00103 
00105    virtual int minSize() const;
00106 
00108    virtual unsigned int numFederations() const;
00109    virtual void setNumFederations( unsigned int numFed );
00110 
00113    virtual unsigned long federationNamesSize() const;
00114    virtual void setFederationNamesSize(unsigned long);
00115 
00117    virtual const char* federationNamesPtr() const;
00118    virtual char* federationNamesPtr();
00119 
00120    virtual bool setFederationNames( const std::vector<MAKRti::DtString>& fedexNames);
00121    virtual void federationNames(std::vector<MAKRti::DtString>& names) const;
00122 
00124    virtual unsigned int numFederates() const;
00125    virtual void setNumFederates( unsigned int totalNum );
00126 
00128    virtual MAKRti::DtInetUtils::DtInetAddrFamily addressFamily() const;
00129    virtual void setAddressFamily( MAKRti::DtInetUtils::DtInetAddrFamily totalNum );
00130 
00133    virtual unsigned long federateNamesSize() const;
00134    virtual void setFederateNamesSize(unsigned long);
00135 
00137    virtual const char* federateNamesPtr() const;
00138    virtual char* federateNamesPtr();
00139 
00140    virtual bool setFederateNames( const std::vector<MAKRti::DtString>& fedNames);
00141    virtual void federateNames(std::vector<MAKRti::DtString>& fedNames) const;
00142 
00145    virtual unsigned long federateHostNamesSize() const;
00146    virtual void setFederateHostNamesSize(unsigned long);
00147 
00149    virtual const char* federateHostNamesPtr() const;
00150    virtual char* federateHostNamesPtr();
00151 
00152    virtual bool setFederateHostNames( const std::vector<MAKRti::DtString>& fedHostNames);
00153    virtual void federateHostNames(std::vector<MAKRti::DtString>& names) const;
00154 
00156    virtual void federationHandles(std::vector<unsigned int>& handles) const;
00157    virtual bool setFederationHandles(const std::vector<unsigned int>& fedexHandles);
00158 
00160    virtual const DtNetU32* federationHandlesPtr() const;
00161    virtual DtNetU32* federationHandlesPtr();
00162 
00164    virtual void federateHandles(std::vector<unsigned int>& handles) const;
00165    virtual bool setFederateHandles(const std::vector<unsigned int>& fedHandles);
00166 
00168    virtual const DtNetU32* federateHandlesPtr() const;
00169    virtual DtNetU32* federateHandlesPtr();
00170 
00172    virtual void federateHlaVersions(std::vector<DtHlaVersionId>& versions) const;
00173    virtual bool setFederateHlaVersions(const std::vector<DtHlaVersionId>& versions);
00174 
00176    virtual const DtNetU8* federateHlaVersionsPtr() const;
00177    virtual DtNetU8* federateHlaVersionsPtr();
00178 
00179 
00181    virtual void federateHostAddresses(std::vector<MAKRti::DtInetAddr>& addrs) const;
00182    virtual bool setFederateHostAddresses(const std::vector<MAKRti::DtInetAddr>& federateAddrs);
00183 
00185    virtual const DtNetU128* federateHostAddrsPtr() const;
00186    virtual DtNetU128* federateHostAddrsPtr();
00187 
00188 
00190    virtual void numFederatesInEachFederation(std::vector<unsigned int>& numFeds ) const;
00191    virtual bool setNumFederatesInEachFederation(
00192       const std::vector<unsigned int>& federatesInEachFedex);
00193 
00194    virtual const DtNetU16* federatesInEachFederationPtr() const;
00195    virtual DtNetU16* federatesInEachFederationPtr();
00196 
00197 
00198 
00199 
00200 };
00201 
00202 #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)