MAK RTIspy API Documentation for HLA 1516
assistantLightweightInfoMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: assistantLightweightInfoMsg.h,v $ $Revision: 1.7 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef DtAssistantLightweightInfoMsg_H_
00010 #define DtAssistantLightweightInfoMsg_H_
00011 
00014 
00015 #include <vlutil/vlString.h>
00016 #include <vlutil/vlUtil.h>
00017 #include <rtiUtil.h>
00018 
00019 #include "assistantConnectionInfo.h"
00020 #include "assistantLicServerInfo.h"
00021 #include "assistantMsg.h"
00022 #include "assistantConnectionConfigurationInfo.h"
00023 #include "netAssistantLightweightInfoMsg.h"
00024 
00025 class DtAssistantLightweightInfoMsg;
00026 class DtRtiAssistantPeer;
00027 class DtRtiConnectionAndConfiguration;
00028 
00029 
00030 typedef void (*DtAssistantLightweightInfoCb)(const DtAssistantLightweightInfoMsg& inter, void* usr);
00031 
00035 class DT_DLL_ASSISTANT DtAssistantLightweightInfoMsg : public DtAssistantMsg
00036 {
00037 public:
00038 
00040    DtAssistantLightweightInfoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00041 
00042    DtAssistantLightweightInfoMsg(const DtNetAssistantLightweightInfoMsg* netRepMsg,
00043       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00044 
00046    virtual ~DtAssistantLightweightInfoMsg();
00047 
00049    virtual DtAssistantMsg* clone(bool copy = true) const;
00050 
00052    virtual void setLightweightConns(
00053       const DtRtiConnectionAndConfiguration& lightweightConnections);
00054    virtual void getLightweightConns(DtRtiConnectionAndConfiguration& lightweightConnections, 
00055       const MAKRti::DtInetAddr& networkInterfaceReceivedOn ) const;
00056 
00058    virtual unsigned int lightweightMemoryPeriod() const; 
00059    virtual void setLightweightMemoryPeriod(unsigned int interval);
00060 
00062    virtual void printData() const;
00063 
00064 public:
00065 
00067    static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial,
00068       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00069 
00070    static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00071 
00074    static void addCallback(DtRtiAssistantPeer* conn,
00075       DtAssistantLightweightInfoCb cb, void* usr);
00076    static void removeCallback(DtRtiAssistantPeer* conn,
00077       DtAssistantLightweightInfoCb cb, void* usr);
00078       
00079 protected:
00080 
00082    virtual DtNetAssistantLightweightInfoMsg* netAssistantLightweightInfoMsg();
00083    virtual const DtNetAssistantLightweightInfoMsg* netAssistantLightweightInfoMsg() const;
00084 
00086    virtual DtAssistantMsgKind internalMsgKind();
00087 
00089    virtual int minSize() const;
00090 
00092    virtual void setLightweightConnCount( unsigned count );
00093    virtual unsigned lightweightConnCount() const;
00094 
00096    virtual void setLightweightNamesSize( unsigned size );
00097    virtual unsigned lightweightNamesSize() const;
00098 
00100    virtual void setOwnerHostSize( unsigned size );
00101    virtual unsigned ownerHostSize() const;
00102 
00104    virtual const DtNetU128* lightweightBestEffortAddrsPtr() const;
00105    virtual DtNetU128* lightweightBestEffortAddrsPtr();
00106 
00108    virtual const DtNetU32* addressFamiliesPtr() const;
00109    virtual DtNetU32* addressFamiliesPtr();
00110 
00112    virtual const DtNetU16* lightweightPortsPtr() const;
00113    virtual DtNetU16* lightweightPortsPtr();
00114 
00116    virtual const char* lightweightNamesPtr() const;
00117    virtual char* lightweightNamesPtr();
00118 
00120    virtual const char* ownerHostsPtr() const;
00121    virtual char* ownerHostsPtr();
00122 
00123 };
00124 
00125 #endif // DtAssistantLightweightInfoMsg_H_
00126 

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)