MAK RTIspy API Documentation for HLA 1516
regObjMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: regObjMsg.h,v $ $Revision: 1.14 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtRegObjMsg_H_
13 #define DtRegObjMsg_H_
14 
15 #include "rtiMsg.h"
16 #include "netRegObjMsg.h"
17 #include "attrHandSet.h"
18 #include <vlutil/vlString.h>
19 
20 class DtConnectionMgr;
21 class DtRegObjMsg;
22 
23 typedef void (*DtRegObjCb)(const DtRegObjMsg& msg, void* usr);
24 
26 {
27 public:
28 
30  DtRegObjMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
31 
33  DtObjectInstanceHandle objHandleValue,
34  const char* objNameValue,
35  DtObjectClassHandle classHandleValue,
36  const DtAttributeHandleSet& attrSet,
37  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
38 
40  DtRegObjMsg(const DtNetRegObjMsg* netRepMsg,
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
42 
44  virtual ~DtRegObjMsg();
45 
47  virtual DtRtiMsg* clone(bool copy = true) const;
48 
50  virtual void set(
51  DtObjectInstanceHandle objHandleValue,
52  const char* objNameValue,
53  DtObjectClassHandle classHandleValue,
54  const DtAttributeHandleSet& attrSet);
55 
57  virtual void setClassHandle(DtObjectClassHandle hand);
58  virtual DtObjectClassHandle classHandle() const;
59 
61  virtual void setObjHandle(DtObjectInstanceHandle id);
62  virtual DtObjectInstanceHandle objHandle() const;
63 
65  virtual void setObjName(const char* name);
66  virtual const char* objName() const;
67 
69  virtual void setAttrHandles(const DtAttributeHandleSet& attrs);
70  virtual const DtAttributeHandleSet& attrHandles() const;
71 
73  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
74 
75 public:
76 
78  static DtRtiMsg* create(const DtNetMsgHeader* initial,
79  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
80 
82  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
83 
85  static void addCallback(DtConnectionMgr *conn,
86  DtRegObjCb cb, void *usr);
87  static void removeCallback(DtConnectionMgr *conn,
88  DtRegObjCb cb, void *usr);
89 
90 protected:
91 
93  virtual DtNetRegObjMsg* netRegObjMsg();
94  virtual const DtNetRegObjMsg* netRegObjMsg() const;
95 
98 
100  virtual int minSize() const;
101 
103  virtual char* namePtr();
104 
106  virtual unsigned long nameFieldSize() const;
107 
109  virtual DtRegObjMsg* self() const;
110 
111 protected:
112 
113  int myDirty;
115  MAKRti::DtString myName;
116 };
117 
118 
120 {
121  return const_cast<DtRegObjMsg*>( this );
122 }
123 
124 #endif
125 

Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)