MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fomModuleRequestMsg.h
Go to the documentation of this file.
1 /**************************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 ***************************************************************************/
5 /**************************************************************************
6 ** $RCSfile: fomModuleRequestMsg.h,v $ $Revision: 1.10 $ $State: Exp $
7 ***************************************************************************/
8 
11 
12 #ifndef DtFomModuleRequestMsg_H_
13 #define DtFomModuleRequestMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netFedFileMsg.h"
17 #include <vlutil/vlString.h>
18 #include "netFomModuleRequestMsg.h"
19 
20 class DtConnectionMgr;
22 typedef void (*DtFomModuleReqCb)(const DtFomModuleRequestMsg& inter, void* usr);
23 
29 {
30 public:
31 
33  DtFomModuleRequestMsg( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
34 
36  unsigned long ID,
37  unsigned long destID,
38  const MAKRti::DtString& fedExNameVal,
39  std::vector<MAKRti::DtString> const& moduleNames,
40  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
41 
44  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
45 
47  virtual ~DtFomModuleRequestMsg();
48 
50  DtRtiMsg* clone(bool copy = true) const;
51 
52  virtual void set(
53  unsigned long ID,
54  unsigned long destID,
55  const MAKRti::DtString& fedExNameVal,
56  std::vector<MAKRti::DtString> const& fomModuleName );
57 
59  void setSourceID( unsigned long ID );
60  unsigned long sourceID() const;
61 
63  void setDestinationID( unsigned long ID );
64  unsigned long destinationID() const;
65 
67  virtual void setFullFedExName( const MAKRti::DtString& fedExNameVal );
68  virtual MAKRti::DtString fullFedExName() const;
69 
71  virtual void setFomModuleNames( std::vector<MAKRti::DtString> const& fomModuleName );
72  virtual void getFomModuleNames( std::vector<MAKRti::DtString>& modules ) const;
73 
75  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
76 
77 
78 public:
80  static DtRtiMsg* create( const DtNetMsgHeader* initial,
81  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
82 
84  static DtRtiMsg* create( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
85 
87  static void addCallback(DtConnectionMgr* conn,
88  DtFomModuleReqCb cb, void* usr);
89  static void removeCallback(DtConnectionMgr* conn,
90  DtFomModuleReqCb cb, void* usr);
91 
92 protected:
93 
95  virtual const DtNetFomModuleReqMsg* netFomModuleReqMsg() const;
96  virtual DtNetFomModuleReqMsg* netFomModuleReqMsg();
97 
100 
102  virtual int minSize() const;
103 
107  virtual int setMinSizes( const MAKRti::DtString& fedExNameVal,
108  std::vector<MAKRti::DtString> const& fomModulesNamesVal);
109 
111  virtual void setFedExNameSize( unsigned long size );
112  virtual unsigned int fedExNameSize() const;
113 
115  virtual void setFomModuleNameSize( unsigned long size );
116  virtual unsigned int fomModuleNameSize() const;
117 
119  virtual char* fedExNamePtr();
120  virtual char* fomModuleNamesPtr();
121 
123  virtual const char* fedExNamePtr() const;
124  virtual const char* fomModuleNamesPtr() const;
125 
126  virtual DtFomModuleRequestMsg* self() const;
127 
128 };
129 
131 {
132  return const_cast<DtFomModuleRequestMsg*>( this );
133 }
134 
135 #endif
136 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
!DtIFSPEC1516
Definition: fedTimeFactory.h:190
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
Sent by Federates to request fed file from RtiExec.
Definition: fomModuleRequestMsg.h:28
virtual DtFomModuleRequestMsg * self() const
Definition: fomModuleRequestMsg.h:130
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:60
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:45
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
void(* DtFomModuleReqCb)(const DtFomModuleRequestMsg &inter, void *usr)
Definition: fomModuleRequestMsg.h:22
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
Definition: netFomModuleRequestMsg.h:17
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126

Document ID: Generated on Mon Sep 7 15:40:32 EDT 2020 from SVN revision 217499
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)