MAK RTIspy API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
forwarderCounterMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2005 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: forwarderCounterMsg.h,v $ $Revision: 1.7 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtForwarderCounterMsg_H_
13 #define DtForwarderCounterMsg_H_
14 
15 #include "rtiMsConfig.h"
16 #include "rtiMsg.h"
17 #include <vlutil/vlUtil.h>
18 #include <vlutil/vlInetAddr.h>
19 
20 class DtConnectionMgr;
23 typedef void (*DtForwarderCounterCb)(const DtForwarderCounterMsg& inter, void* usr);
24 
26 {
27 public:
29  {
30  CounterRequest = 0,
32  CounterResponse
33  };
34 
36  DtForwarderCounterMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
37 
40  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
41 
43  DtForwarderCounterMsg( const MAKRti::DtInetAddr& target, int port,
44  DtCounterStatus status, unsigned int count,
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
46 
48  virtual ~DtForwarderCounterMsg();
49 
51  virtual DtRtiMsg* clone(bool copy = true) const;
52 
53 
55  virtual void set( const MAKRti::DtInetAddr& target, int port,
56  DtCounterStatus status, unsigned int count );
57 
59  virtual void setCounterStatus( DtCounterStatus status );
60  virtual DtCounterStatus countStatus() const;
61 
63  virtual void setDestination( const MAKRti::DtInetAddr& target );
64  virtual MAKRti::DtInetAddr destination() const;
65 
67  virtual void setPort( int port );
68  virtual int port() const;
69 
71  virtual void setCount( unsigned int count );
72  virtual unsigned int count() const;
73 
75  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
76 
77 public:
78 
80  static DtRtiMsg* create(const DtNetMsgHeader* initial,
81  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
82 
83  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
84 
86  static void addCallback(DtConnectionMgr* conn,
87  DtForwarderCounterCb cb, void* usr, bool isMomCallback=false);
88  static void removeCallback(DtConnectionMgr* conn,
89  DtForwarderCounterCb cb, void* usr, bool isMomCallback=false);
90 
91 protected:
92 
94  virtual MAKRti::DtInetUtils::DtInetAddrFamily addressFamily() const;
95  virtual void setAddressFamily(MAKRti::DtInetUtils::DtInetAddrFamily fam);
96 
98  virtual DtNetForwarderCounterMsg* netForwarderCounterMsg();
99  virtual const DtNetForwarderCounterMsg* netForwarderCounterMsg() const;
100 
103 
105  virtual int minSize() const;
106 
108  virtual DtForwarderCounterMsg* self() const;
109 
110 protected:
111 
112 };
113 
115 {
116  return const_cast<DtForwarderCounterMsg*>( this );
117 }
118 
119 
120 #endif
121 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
void(* DtForwarderCounterCb)(const DtForwarderCounterMsg &inter, void *usr)
Definition: forwarderCounterMsg.h:23
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
Definition: netForwarderCounterMsg.h:19
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
Definition: forwarderCounterMsg.h:25
DtCounterStatus
Definition: forwarderCounterMsg.h:28
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
virtual DtForwarderCounterMsg * self() const
Casts away const-ness.
Definition: forwarderCounterMsg.h:114

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)