MAK RTIspy API Documentation for HLA Evolved
assistantFederateStateMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: assistantFederateStateMsg.h,v $ $Revision: 1.3 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef DtAssistantFederateStateMsg_H_
00010 #define DtAssistantFederateStateMsg_H_
00011 
00015 
00016 #include <vlutil/vlString.h>
00017 #include <vlutil/vlUtil.h>
00018 
00019 #include "rtiVersion.h"
00020 #include "assistantMsg.h"
00021 #include "netAssistantFederateStateMsg.h"
00022 
00023 class DtRtiAssistantPeer;
00024 class DtRtiAssistantServer;
00025 class DtAssistantFederateStateMsg;
00026 class MAKRti::DtInetAddr;
00027 
00028 typedef void (*DtAssistantFederateStateCb)(const DtAssistantFederateStateMsg& inter, void* usr);
00029 
00034 class DT_DLL_ASSISTANT DtAssistantFederateStateMsg : public DtAssistantMsg
00035 {
00036 public:
00037 
00039    DtAssistantFederateStateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00040 
00041    DtAssistantFederateStateMsg(const DtNetAssistantFederateStateMsg* netRepMsg,
00042       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00043 
00045    virtual ~DtAssistantFederateStateMsg();
00046 
00048    virtual DtAssistantMsg* clone(bool copy = true) const;
00049 
00051    virtual unsigned long connectionId() const;
00052 
00054    virtual void setConnectionId( unsigned long connId );
00055 
00057    virtual unsigned int federateHandle() const;
00058 
00060    virtual void setFederateHandle( unsigned int handle );
00061 
00063    virtual MAKRti::DtInetAddr federateHostIp() const;
00064 
00066    virtual void setFederateHostIp( const MAKRti::DtInetAddr& ip );
00067 
00069    virtual MAKRti::DtInetAddr webServerIp() const;
00070 
00072    virtual void setWebServerIp( const MAKRti::DtInetAddr& ip );
00073 
00075    virtual unsigned int webServerPort() const;
00076 
00078    virtual void setWebServerPort( unsigned int port );
00079 
00081    virtual bool isTestEnabled() const;
00082 
00084    virtual void setIsTestEnabled( bool enabled );
00085 
00087    virtual bool isTestInProgress() const;
00088 
00090    virtual void setIsTestInProgress( bool inProgress );
00091 
00093    virtual bool isContinuousTest() const;
00094 
00096    virtual void setIsContinuousTest( bool continuous );
00097 
00099    virtual unsigned int numInitiatedTests() const;
00100 
00102    virtual void setNumInitiatedTests( unsigned int num );
00103 
00105    virtual unsigned int numTestReports() const;
00106 
00108    virtual void setNumTestReports( unsigned int num );
00109 
00111    virtual bool isReconnecting() const;
00112 
00114    virtual void setIsReconnecting( bool reconnecting );
00115 
00117    virtual bool isDisconnected() const;
00118 
00120    virtual void setIsDisconnected( bool disconnected );
00121 
00123    virtual bool isRemoval() const;
00124 
00126    virtual void setIsRemoval( bool remove );
00127 
00129    virtual DtHlaVersionId hlaVersion() const;
00130 
00132    virtual void setHlaVersion( DtHlaVersionId version );
00133 
00135    virtual MAKRti::DtString federationName() const;
00136 
00138    virtual void setFederationName( const MAKRti::DtString& name );
00139 
00141    virtual MAKRti::DtString federateType() const;
00142 
00144    virtual void setFederateType( const MAKRti::DtString& type );
00145 
00147    virtual MAKRti::DtString federateName() const;
00148 
00150    virtual void setFederateName( const MAKRti::DtString& name );
00151 
00153    virtual MAKRti::DtString federateHostName() const;
00154 
00156    virtual void setFederateHostName( const MAKRti::DtString& name );
00157 
00159    virtual void printData() const;
00160 
00161 public:
00162 
00164    static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial,
00165       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00166 
00167    static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00168 
00171    static void addCallback(DtRtiAssistantServer* conn, 
00172       DtAssistantFederateStateCb cb, void* usr);
00173    static void removeCallback(DtRtiAssistantServer* conn, 
00174       DtAssistantFederateStateCb cb, void* usr);
00175 
00178    static void addCallback(DtRtiAssistantPeer* conn, 
00179       DtAssistantFederateStateCb cb, void* usr);
00180    static void removeCallback(DtRtiAssistantPeer* conn, 
00181       DtAssistantFederateStateCb cb, void* usr);
00182       
00183 protected:
00184 
00186    virtual DtNetAssistantFederateStateMsg* netAssistantFederateStateMsg();
00187    virtual const DtNetAssistantFederateStateMsg* netAssistantFederateStateMsg() const;
00188 
00190    virtual DtAssistantMsgKind internalMsgKind();
00191 
00193    virtual int minSize() const;
00194 
00196    virtual void setFederationNameSize( unsigned long size );
00197    virtual unsigned long federationNameSize() const;
00198 
00200    virtual const char* federationNamePtr() const;
00201    virtual char* federationNamePtr();
00202 
00204    virtual void setFederateTypeSize( unsigned long size );
00205    virtual unsigned long federateTypeSize() const;
00206 
00208    virtual const char* federateTypePtr() const;
00209    virtual char* federateTypePtr();
00210 
00212    virtual void setFederateNameSize( unsigned long size );
00213    virtual unsigned long federateNameSize() const;
00214 
00216    virtual const char* federateNamePtr() const;
00217    virtual char* federateNamePtr();
00218 
00220    virtual void setFederateHostNameSize( unsigned long size );
00221    virtual unsigned long federateHostNameSize() const;
00222 
00224    virtual const char* federateHostNamePtr() const;
00225    virtual char* federateHostNamePtr();
00226 
00227 };
00228 
00229 #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)