MAK RTIspy API Documentation for HLA Evolved
assistantInfoMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: assistantInfoMsg.h,v $ $Revision: 1.25 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef DtAssistantInfoMsg_H_
00010 #define DtAssistantInfoMsg_H_
00011 
00014 
00015 #include <vlutil/vlString.h>
00016 #include <vlutil/vlUtil.h>
00017 #include <rtiUtil.h>
00018 
00019 #include "assistantConnectionInfo.h"
00020 #include "assistantMsg.h"
00021 #include "assistantConnectionConfigurationInfo.h"
00022 #include "netAssistantInfoMsg.h"
00023 
00024 class DtAssistantInfoMsg;
00025 class DtRtiAssistantPeer;
00026 class DtRtiConnectionAndConfiguration;
00027 
00028 
00029 typedef void (*DtAssistantInfoCb)(const DtAssistantInfoMsg& inter, void* usr);
00030 
00034 class DT_DLL_ASSISTANT DtAssistantInfoMsg : public DtAssistantMsg
00035 {
00036 public:
00037 
00039    DtAssistantInfoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00040 
00041    DtAssistantInfoMsg(const DtNetAssistantInfoMsg* netRepMsg,
00042       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00043 
00045    virtual ~DtAssistantInfoMsg();
00046 
00048    virtual DtAssistantMsg* clone(bool copy = true) const;
00049 
00051    virtual void setRtiexecsAndForwarders(
00052       const DtRtiConnectionAndConfiguration& rtiexecsAndForwarders );
00053 
00054    virtual void getRtiexecsAndForwarders(
00055       DtRtiConnectionAndConfiguration& rtiexecsAndForwarders,
00056       const MAKRti::DtInetAddr& interfaceReceivedOn ) const;
00057 
00060    virtual bool isRemoval() const;
00061    virtual void setRemoval( bool val );
00062 
00065    virtual bool remoteCmdsAccepted() const;
00066    virtual void setRemoteCmdsAccepted( bool val );
00067 
00069    virtual unsigned int assistantInfoMemoryPeriod() const; 
00070    virtual void setAssistantInfoMemoryPeriod(unsigned int interval);
00071 
00073    virtual void printData() const;
00074 
00075 public:
00076 
00078    static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial,
00079       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00080 
00081    static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00082 
00085    static void addCallback(DtRtiAssistantPeer* conn,
00086       DtAssistantInfoCb cb, void* usr);
00087    static void removeCallback(DtRtiAssistantPeer* conn,
00088       DtAssistantInfoCb cb, void* usr);
00089       
00090 protected:
00091 
00093    virtual DtNetAssistantInfoMsg* netAssistantInfoMsg();
00094    virtual const DtNetAssistantInfoMsg* netAssistantInfoMsg() const;
00095 
00097    virtual DtAssistantMsgKind internalMsgKind();
00098 
00100    virtual int minSize() const;
00101 
00103    virtual void setRtiexecForwarderCount( unsigned long count );
00104    virtual unsigned long rtiexecForwarderCount() const;
00105 
00108    virtual const DtNetU128* reliableAddrsPtr() const;
00109    virtual DtNetU128* reliableAddrsPtr();
00110 
00113    virtual const DtNetU128* bestEffortAddrsPtr() const;
00114    virtual DtNetU128* bestEffortAddrsPtr();
00115 
00117    virtual const DtNetU32* addressFamiliesPtr() const;
00118    virtual DtNetU32* addressFamiliesPtr();
00119 
00121    virtual const DtNetU32* rtiexecCompIdsPtr() const;
00122    virtual DtNetU32* rtiexecCompIdsPtr();
00123 
00125    virtual const DtNetU32* forwarderCompIdsPtr() const;
00126    virtual DtNetU32* forwarderCompIdsPtr();
00127 
00129    virtual const DtNetU16* tcpPortsPtr() const;
00130    virtual DtNetU16* tcpPortsPtr();
00131 
00133    virtual const DtNetU16* udpPortsPtr() const;
00134    virtual DtNetU16* udpPortsPtr();
00135 
00138    virtual const DtNetU16* forwarderPortsPtr() const;
00139    virtual DtNetU16* forwarderPortsPtr();
00140 
00143    virtual const DtNetU8* fullCompliancePtr() const;
00144    virtual DtNetU8* fullCompliancePtr();
00145 
00148    virtual const DtNetU8* rtiexecForwarderFlagPtr() const;
00149    virtual DtNetU8* rtiexecForwarderFlagPtr();
00150 
00152    virtual void setRtiexecForwarderNamesSize( unsigned long size );
00153    virtual unsigned long rtiexecForwarderNamesSize() const;
00154 
00156    virtual const char* rtiexecForwarderNamesPtr() const;
00157    virtual char* rtiexecForwarderNamesPtr();
00158 
00160    virtual void setHostNamesSize( unsigned long size );
00161    virtual unsigned long hostNamesSize() const;
00162 
00164    virtual const char* hostNamesPtr() const;
00165    virtual char* hostNamesPtr();
00166 
00168    virtual void setOwnerHostSize( unsigned size );
00169    virtual unsigned ownerHostSize() const;
00170 
00172    virtual const char* ownerHostsPtr() const;
00173    virtual char* ownerHostsPtr();
00174 
00175    std::map<DtRtiConnectionInfo, DtRtiConnectionConfigurationInfo> myConfigurationsByConnectionMap;
00176 
00178    static const unsigned theRtiexecFlag;
00179 
00181    static const unsigned theForwarderFlag;
00182 
00185    static const unsigned theForwarderHasRtiexecFlag;
00186 
00187 };
00188 
00189 #endif // DtAssistantInfoMsg_H_
00190 

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)