MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
mcastConfigureMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2006 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: mcastConfigureMsg.h,v $ $Revision: 1.7 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtMcastConfigureMsg_H_
13 #define DtMcastConfigureMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netRtiMsgHdr.h"
17 #include "netMcastConfigureMsg.h"
18 #include <vlutil/vlInetAddr.h>
19 
20 class DtConnectionMgr;
22 typedef void (*DtMcastConfigureMsgCb)(const DtMcastConfigureMsg& inter, void* usr);
23 
25 {
29 };
30 
38 {
39 public:
40 
42  DtMcastConfigureMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
43 
44  DtMcastConfigureMsg(unsigned long ID, MAKRti::DtInetAddr mcastAddr,
45  MAKRti::DtInetAddr interfaceAddr, DtMcastConfigFlags flag,
46  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
47 
50  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
51 
53  virtual ~DtMcastConfigureMsg();
54 
56  virtual DtRtiMsg* clone(bool copy = true) const;
57 
59  virtual void set(unsigned long ID, const MAKRti::DtInetAddr& mcastAddr,
60  const MAKRti::DtInetAddr& interfaceAddr, DtMcastConfigFlags flag);
61 
63  void setSourceID( const unsigned long ID );
64  const unsigned long sourceID() const;
65 
67  void setMcastAddr(const MAKRti::DtInetAddr& mcastAddr);
68  MAKRti::DtInetAddr mcastAddr() const;
69 
71  void setInterfaceAddr(const MAKRti::DtInetAddr& interfaceAddr);
72  MAKRti::DtInetAddr interfaceAddr() const;
73 
75  void setConfigFlag(DtMcastConfigFlags flag);
76  DtMcastConfigFlags configFlag() const;
77 
79  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
80 
81 public:
82 
84  static DtRtiMsg* create(const DtNetMsgHeader* initial,
85  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
86 
88  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
89 
91  static void addCallback(DtConnectionMgr* conn,
92  DtMcastConfigureMsgCb cb, void* usr);
93  static void removeCallback(DtConnectionMgr* conn,
94  DtMcastConfigureMsgCb cb, void* usr);
95 
96 protected:
97 
99  virtual DtNetMulticastConfigureMsg* netMulticastConfigMsg();
100  virtual const DtNetMulticastConfigureMsg* netMulticastConfigMsg() const;
101 
104 
106  virtual int minSize() const;
107 
109  virtual DtMcastConfigureMsg* self() const;
110 };
111 
112 
114 {
115  return const_cast<DtMcastConfigureMsg*>( this );
116 }
117 
118 #endif
119 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
IMPORTANT NOTE: Multicast Configuration message are not intended for dissemination over the network...
Definition: netMcastConfigureMsg.h:28
void(* DtMcastConfigureMsgCb)(const DtMcastConfigureMsg &inter, void *usr)
Definition: mcastConfigureMsg.h:22
IMPORTANT NOTE: Multicast Configuration message are not intended for dissemination over the network...
Definition: mcastConfigureMsg.h:37
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
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: mcastConfigureMsg.h:28
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
DtMcastConfigFlags
Definition: mcastConfigureMsg.h:24
Definition: mcastConfigureMsg.h:27
virtual DtMcastConfigureMsg * self() const
Casts away const-ness.
Definition: mcastConfigureMsg.h:113
Definition: mcastConfigureMsg.h:26

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)