MAK RTIspy API Documentation for HLA Evolved
fomModuleDistributionMsg.h
Go to the documentation of this file.
1 /**************************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 ***************************************************************************/
5 /**************************************************************************
6 ** $RCSfile: fomModuleDistributionMsg.h,v $ $Revision: 1.4 $ $State: Exp $
7 ***************************************************************************/
8 
11 
12 #ifndef DtFomModuleDistributionMsg_H_
13 #define DtFomModuleDistributionMsg_H_
14 
15 #include "rtiMsConfig.h"
16 #include "rtiMsg.h"
17 #include "netFedFileMsg.h"
18 #include <vlutil/vlString.h>
19 
20 class DtConnectionMgr;
22 typedef void (*DtFomModuleDistCb)(const DtFomModuleDistributionMsg& inter, void* usr);
23 
24 
26 {
27 public:
28 
30  DtFomModuleDistributionMsg( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
31 
34  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
35 
37  virtual ~DtFomModuleDistributionMsg();
38 
40  virtual DtRtiMsg* clone(bool copy = true) const;
41 
43  virtual void setFomModuleName( const MAKRti::DtString& fileName );
44  virtual MAKRti::DtString fomModuleName() const;
45 
47  virtual unsigned int fomModuleNameLength() const;
48 
50  virtual void setFullFedExName( const MAKRti::DtString& fedExName );
51  virtual MAKRti::DtString fullFedExName() const;
52 
54  virtual unsigned int fedExNameLength() const;
55 
57  virtual void setBlock( unsigned short numBlocks,
58  unsigned short seqNum, unsigned short blockLength,
59  const char* fomModuleBlock );
60 
62  virtual void setDestination( const DtFederateHandle& destination );
63  virtual DtFederateHandle destination() const;
64 
66  virtual void setSourceID( unsigned long ID );
67  virtual unsigned long sourceID() const;
68 
69 
72  virtual void setBlockSize( unsigned short blockLength );
73  virtual unsigned short blockSize() const;
74 
76  virtual void setSequenceNum( unsigned short seqNum );
77  virtual unsigned short seqNum() const;
78 
80  virtual void setNumFomModuleBlocks( unsigned short numBlocks );
81  virtual unsigned short numFomModuleBlocks() const;
82 
84  virtual void writeFomModuleBlock( const char* fomModuleBlock );
85  virtual const char* readFomModuleBlock() const;
86 
88  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
89 
90 public:
91 
93  static DtRtiMsg* create( const DtNetMsgHeader* initial,
94  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
95 
97  static DtRtiMsg* create( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
98 
100  static void addCallback(DtConnectionMgr* conn,
101  DtFomModuleDistCb cb, void* usr);
102  static void removeCallback(DtConnectionMgr* conn,
103  DtFomModuleDistCb cb, void* usr);
104 
105 
106 protected:
107 
109  virtual DtNetFedFileMsg* netFomModuleMsg();
110  virtual const DtNetFedFileMsg* netFomModuleMsg() const;
111 
114 
116  virtual int minSize() const;
117 
119  virtual char* fileNamePtr() const;
120  virtual char* fedExNamePtr() const;
121  virtual char* fileBufferPtr() const;
122 
124  virtual DtFomModuleDistributionMsg* self() const;
125 
126 };
127 
128 
130 {
131  return const_cast<DtFomModuleDistributionMsg*>( this );
132 }
133 
134 #endif
135 

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)