MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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(bool asdf);
31 
33  DtFomModuleDistributionMsg( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
34 
37  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
38 
40  virtual ~DtFomModuleDistributionMsg();
41 
43  virtual DtRtiMsg* clone(bool copy = true) const;
44 
46  virtual void setFomModuleName( const MAKRti::DtString& fileName );
47  virtual MAKRti::DtString fomModuleName() const;
48 
50  virtual unsigned int fomModuleNameLength() const;
51 
53  virtual void setFullFedExName( const MAKRti::DtString& fedExName );
54  virtual MAKRti::DtString fullFedExName() const;
55 
57  virtual unsigned int fedExNameLength() const;
58 
60  virtual void setBlock( unsigned short numBlocks,
61  unsigned short seqNum, unsigned short blockLength,
62  const char* fomModuleBlock );
63 
65  virtual void setDestination( const DtFederateHandle& destination );
66  virtual DtFederateHandle destination() const;
67 
69  virtual void setSourceID( unsigned long ID );
70  virtual unsigned long sourceID() const;
71 
72 
75  virtual void setBlockSize( unsigned short blockLength );
76  virtual unsigned short blockSize() const;
77 
79  virtual void setSequenceNum( unsigned short seqNum );
80  virtual unsigned short seqNum() const;
81 
83  virtual void setNumFomModuleBlocks( unsigned short numBlocks );
84  virtual unsigned short numFomModuleBlocks() const;
85 
87  virtual void writeFomModuleBlock( const char* fomModuleBlock );
88  virtual const char* readFomModuleBlock() const;
89 
91  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
92 
93 public:
94 
96  static DtRtiMsg* create( const DtNetMsgHeader* initial,
97  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
98 
100  static DtRtiMsg* create( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
101 
103  static void addCallback(DtConnectionMgr* conn,
104  DtFomModuleDistCb cb, void* usr);
105  static void removeCallback(DtConnectionMgr* conn,
106  DtFomModuleDistCb cb, void* usr);
107 
108 protected:
109 
111  virtual DtNetFedFileMsg* netFomModuleMsg();
112  virtual const DtNetFedFileMsg* netFomModuleMsg() const;
113 
116 
118  virtual int minSize() const;
119 
121  virtual char* fileNamePtr() const;
122  virtual char* fedExNamePtr() const;
123  virtual char* fileBufferPtr() const;
124 
126  virtual DtFomModuleDistributionMsg* self() const;
127 
128 };
129 
130 
132 {
133  return const_cast<DtFomModuleDistributionMsg*>( this );
134 }
135 
136 #endif
137 
Definition: netFedFileMsg.h:19
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
!DtIFSPEC1516
Definition: fedTimeFactory.h:190
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
void(* DtFomModuleDistCb)(const DtFomModuleDistributionMsg &inter, void *usr)
Definition: fomModuleDistributionMsg.h:22
virtual DtFomModuleDistributionMsg * self() const
Casts away const-ness.
Definition: fomModuleDistributionMsg.h:131
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
DtHandle DtFederateHandle
Definition: internalTypes.h:29
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
Definition: fomModuleDistributionMsg.h:25
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126

Document ID: Generated on Thu May 11 15:55:32 EDT 2023 from SVN revision 254743
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)