MAK RTIspy API Documentation for HLA 1.3
 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(MAKRti::DtString const & fedTypeValue, MAKRti::DtString const & fedExNameValue,
52  MAKRti::DtString const & fedNameValue, MAKRti::DtString const& federateHostNameValue, bool adjustBufferSize = true);
53 
55  virtual void setFederateType(MAKRti::DtString const & type, bool adjustBufferSize = true);
56 
58  virtual MAKRti::DtString federateType() const;
59 
61  virtual void setFullFedExName(MAKRti::DtString const & name, bool adjustBufferSize = true);
62 
64  virtual MAKRti::DtString fullFedExName() const;
65 
67  virtual void setFederateName(MAKRti::DtString const & name, bool adjustBufferSize = true);
68 
70  virtual MAKRti::DtString federateName() const;
71 
73  virtual void setFederateHostName(MAKRti::DtString const& name, bool adjustBufferSize = true);
74 
76  virtual MAKRti::DtString federateHostName() const;
77 
80  virtual void setIpAddress( const MAKRti::DtInetAddr& ip );
81 
83  virtual MAKRti::DtInetAddr ipAddress() const;
84 
86  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
87 
88 public:
89 
91  static DtRtiMsg* create(const DtNetMsgHeader* initial,
92  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
93 
95  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
96 
98  static void addCallback(DtConnectionMgr* conn,
99  DtJoinLightWeightCb cb, void* usr);
100  static void removeCallback(DtConnectionMgr* conn,
101  DtJoinLightWeightCb cb, void* usr);
102 
103 protected:
104 
106  virtual DtNetJoinLightWeightMsg* netJoinLightWeightMsg();
107  virtual const DtNetJoinLightWeightMsg* netJoinLightWeightMsg() const;
108 
111 
113  virtual int minSize() const;
114 
116  virtual int minSize( MAKRti::DtString const & federateType,
117  MAKRti::DtString const & fedExName,
118  MAKRti::DtString const & federateName,
119  MAKRti::DtString const& federateHostName);
120 
122  virtual void setFederateTypeSize( unsigned long size );
123  virtual unsigned long federateTypeSize() const;
124 
126  virtual void setFederateNameSize( unsigned long size );
127  virtual unsigned long federateNameSize() const;
128 
130  virtual void setFedExNameSize( unsigned long size );
131  virtual unsigned long fedExNameSize() const;
132 
134  virtual void setFederateHostNameSize( unsigned long size );
135  virtual unsigned long federateHostNameSize() const;
136 
138  virtual const char* federateTypePtr() const;
139  virtual const char* federateNamePtr() const;
140  virtual const char* fedExNamePtr() const;
141  virtual const char* federateHostNamePtr() const;
142 
143  //non-const versions
144  virtual char* federateTypePtr();
145  virtual char* federateNamePtr();
146  virtual char* fedExNamePtr();
147  virtual char* federateHostNamePtr();
148 
150  virtual DtJoinLightWeightMsg* self() const;
151 
152 };
153 
155 {
156  return const_cast<DtJoinLightWeightMsg*>( this );
157 }
158 
159 #endif
160 
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
virtual DtJoinLightWeightMsg * self() const
Casts away const-ness.
Definition: joinLightWeightMsg.h:154
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: netJoinLightWeightMsg.h:19
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
Definition: joinLightWeightMsg.h:26
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
void(* DtJoinLightWeightCb)(const DtJoinLightWeightMsg &inter, void *usr)
Definition: joinLightWeightMsg.h:24
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155

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)