MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ownerMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: ownerMsg.h,v $ $Revision: 1.17 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtOwnershipMsg_H_
13 #define DtOwnershipMsg_H_
14 
15 #include <rtiMsConfig.h>
16 #include <rtiMsg.h>
17 #include <netOwnerMsg.h>
18 #include <attrHandSet.h>
19 
20 class DtConnectionMgr;
21 class DtOwnershipMsg;
22 typedef void (*DtOwnershipCb)(const DtOwnershipMsg& msg, void* usr);
23 
25 {
43 };
44 
46 {
47 public:
48 
50  DtOwnershipMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
51 
54  DtOwnerMsgKind kind,
55  DtObjectInstanceHandle objHand,
56  const DtAttributeHandleSet& attrs,
57  DtFederateHandle targetFed = 0,
58  DtRtiApiTagConstRef theTag=theDefaultTag,
59  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
60 
63  DtOwnerMsgKind kind,
64  DtObjectInstanceHandle objHand,
65  const DtAttributeHandle attr,
66  DtFederateHandle targetFed = 0,
67  DtRtiApiTagConstRef theTag=theDefaultTag,
68  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
69 
71  DtOwnershipMsg(const DtNetOwnershipMsg* netRepMsg,
72  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
73 
75  virtual ~DtOwnershipMsg();
76 
78  virtual DtRtiMsg* clone(bool copy = true) const;
79 
81  virtual void set(
82  DtOwnerMsgKind kind,
83  DtObjectInstanceHandle objHand,
84  const DtAttributeHandleSet& attrs,
85  DtFederateHandle targetFed = 0,
86  DtRtiApiTagConstRef theTag = theDefaultTag);
87 
88  virtual void set (
89  DtOwnerMsgKind kind,
90  DtObjectInstanceHandle objHand,
91  const DtAttributeHandle attr,
92  DtFederateHandle targetFed = 0,
93  DtRtiApiTagConstRef theTag = theDefaultTag);
94 
96  virtual void setOwnerMsgKind(DtOwnerMsgKind kind);
97  virtual DtOwnerMsgKind ownerMsgKind() const;
98 
100  virtual void setObjectHandle(DtObjectInstanceHandle handle);
101  virtual DtObjectInstanceHandle objectHandle() const;
102 
104  virtual void setObjectName(char const * name);
105  virtual char const * objectName() const;
106 
108  virtual void setClassHandle(DtObjectClassHandle handle);
109  virtual DtObjectClassHandle classHandle() const;
110 
112  virtual void setTag(DtRtiApiTagConstRef tag);
113  virtual DtRtiApiTagConstRef tag() const;
114 
116  virtual void setRecipientFederate(DtFederateHandle hand);
117  virtual DtFederateHandle recipientFederate() const;
118 
120  virtual void setAttrHandles(const DtAttributeHandleSet& attrs);
121  virtual const DtAttributeHandleSet& attrHandles() const;
122 
124  virtual const char* ownershipKindToString() const;
125 
127  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
128 
129 public:
130 
132  static const char* ownershipKindToString(DtOwnerMsgKind kind);
133 
134 
136  static DtRtiMsg* create(const DtNetMsgHeader* initial,
137  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
138 
140  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
141 
143  static void addCallback(DtConnectionMgr *conn, DtOwnershipCb cb, void *usr);
144  static void removeCallback(DtConnectionMgr *conn, DtOwnershipCb cb, void *usr);
145 
146 protected:
147 
149  virtual char* namePtr();
150 
152  virtual int nameFieldSize() const;
153 
155  virtual char* tagPtr();
156 
158  virtual int tagFieldSize() const;
159 
161  virtual DtNetOwnershipMsg* netOwnershipMsg();
162  virtual const DtNetOwnershipMsg* netOwnershipMsg() const;
163 
166 
168  virtual int minSize() const;
169 
171  virtual DtOwnershipMsg* self() const;
172 
173 protected:
174 
175  mutable int myDirty;
178 };
179 
180 
182 {
183  return const_cast<DtOwnershipMsg*>( this );
184 }
185 
186 #endif
187 
Definition: ownerMsg.h:42
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
Definition: ownerMsg.h:32
Definition: ownerMsg.h:38
Definition: ownerMsg.h:26
Definition: fedTimeFactory.h:73
DtRtiApiVariableLengthData * DtRtiApiTagPtr
Definition: rtiApiTypes.h:100
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
Definition: ownerMsg.h:30
Definition: ownerMsg.h:45
Definition: ownerMsg.h:31
DtHandle DtObjectClassHandle
Definition: internalTypes.h:48
DtRtiApiVariableLengthData const & DtRtiApiTagConstRef
Definition: rtiApiTypes.h:98
Definition: ownerMsg.h:35
Definition: ownerMsg.h:39
Defines the internal representation of attribute/parameter handle sets.
Definition: attrHandSet.h:30
Definition: ownerMsg.h:37
Definition: ownerMsg.h:29
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
DtHandle DtFederateHandle
Definition: internalTypes.h:46
DtHandle DtObjectInstanceHandle
Definition: internalTypes.h:50
Definition: ownerMsg.h:40
Definition: ownerMsg.h:27
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
void(* DtOwnershipCb)(const DtOwnershipMsg &msg, void *usr)
Definition: ownerMsg.h:22
Definition: ownerMsg.h:28
virtual DtOwnershipMsg * self() const
Casts away const-ness.
Definition: ownerMsg.h:181
DtHandle DtAttributeHandle
Definition: internalTypes.h:54
Definition: ownerMsg.h:36
DtOwnerMsgKind
Definition: ownerMsg.h:24
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
virtual int tagFieldSize(int encodedLength) const
Returns size of a tag field (including byte alignment adjustment) given the tag&#39;s encoded length...
Definition: ownerMsg.h:33
Definition: ownerMsg.h:41
DtAttributeHandleSet * myAttrs
Definition: ownerMsg.h:176
DtRtiApiTagPtr myTag
Definition: ownerMsg.h:177
Definition: ownerMsg.h:34
Definition: netOwnerMsg.h:20
int myDirty
Definition: ownerMsg.h:175

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)