MAK RTIspy API Documentation for HLA Evolved
assistantStateObserveMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: assistantStateObserveMsg.h,v $ $Revision: 1.8 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef DtAssistantStateObserveMsg_H_
00010 #define DtAssistantStateObserveMsg_H_
00011 
00015 
00016 #include <vlutil/vlString.h>
00017 #include <vlutil/vlUtil.h>
00018 
00019 #include "assistantMsg.h"
00020 #include "netAssistantStateObserveMsg.h"
00021 
00022 class DtRtiAssistantPeer;
00023 class DtRtiAssistantClient;
00024 class DtAssistantStateObserveMsg;
00025 class DtRtiConnectionInfo;
00026 
00027 typedef void (*DtAssistantStateObserveCb)(const DtAssistantStateObserveMsg& inter, void* usr);
00028 
00029 enum DtAssistantStateObserveType
00030 {
00031    DtAssistantStateObserveFederationsOrRtiexec = 0,
00032    DtAssistantStateObserveForwarder,
00033    DtAssistantStateObserveForwarderPersistent
00034 };
00035 
00040 class DT_DLL_ASSISTANT DtAssistantStateObserveMsg : public DtAssistantMsg
00041 {
00042 public:
00043 
00045    DtAssistantStateObserveMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00046 
00048    DtAssistantStateObserveMsg(const DtNetAssistantStateObserveMsg* netRepMsg,
00049       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00050 
00052    virtual ~DtAssistantStateObserveMsg();
00053 
00055    virtual DtAssistantMsg* clone(bool copy = true) const;
00056 
00058    virtual bool isObserved() const;
00059 
00061    virtual void setIsObserved( bool observed );
00062 
00064    virtual bool isLogRequest() const;
00065 
00067    virtual void setIsLogRequest( bool observed );
00068 
00070    virtual void setDefunctRemovalTime( int removalTime );
00071 
00073    virtual int getDefunctRemovalTime() const;
00074 
00076    virtual bool isSingleView() const;
00077 
00079    virtual void setIsSingleView( bool oneTime ); 
00080 
00082    virtual unsigned int timeStateUpdateInterval() const;
00083 
00085    virtual void setTimeStateUpdateInterval( unsigned int interval );
00086 
00088    virtual DtAssistantStateObserveType targetType() const;
00089 
00091    virtual void setTargetType(DtAssistantStateObserveType target);
00092 
00095    virtual void getConnection( DtRtiConnectionInfo& conn,
00096       const MAKRti::DtInetAddr& address ) const;
00097 
00099    virtual void setConnection( const DtRtiConnectionInfo& conn );
00100 
00102    virtual void printData() const;
00103 
00104 public:
00105 
00107    static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial,
00108       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00109 
00110    static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00111 
00114    static void addCallback(DtRtiAssistantClient* conn,
00115       DtAssistantStateObserveCb cb, void* usr);
00116    static void removeCallback(DtRtiAssistantClient* conn,
00117       DtAssistantStateObserveCb cb, void* usr);
00118       
00121    static void addCallback(DtRtiAssistantPeer* conn,
00122       DtAssistantStateObserveCb cb, void* usr);
00123    static void removeCallback(DtRtiAssistantPeer* conn,
00124       DtAssistantStateObserveCb cb, void* usr);
00125       
00126 protected:
00127 
00129    virtual DtNetAssistantStateObserveMsg* netAssistantStateObserveMsg();
00130    virtual const DtNetAssistantStateObserveMsg* netAssistantStateObserveMsg() const;
00131 
00133    virtual DtAssistantMsgKind internalMsgKind();
00134 
00136    virtual int minSize() const;
00137 
00138 };
00139 
00140 #endif
00141 

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)