MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
subObjMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: subObjMsg.h,v $ $Revision: 1.18 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtSubObjMsg_H_
13 #define DtSubObjMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netSubObjMsg.h"
17 #include "attrHandSet.h"
18 
19 class DtConnectionMgr;
20 class DtSubObjMsg;
21 typedef void (*DtSubObjCb)(const DtSubObjMsg& inter, void* usr);
22 
24 {
25 public:
26 
28  DtSubObjMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
29 
31  DtObjectClassHandle theObj,
32  bool isPassiveValue,
33  bool replacementValue,
34  const DtAttributeHandleSet& theSet,
35  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
36 
38  DtSubObjMsg(const DtNetSubObjMsg* netRepMsg,
39  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
40 
42  virtual ~DtSubObjMsg();
43 
45  virtual DtRtiMsg* clone(bool copy = true) const;
46 
48  virtual void set(
49  DtObjectClassHandle theObj,
50  bool isPassiveValue,
51  bool replacementValue,
52  const DtAttributeHandleSet& theSet);
53 
55  virtual void setObjectClassHandle(DtObjectClassHandle hand);
56  virtual DtObjectClassHandle objectClassHandle() const;
57 
59  virtual void setIsPassive(bool isPassiveValue);
60  virtual bool isPassive() const;
61 
64  virtual void setReplacement(bool replacementValue);
65  virtual bool replacement() const;
66 
68  virtual void setAttrHandles(const DtAttributeHandleSet& attrs);
69  virtual const DtAttributeHandleSet& attrHandles() const;
70 
72  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
73 
74 public:
75 
77  static DtRtiMsg* create(const DtNetMsgHeader* initial,
78  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
79 
81  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
82 
84  static void addCallback(DtConnectionMgr *conn,
85  DtSubObjCb cb, void *usr, bool isMomCallback=false);
86  static void removeCallback(DtConnectionMgr *conn,
87  DtSubObjCb cb, void *usr, bool isMomCallback=false);
88 
89 protected:
90 
92  virtual DtNetSubObjMsg* netSubObjMsg();
93  virtual const DtNetSubObjMsg* netSubObjMsg() const;
94 
97 
99  virtual int minSize() const;
100 
102  virtual DtSubObjMsg* self() const;
103 
104 protected:
105 
106  int myDirty;
108 };
109 
110 
112 {
113  return const_cast<DtSubObjMsg*>( this );
114 }
115 
116 #endif
117 

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)