MAK RTIspy API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
createMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: createMsg.h,v $ $Revision: 1.28 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtCreateMsg_H_
13 #define DtCreateMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netCreateMsg.h"
17 #include <vlutil/vlString.h>
18 #include <vlutil/vlFedTarget.h>
19 
20 class DtConnectionMgr;
21 class DtCreateMsg;
22 typedef void (*DtCreateCb)(const DtCreateMsg& inter, void* usr);
23 
25 {
26 public:
27 
29 
30  DtCreateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
31 
32  DtCreateMsg(unsigned long ID, unsigned int momModuleCrc, const MAKRti::DtString& fedExNameVal, const std::vector<unsigned int> & moduleCrcs,
33  MAKRti::DtFomType fedType, const std::vector<MAKRti::DtString>& moduleNames, const MAKRti::DtString& momModule,
34  const MAKRti::DtString& timeImplNameVal = MAKRti::DtString::nullString(), DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
35 
36  DtCreateMsg(const DtNetCreateMsg* netRepMsg, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
38 
40  virtual ~DtCreateMsg();
41 
43  virtual DtRtiMsg* clone(bool copy = true) const;
44 
46  virtual void set(unsigned long ID, unsigned int momModuleCrc, const MAKRti::DtString& fedExNameVal,
47  const std::vector<unsigned int> & moduleCrcs, MAKRti::DtFomType fedType, const std::vector<MAKRti::DtString>& moduleNames,
48  const MAKRti::DtString& momModule, const MAKRti::DtString& timeImplNameVal, bool adjustBufferSize = true);
49 
51 
52  void setSourceID( const unsigned long ID );
53  unsigned long sourceID() const;
54 
55  void setMomModuleCrc( unsigned int theMomModuleCrc );
56  unsigned int momModuleCrc() const;
57 
59  virtual void setFullFedExName(const MAKRti::DtString& name, bool adjustBufferSize = true);
60  virtual const MAKRti::DtString fullFedExName() const;
61 
63  virtual void setTimeImplName(const MAKRti::DtString& name, bool adjustBufferSize = true);
64  virtual MAKRti::DtString timeImplName() const;
65 
67  virtual void setFomModuleNames(const std::vector< MAKRti::DtString>& moduleNames, bool adjustBufferSize = true);
68  virtual void getFomModuleNames(std::vector<MAKRti::DtString>& modules) const;
69 
70  virtual void setFedFileType(MAKRti::DtFomType fedType);
71  virtual MAKRti::DtFomType fedFileType() const;
72 
73  virtual bool hasMOMModule();
74 
75  virtual void setMOMModuleName( const MAKRti::DtString& name, bool adjustBufferSize = true);
76  virtual MAKRti::DtString MOMmoduleName() const;
77 
78  virtual void setCrcsOfFedFiles( const std::vector<unsigned int> & moduleCrcs, bool adjustBufferSize = true);
79  virtual void getCRCsOfFedFiles(std::vector<unsigned int>& crcOfFedFiles) const;
80 
81  virtual void setCredentialsType(const std::wstring& type);
82  virtual std::wstring credentialsType() const;
83  virtual std::wstring& getCredentialsType(std::wstring& type) const;
84 
85  virtual void setCredentialsData(void const* data, unsigned short size);
86  virtual void setCredentialsData(const std::vector<char>& data);
87  virtual std::vector<char>& getCredentialsData(std::vector<char>& data) const;
88  virtual void const* credentialsData() const;
89  virtual unsigned short credentialsDataSize() const;
91 
93  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
94 
95 public:
96 
98  static DtRtiMsg* create(const DtNetMsgHeader* initial, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
99 
101  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
102 
104 
105  static void addCallback(DtConnectionMgr* conn, DtCreateCb cb, void* usr);
106  static void removeCallback(DtConnectionMgr* conn, DtCreateCb cb, void* usr);
108 
109 protected:
110 
112 
113  virtual DtNetCreateMsg* netCreateMsg();
114  virtual const DtNetCreateMsg* netCreateMsg() const;
116 
119 
121  virtual int minSize() const;
122 
124  virtual int minSize(const MAKRti::DtString& fedExNameVal,
125  const MAKRti::DtString& timeImplNameVal, const MAKRti::DtString& momModuleNameVal,
126  const std::vector<MAKRti::DtString>& fomModuleNamesVal, const std::vector<unsigned int>& moduleCrcs);
127 
129  virtual DtCreateMsg* self() const;
130 
132 
133  virtual void setFedExNameSize( unsigned long size );
134  virtual unsigned long fedExNameSize() const;
135 
137  virtual void setTimeImplNameSize( unsigned long size );
138  virtual unsigned long timeImplNameSize() const;
139 
141  virtual void setFomModuleNameSize( unsigned long size );
142  virtual unsigned long fomModuleNameSize() const;
143 
144  virtual void setSizeOfMOMModuleName( unsigned long size );
145  virtual unsigned long sizeOfMOMModuleName() const;
146 
147  virtual void setNumOfCrcs(unsigned int theNumOfCrcs);
148  virtual unsigned long numOfCrcs() const;
149 
150  virtual void setCredentialsTypeSize(unsigned short size);
151  virtual unsigned short credentialsTypeSize() const;
152 
154  virtual void setCredentialsDataSize(unsigned short size);
156 
158 
159  virtual const char* fedExNamePtr() const;
160  virtual char* fedExNamePtr();
161  virtual const char* timeImplNamePtr() const;
162  virtual char* timeImplNamePtr();
163 
164  virtual const char* fomModuleNamesPtr() const;
165  virtual char* fomModuleNamesPtr();
166 
167  virtual const char* momModuleNamePtr() const;
168  virtual char* momModuleNamePtr();
169 
170  virtual const DtNetU32* crcsOfFomModulesPtr() const;
171  virtual DtNetU32* crcsOfFomModulesPtr();
172 
173  virtual const DtNetU16* credentialsTypePtr() const;
174  virtual DtNetU16* credentialsTypePtr();
175 
176  virtual const char* credentialsDataPtr() const;
177  virtual char* credentialsDataPtr();
179 };
180 
181 
183 {
184  return const_cast<DtCreateMsg*>( this );
185 }
186 
187 #endif
188 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: createMsg.h:24
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
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.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
Definition: netCreateMsg.h:19
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
void(* DtCreateCb)(const DtCreateMsg &inter, void *usr)
Definition: createMsg.h:22
virtual DtCreateMsg * self() const
Casts away const-ness.
Definition: createMsg.h:182

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)