MAK RTIspy API Documentation for HLA 1.3
fomModuleRequestMsg.h
Go to the documentation of this file.
00001 /**************************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 ***************************************************************************/
00005 /**************************************************************************
00006 ** $RCSfile: fomModuleRequestMsg.h,v $ $Revision: 1.10 $ $State: Exp $
00007 ***************************************************************************/
00008 
00011 
00012 #ifndef DtFomModuleRequestMsg_H_
00013 #define DtFomModuleRequestMsg_H_
00014 
00015 #include "rtiMsg.h"
00016 #include "netFedFileMsg.h"
00017 #include <vlutil/vlString.h>
00018 #include "netFomModuleRequestMsg.h"
00019 
00020 class DtConnectionMgr;
00021 class DtFomModuleRequestMsg;
00022 typedef void (*DtFomModuleReqCb)(const DtFomModuleRequestMsg& inter, void* usr);
00023 
00028 class DT_DLL_LRC DtFomModuleRequestMsg : public DtRtiMsg
00029 {
00030 public:
00031 
00033    DtFomModuleRequestMsg( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
00034 
00035    DtFomModuleRequestMsg(
00036             unsigned long ID,
00037             unsigned long destID,
00038             const MAKRti::DtString& fedExNameVal,            
00039             std::vector<MAKRti::DtString> const& moduleNames,
00040             DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00041 
00043    DtFomModuleRequestMsg( const DtNetFomModuleReqMsg* netRepMsg,
00044       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
00045 
00047    virtual ~DtFomModuleRequestMsg();
00048 
00050    DtRtiMsg* clone(bool copy = true) const;
00051 
00052    virtual void set(
00053       unsigned long ID,
00054       unsigned long destID,
00055       const MAKRti::DtString& fedExNameVal,
00056       std::vector<MAKRti::DtString> const& fomModuleName );
00057 
00059    void setSourceID( unsigned long ID );
00060    unsigned long sourceID() const;
00061 
00063    void setDestinationID( unsigned long ID );
00064    unsigned long destinationID() const;
00065 
00067    virtual void setFullFedExName( const MAKRti::DtString& fedExNameVal );
00068    virtual MAKRti::DtString fullFedExName() const;
00069 
00071    virtual void setFomModuleNames( std::vector<MAKRti::DtString> const& fomModuleName );
00072    virtual void getFomModuleNames( std::vector<MAKRti::DtString>& modules ) const;
00073 
00075    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00076 
00077 
00078 public:
00080    static DtRtiMsg* create( const DtNetMsgHeader* initial,
00081       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
00082 
00084    static DtRtiMsg* create( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
00085 
00087    static void addCallback(DtConnectionMgr* conn,
00088       DtFomModuleReqCb cb, void* usr);
00089    static void removeCallback(DtConnectionMgr* conn,
00090       DtFomModuleReqCb cb, void* usr);
00091 
00092 protected:
00093 
00095    virtual const DtNetFomModuleReqMsg* netFomModuleReqMsg() const;
00096    virtual DtNetFomModuleReqMsg* netFomModuleReqMsg();
00097 
00099    virtual DtRtiMsgKind internalDtRtiMsgKind();
00100 
00102    virtual int minSize() const;
00103 
00107    virtual int setMinSizes( const MAKRti::DtString& fedExNameVal,
00108                             std::vector<MAKRti::DtString> const& fomModulesNamesVal);
00109 
00111    virtual void setFedExNameSize( unsigned long size );
00112    virtual unsigned int fedExNameSize() const; 
00113 
00115    virtual void setFomModuleNameSize( unsigned long size );
00116    virtual unsigned int fomModuleNameSize() const;
00117 
00119    virtual char* fedExNamePtr();
00120    virtual char* fomModuleNamesPtr();
00121 
00123    virtual const char* fedExNamePtr() const;
00124    virtual const char* fomModuleNamesPtr() const;
00125 
00126    virtual DtFomModuleRequestMsg* self() const;
00127 
00128 };
00129 
00130 inline DtFomModuleRequestMsg* DtFomModuleRequestMsg::self() const
00131 {
00132    return const_cast<DtFomModuleRequestMsg*>( this );
00133 }
00134 
00135 #endif //! DtFomModuleRequestMsg_H_
00136 

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)