MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reportFederationsMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2010 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: joinMsg.h,v $ $Revision: 1.37 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtReportFederationsMsg_H_
13 #define DtReportFederationsMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netRtiMsgHdr.h"
18 #include <vlutil/vlString.h>
19 #include <vlutil/vlUtil.h>
20 #include <vlutil/vlInetAddr.h>
21 
22 class DtConnectionMgr;
24 typedef void (*DtReportFederationsCb)(const DtReportFederationsMsg& inter, void* usr);
25 
27 {
28 public:
29 
31  DtReportFederationsMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
32 
33  DtReportFederationsMsg(unsigned long ID,
34  const std::vector<MAKRti::DtString>& federationNames,
35  const std::vector<MAKRti::DtString>& timeImplNames,
36  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
37 
40  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
41 
43  virtual ~DtReportFederationsMsg();
44 
46  virtual DtRtiMsg* clone(bool copy = true) const;
47 
49  virtual void set(unsigned long ID,
50  const std::vector<MAKRti::DtString>& federationNames,
51  const std::vector<MAKRti::DtString>& timeImplNames, bool adjustBufferSize = true);
52 
54  void setDestinationID( unsigned long ID );
55  const unsigned long destinationID() const;
56 
58  virtual void setFederationNames( const std::vector<MAKRti::DtString> & names, bool adjustBufferSize = true);
59  virtual void getFederationNames(std::vector<MAKRti::DtString>& names) const;
60 
62  virtual void setTimeImplementationNames( const std::vector<MAKRti::DtString> & names, bool adjustBufferSize = true);
63  virtual void getTimeImplementationNames(std::vector<MAKRti::DtString>& names) const;
64 
66  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
67 
68 public:
69 
71  static DtRtiMsg* create(const DtNetMsgHeader* initial,
72  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
73 
75  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
76 
78  static void addCallback(DtConnectionMgr* conn,
79  DtReportFederationsCb cb, void* usr);
80  static void removeCallback(DtConnectionMgr* conn,
81  DtReportFederationsCb cb, void* usr);
82 
83 protected:
84 
86  virtual DtNetReportFederationsMsg* netReportFederationsMsg();
87  virtual const DtNetReportFederationsMsg* netReportFederationsMsg() const;
88 
91 
93  virtual int minSize() const;
94 
96  virtual int minSize(const std::vector<MAKRti::DtString>& federationNames, const std::vector<MAKRti::DtString>& timeImplNames);
97 
99  virtual void setFederationNamesSize( unsigned long size );
100  virtual unsigned long federationNamesSize() const;
101 
103  virtual void setTimeImplementationNamesSize( unsigned long size );
104  virtual unsigned long timeImplementationNamesSize() const;
105 
107  virtual const char* federationNamesPtr() const;
108  virtual const char* timeImplementationNamesPtr() const;
109 
110  //non-const versions
111  virtual char* federationNamesPtr();
112  virtual char* timeImplementationNamesPtr();
113 
115  virtual DtReportFederationsMsg* self() const;
116 
117 };
118 
119 
121 {
122  return const_cast<DtReportFederationsMsg*>( this );
123 }
124 
125 #endif
126 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
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
virtual DtReportFederationsMsg * self() const
Casts away const-ness.
Definition: reportFederationsMsg.h:120
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
Definition: reportFederationsMsg.h:26
void(* DtReportFederationsCb)(const DtReportFederationsMsg &inter, void *usr)
Definition: reportFederationsMsg.h:24
Definition: netReportFederationsMsg.h:19
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155

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)