MAK RTIspy API Documentation for HLA 1516
 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) 2024 MAK Technologies
3 ** All rights reserved.
4 ***************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "rtiMsg.h"
12 #include "netFomModuleRequestMsg.h"
13 
14 #include <vlutil/vlString.h>
15 
16 class DtConnectionMgr;
18 typedef void (*DtFomModuleReqCb)(const DtFomModuleRequestMsg& inter, void* usr);
19 
25 {
26 public:
27 
29  DtFomModuleRequestMsg( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
30 
32  unsigned long ID,
33  unsigned long destID,
34  const MAKRti::DtString& fedExNameVal,
35  std::vector<MAKRti::DtString> const& moduleNames,
36  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
37 
40  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
41 
43  virtual ~DtFomModuleRequestMsg();
44 
46  DtRtiMsg* clone(bool copy = true) const;
47 
48  // Set all fields (adjust buffer size if not pre-allocated for this data).
49  virtual void set(unsigned long ID, unsigned long destID, const MAKRti::DtString& fedExNameVal,
50  std::vector<MAKRti::DtString> const& fomModuleName, bool adjustBufferSize = true );
51 
53  void setSourceID( unsigned long ID );
54  unsigned long sourceID() const;
55 
57  void setDestinationID( unsigned long ID );
58  unsigned long destinationID() const;
59 
61  virtual void setFullFedExName( const MAKRti::DtString& fedExNameVal, bool adjustBufferSize = true );
62  virtual MAKRti::DtString fullFedExName() const;
63 
65  virtual void setFomModuleNames( std::vector<MAKRti::DtString> const& fomModuleName, bool adjustBufferSize = true);
66  virtual void getFomModuleNames( std::vector<MAKRti::DtString>& modules ) const;
67 
69  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
70 
71 public:
73  static DtRtiMsg* create( const DtNetMsgHeader* initial,
74  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
75 
77  static DtRtiMsg* create( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
78 
80  static void addCallback(DtConnectionMgr* conn,
81  DtFomModuleReqCb cb, void* usr);
82  static void removeCallback(DtConnectionMgr* conn,
83  DtFomModuleReqCb cb, void* usr);
84 
85 protected:
86 
88  virtual const DtNetFomModuleReqMsg* netFomModuleReqMsg() const;
89  virtual DtNetFomModuleReqMsg* netFomModuleReqMsg();
90 
93 
95  virtual int minSize() const;
96 
98  virtual int minSize( const MAKRti::DtString& fedExNameVal, std::vector<MAKRti::DtString> const& fomModulesNamesVal);
99 
101  virtual void setFedExNameSize( unsigned long size );
102  virtual unsigned int fedExNameSize() const;
103 
105  virtual void setFomModuleNamesSize( unsigned long size );
106  virtual unsigned int fomModuleNamesSize() const;
107 
109  virtual char* fedExNamePtr();
110  virtual char* fomModuleNamesPtr();
111 
113  virtual const char* fedExNamePtr() const;
114  virtual const char* fomModuleNamesPtr() const;
115 
116  virtual DtFomModuleRequestMsg* self() const;
117 
118 };
119 
121 {
122  return const_cast<DtFomModuleRequestMsg*>( this );
123 }
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
Sent by Federates to request fed file from RtiExec.
Definition: fomModuleRequestMsg.h:24
virtual DtFomModuleRequestMsg * self() const
Definition: fomModuleRequestMsg.h:120
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
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:18
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
Definition: netFomModuleRequestMsg.h:17
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)