MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reportFederationMembersMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2024 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #include "rtiMsg.h"
13 
14 #include <vlutil/vlString.h>
15 
16 class DtConnectionMgr;
18 typedef void (*DtReportFederationMembersCb)(const DtReportFederationMembersMsg& inter, void* usr);
19 
21 {
22 public:
23  typedef std::pair<MAKRti::DtString, MAKRti::DtString> DtFederateNameTypePair;
24  typedef std::vector<DtFederateNameTypePair> DtFederateList;
25 
26 public:
27 
29 
30  DtReportFederationMembersMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
32  DtReportFederationMembersMsg(unsigned long destinationId, MAKRti::DtString const& federationName,
33  DtFederateList const* federates, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
34  DtReportFederationMembersMsg(const DtNetReportFederationMembersMsg* netRepMsg, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
36 
39 
41  virtual DtRtiMsg* clone(bool copy = true) const;
42 
45  virtual void set(unsigned long destinationId, MAKRti::DtString const& federationName,
46  DtFederateList const* federates = nullptr);
47 
49 
50  virtual void setDestinationID(unsigned long ID);
51  virtual unsigned long destinationID() const;
53 
55 
56  virtual void setFederationName(MAKRti::DtString const& name);
57  virtual MAKRti::DtString federationName() const;
58  virtual void getFederationName(MAKRti::DtString& name) const;
60 
62 
63  virtual void setFederationExists(bool federationDoesExist);
64  virtual bool federationExists() const;
66 
68 
69  virtual void setFederates(DtFederateList const* federates);
70  virtual void getFederates(DtFederateList& federates) const;
72 
74  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
75 
76 public:
77 
79  static DtRtiMsg* create(const DtNetMsgHeader* initial, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
80 
82  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
83 
85  static void addCallback(DtConnectionMgr* conn, DtReportFederationMembersCb cb, void* usr);
86  static void removeCallback(DtConnectionMgr* conn, DtReportFederationMembersCb cb, void* usr);
87 
88 protected:
89 
91  virtual DtNetReportFederationMembersMsg* netReportFederationMembersMsg();
92  virtual const DtNetReportFederationMembersMsg* netReportFederationMembersMsg() const;
93 
96 
98  virtual int minSize() const;
99 
103  virtual int setMinSizes(MAKRti::DtString const& federationName, DtFederateList const* federates);
104 
106  virtual int federatesSize(DtFederateList const& federates) const;
107 
109 
110  virtual void setFederationNameSize(unsigned long size);
111  virtual unsigned long federationNameSize() const;
112 
113  virtual void setFederatesSize(unsigned long size);
114  virtual unsigned long federatesSize() const;
116 
118 
119  virtual char* federationNamePtr();
120  virtual const char* federationNamePtr() const;
121 
122  virtual char* federatesPtr();
123  virtual const char* federatesPtr() const;
125 
127  virtual DtReportFederationMembersMsg* self() const;
128 
129 };
130 
132 {
133  return const_cast<DtReportFederationMembersMsg*>( this );
134 }
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
Definition: netReportFederationMembersMsg.h:13
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(* DtReportFederationMembersCb)(const DtReportFederationMembersMsg &inter, void *usr)
Definition: reportFederationMembersMsg.h:18
Definition: reportFederationMembersMsg.h:20
std::pair< MAKRti::DtString, MAKRti::DtString > DtFederateNameTypePair
Definition: reportFederationMembersMsg.h:23
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
virtual DtReportFederationMembersMsg * self() const
Casts away const-ness.
Definition: reportFederationMembersMsg.h:131
std::vector< DtFederateNameTypePair > DtFederateList
Definition: reportFederationMembersMsg.h:24

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)