MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
multicastDiscoveryMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2005 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: multicastDiscoveryMsg.h,v $ $Revision: 1.9 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtMulticastDiscoveryMsg_H_
13 #define DtMulticastDiscoveryMsg_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 
24 typedef void (*DtMulticastDiscoveryCb)(const DtMulticastDiscoveryMsg& inter, void* usr);
25 
27 {
28 public:
30  {
31  DtDiscoverRtiExec = 0,
32  DtDiscoverTcpForwarder
33  };
34 
36  {
37  DtDiscoveryRequest = 0,
38  DtDiscoveryResponse
39  };
40 
42  DtMulticastDiscoveryMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
43 
46  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
47 
49  DtMulticastDiscoveryMsg( DtDiscoveryTarget target, DtDiscoveryStatus status,
50  MAKRti::DtInetAddr addr, unsigned int id, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
51 
53  virtual ~DtMulticastDiscoveryMsg();
54 
56  virtual DtRtiMsg* clone(bool copy = true) const;
57 
58 
60  virtual void set( DtDiscoveryTarget target, DtDiscoveryStatus status,
61  MAKRti::DtInetAddr addr, unsigned int id );
62 
64  virtual void setDiscoveryTarget( DtDiscoveryTarget target );
65  virtual DtDiscoveryTarget discoveryTarget() const;
66 
68  virtual void setDiscoveryStatus( DtDiscoveryStatus status );
69  virtual DtDiscoveryStatus discoveryStatus() const;
70 
72  virtual void setDiscoveryAddr( const MAKRti::DtInetAddr& addr );
73  virtual MAKRti::DtInetAddr discoveryAddr() const;
74 
76  virtual void setDiscoveryId( unsigned int id );
77  virtual unsigned int discoveryId() const;
78 
80 
82  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
83 
84 public:
85 
87  static DtRtiMsg* create(const DtNetMsgHeader* initial,
88  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
89 
90  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
91 
93  static void addCallback(DtConnectionMgr* conn,
94  DtMulticastDiscoveryCb cb, void* usr, bool isMomCallback=false);
95  static void removeCallback(DtConnectionMgr* conn,
96  DtMulticastDiscoveryCb cb, void* usr, bool isMomCallback=false);
97 
98 protected:
99 
101  virtual DtNetMulticastDiscoveryMsg* netMulticastDiscoveryMsg();
102  virtual const DtNetMulticastDiscoveryMsg* netMulticastDiscoveryMsg() const;
103 
106 
108  virtual int minSize() const;
109 
111  virtual DtMulticastDiscoveryMsg* self() const;
112 
113 protected:
114 
115 };
116 
118 {
119  return const_cast<DtMulticastDiscoveryMsg*>( this );
120 }
121 
122 
123 #endif
124 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
Definition: netMulticastDiscoveryMsg.h:19
virtual DtMulticastDiscoveryMsg * self() const
Casts away const-ness.
Definition: multicastDiscoveryMsg.h:117
DtDiscoveryTarget
Definition: multicastDiscoveryMsg.h:29
Definition: multicastDiscoveryMsg.h:26
DtDiscoveryStatus
Definition: multicastDiscoveryMsg.h:35
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
void(* DtMulticastDiscoveryCb)(const DtMulticastDiscoveryMsg &inter, void *usr)
Definition: multicastDiscoveryMsg.h:24
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155

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)