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);
52 
54  void setDestinationID( unsigned long ID );
55  const unsigned long destinationID() const;
56 
58  virtual void setFederationNames( const std::vector<MAKRti::DtString> & names);
59  virtual void getFederationNames(std::vector<MAKRti::DtString>& names) const;
60 
62  virtual void setTimeImplementationNames( const std::vector<MAKRti::DtString> & names);
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 
98  virtual int setMinSizes(
99  const std::vector<MAKRti::DtString>& federationNames,
100  const std::vector<MAKRti::DtString>& timeImplNames);
101 
103  virtual void setFederationNamesSize( unsigned long size );
104  virtual unsigned long federationNamesSize() const;
105 
107  virtual void setTimeImplementationNamesSize( unsigned long size );
108  virtual unsigned long timeImplementationNamesSize() const;
109 
111  virtual const char* federationNamesPtr() const;
112  virtual const char* timeImplementationNamesPtr() const;
113 
114  //non-const versions
115  virtual char* federationNamesPtr();
116  virtual char* timeImplementationNamesPtr();
117 
119  virtual DtReportFederationsMsg* self() const;
120 
121 };
122 
123 
125 {
126  return const_cast<DtReportFederationsMsg*>( this );
127 }
128 
129 #endif
130 

Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)