MAK RTIspy API Documentation for HLA Evolved
 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  DtCreateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
30 
32  unsigned long ID,
33  const MAKRti::DtString& fedExNameVal,
34  const std::vector<unsigned int> & moduleCrcs,
35  MAKRti::DtFomType fedType,
36  const std::vector<MAKRti::DtString>& moduleNames,
37  const MAKRti::DtString& momModule,
38  const MAKRti::DtString& timeImplNameVal = MAKRti::DtString::nullString(),
39  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
40 
42  DtCreateMsg(const DtNetCreateMsg* netRepMsg,
43  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
44 
46  virtual ~DtCreateMsg();
47 
49  virtual DtRtiMsg* clone(bool copy = true) const;
50 
52  virtual void set(
53  unsigned long ID,
54  unsigned int momModuleCrc,
55  const MAKRti::DtString& fedExNameVal,
56  const std::vector<unsigned int> & moduleCrcs,
57  MAKRti::DtFomType fedType,
58  const std::vector<MAKRti::DtString>& moduleNames,
59  const MAKRti::DtString& momModule,
60  const MAKRti::DtString& timeImplNameVal );
61 
63  void setSourceID( const unsigned long ID );
64  unsigned long sourceID() const;
65 
67  void setMomModuleCrc( unsigned int theMomModuleCrc );
68  unsigned int momModuleCrc() const;
69 
71  virtual void setFullFedExName(const MAKRti::DtString& name);
72  virtual const MAKRti::DtString fullFedExName() const;
73 
75  virtual void setTimeImplName(const MAKRti::DtString& name);
76  virtual MAKRti::DtString timeImplName() const;
77 
79  virtual void setFomModuleNames(const std::vector< MAKRti::DtString>& moduleNames);
80  virtual void getFomModuleNames(std::vector<MAKRti::DtString>& modules) const;
81 
83  virtual void setFedFileType(MAKRti::DtFomType fedType);
84  virtual MAKRti::DtFomType fedFileType() const;
85 
87  virtual bool hasMOMModule();
88 
90  virtual void setMOMModuleName( const MAKRti::DtString& name );
91  virtual MAKRti::DtString MOMmoduleName() const;
92 
94  virtual void setCrcsOfFedFiles( const std::vector<unsigned int> & moduleCrcs );
95  virtual void getCRCsOfFedFiles(std::vector<unsigned int>& crcOfFedFiles) const;
96 
98  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
99 
100 public:
101 
103  static DtRtiMsg* create(const DtNetMsgHeader* initial,
104  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
105 
107  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
108 
110  static void addCallback(DtConnectionMgr* conn,
111  DtCreateCb cb, void* usr);
112  static void removeCallback(DtConnectionMgr* conn,
113  DtCreateCb cb, void* usr);
114 
115 protected:
116 
118  virtual DtNetCreateMsg* netCreateMsg();
119  virtual const DtNetCreateMsg* netCreateMsg() const;
120 
123 
125  virtual int minSize() const;
126 
130  virtual int setMinSizes(const MAKRti::DtString& fedExNameVal,
131  const MAKRti::DtString& timeImplNameVal,
132  const MAKRti::DtString& momModuleNameVal,
133  const std::vector<MAKRti::DtString>& fomModuleNamesVal,
134  const std::vector<unsigned int> & moduleCrcs);
135 
137  virtual void setFedExNameSize( unsigned long size );
138  virtual unsigned long fedExNameSize() const;
139 
141  virtual void setTimeImplNameSize( unsigned long size );
142  virtual unsigned long timeImplNameSize() const;
143 
145  virtual void setFomModuleNameSize( unsigned long size );
146  virtual unsigned long fomModuleNameSize() const;
147 
148  virtual void setSizeOfMOMModuleName( unsigned long size );
149  virtual unsigned long sizeOfMOMModuleName() const;
150 
151  virtual void setNumOfCrcs(unsigned int theNumOfCrcs);
152  virtual unsigned long numOfCrcs() const;
153 
155  virtual const char* fedExNamePtr() const;
156  virtual const char* timeImplNamePtr() const;
157  virtual const char* fomModuleNamesPtr() const;
158  virtual const char* momModuleNamePtr() const;
159  virtual const DtNetU32* crcsOfFomModulesPtr() const;
160 
162  virtual char* fedExNamePtr();
163  virtual char* timeImplNamePtr();
164  virtual char* fomModuleNamesPtr();
165  virtual char* momModuleNamePtr();
166  virtual DtNetU32* crcsOfFomModulesPtr();
167 
169  virtual DtCreateMsg* self() const;
170 };
171 
172 
174 {
175  return const_cast<DtCreateMsg*>( this );
176 }
177 
178 #endif
179 

Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)