MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
joinLightWeightMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: joinLightWeightMsg.h,v $ $Revision: 1.2 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtJoinLightWeightMsg_H_
13 #define DtJoinLightWeightMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netRtiMsgHdr.h"
17 #include "netJoinLightWeightMsg.h"
18 #include <vlutil/vlString.h>
19 #include <vlutil/vlUtil.h>
20 #include <vlutil/vlInetAddr.h>
21 
22 class DtConnectionMgr;
24 typedef void (*DtJoinLightWeightCb)(const DtJoinLightWeightMsg& inter, void* usr);
25 
27 {
28 public:
29 
31  DtJoinLightWeightMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
32 
34  MAKRti::DtString const & fedTypeValue,
35  MAKRti::DtString const & fedExNameValue,
36  MAKRti::DtString const& fedNameValue,
37  MAKRti::DtString const& federateHostNameValue,
38  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
39 
42  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
43 
45  virtual ~DtJoinLightWeightMsg();
46 
48  virtual DtRtiMsg* clone(bool copy = true) const;
49 
51  virtual void set(
52  MAKRti::DtString const & fedTypeValue,
53  MAKRti::DtString const & fedExNameValue,
54  MAKRti::DtString const & fedNameValue,
55  MAKRti::DtString const& federateHostNameValue);
56 
58  virtual void setFederateType(MAKRti::DtString const & type);
59 
61  virtual MAKRti::DtString federateType() const;
62 
64  virtual void setFullFedExName(MAKRti::DtString const & name);
65 
67  virtual MAKRti::DtString fullFedExName() const;
68 
70  virtual void setFederateName(MAKRti::DtString const & name);
71 
73  virtual MAKRti::DtString federateName() const;
74 
76  virtual void setFederateHostName(MAKRti::DtString const& name);
77 
79  virtual MAKRti::DtString federateHostName() const;
80 
83  virtual void setIpAddress( const MAKRti::DtInetAddr& ip );
84 
86  virtual MAKRti::DtInetAddr ipAddress() const;
87 
89  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
90 
91 public:
92 
94  static DtRtiMsg* create(const DtNetMsgHeader* initial,
95  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
96 
98  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
99 
101  static void addCallback(DtConnectionMgr* conn,
102  DtJoinLightWeightCb cb, void* usr);
103  static void removeCallback(DtConnectionMgr* conn,
104  DtJoinLightWeightCb cb, void* usr);
105 
106 protected:
107 
109  virtual DtNetJoinLightWeightMsg* netJoinLightWeightMsg();
110  virtual const DtNetJoinLightWeightMsg* netJoinLightWeightMsg() const;
111 
114 
116  virtual int minSize() const;
117 
121  virtual int setMinSizes( MAKRti::DtString const & federateType,
122  MAKRti::DtString const & fedExName,
123  MAKRti::DtString const & federateName,
124  MAKRti::DtString const& federateHostName);
125 
127  virtual void setFederateTypeSize( unsigned long size );
128  virtual unsigned long federateTypeSize() const;
129 
131  virtual void setFederateNameSize( unsigned long size );
132  virtual unsigned long federateNameSize() const;
133 
135  virtual void setFedExNameSize( unsigned long size );
136  virtual unsigned long fedExNameSize() const;
137 
139  virtual void setFederateHostNameSize( unsigned long size );
140  virtual unsigned long federateHostNameSize() const;
141 
143  virtual const char* federateTypePtr() const;
144  virtual const char* federateNamePtr() const;
145  virtual const char* fedExNamePtr() const;
146  virtual const char* federateHostNamePtr() const;
147 
148  //non-const versions
149  virtual char* federateTypePtr();
150  virtual char* federateNamePtr();
151  virtual char* fedExNamePtr();
152  virtual char* federateHostNamePtr();
153 
155  virtual DtJoinLightWeightMsg* self() const;
156 
157 };
158 
160 {
161  return const_cast<DtJoinLightWeightMsg*>( this );
162 }
163 
164 #endif
165 

Document ID: Generated on Wed Mar 11 20:26:49 EDT 2015 from SVN revision 150939
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)