MAK RTIspy API Documentation for HLA 1.3
assistantTimeStateMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: assistantTimeStateMsg.h,v $ $Revision: 1.2 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef DtAssistantTimeStateMsg_H_
00010 #define DtAssistantTimeStateMsg_H_
00011 
00015 
00016 #include <vlutil/vlString.h>
00017 #include <vlutil/vlUtil.h>
00018 
00019 #include "assistantMsg.h"
00020 #include "netAssistantTimeStateMsg.h"
00021 #include "federationInfo.h"
00022 
00023 class DtRtiAssistantServer;
00024 class DtAssistantTimeStateMsg;
00025 
00026 typedef void (*DtAssistantTimeStateCb)(const DtAssistantTimeStateMsg& inter, void* usr);
00027 
00032 class DT_DLL_ASSISTANT DtAssistantTimeStateMsg : public DtAssistantMsg
00033 {
00034 public:
00035 
00037    DtAssistantTimeStateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00038 
00039    DtAssistantTimeStateMsg(const DtNetAssistantTimeStateMsg* netRepMsg,
00040       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00041 
00043    virtual ~DtAssistantTimeStateMsg();
00044 
00046    virtual DtAssistantMsg* clone(bool copy = true) const;
00047 
00049    virtual MAKRti::DtString federationName() const;
00050 
00052    virtual void setFederationName( const MAKRti::DtString& name );
00053 
00055    virtual void getFederateTimeStates( DtFederateInfoByHandleMap& federates ) const;
00056 
00058    virtual void setFederateTimeStates( const DtFederateInfoByHandleMap& federates );
00059 
00061    virtual void printData() const;
00062 
00063 public:
00064 
00066    static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial,
00067       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00068 
00069    static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00070 
00073    static void addCallback(DtRtiAssistantServer* conn,
00074       DtAssistantTimeStateCb cb, void* usr);
00075    static void removeCallback(DtRtiAssistantServer* conn,
00076       DtAssistantTimeStateCb cb, void* usr);
00077       
00078 protected:
00079 
00081    virtual DtNetAssistantTimeStateMsg* netAssistantTimeStateMsg();
00082    virtual const DtNetAssistantTimeStateMsg* netAssistantTimeStateMsg() const;
00083 
00085    virtual DtAssistantMsgKind internalMsgKind();
00086 
00088    virtual int minSize() const;
00089 
00092    virtual void setNumFederates( unsigned num );
00093    virtual unsigned numFederates() const;
00094 
00096    virtual DtNetU32* federateHdlsPtr();
00097    virtual const DtNetU32* federateHdlsPtr() const;
00098 
00100    virtual DtNetU8* regulatingPtr();
00101    virtual const DtNetU8* regulatingPtr() const;
00102 
00104    virtual DtNetU8* constrainedPtr();
00105    virtual const DtNetU8* constrainedPtr() const;
00106 
00108    virtual void setLbtsStringsSize( unsigned size );
00109    virtual unsigned lbtsStringsSize() const;
00110 
00112    virtual const char* lbtsStringsPtr() const;
00113    virtual char* lbtsStringsPtr();
00114 
00116    virtual void setLookAheadStringsSize( unsigned size );
00117    virtual unsigned lookAheadStringsSize() const;
00118 
00120    virtual const char* lookAheadStringsPtr() const;
00121    virtual char* lookAheadStringsPtr();
00122 
00124    virtual void setTimeStringsSize( unsigned size );
00125    virtual unsigned timeStringsSize() const;
00126 
00128    virtual const char* timeStringsPtr() const;
00129    virtual char* timeStringsPtr();
00130 
00132    virtual void setFederationNameSize( unsigned size );
00133    virtual unsigned federationNameSize() const;
00134 
00136    virtual const char* federationNamePtr() const;
00137    virtual char* federationNamePtr();
00138 
00139 };
00140 
00141 #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)