MAK RTIspy API Documentation for HLA Evolved
momSR.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright(c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: momSR.h,v $ $Revision: 1.21 $ $State: Exp $
7 *********************************************************************/
8 #ifdef DtMOM
9 
10 
11 
12 #ifndef DtMomSR_H_
13 #define DtMomSR_H_
14 
15 #include <vlutil/vlHashlist.h>
16 #include "momInspector.h"
17 #include "momElement.h"
18 #include "objMgr.h"
19 
20 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
21 #include <RTI/LogicalTime.h>
22 #include <RTI/LogicalTimeInterval.h>
23 #else
24 #ifdef DtIFSPEC13DLC
25 #include "RTI13.h"
26 #define RTI rti13
27 #else
28 #include "RTI.hh"
29 #endif
30 #endif
31 
32 enum DT_DLL_LRC DtMomUpdateType
33 {
34  DtMomUpdateStatic,
35  DtMomUpdateConditional,
36  DtMomUpdatePeriodic
37 };
38 
39 class DtFomClassMgr;
40 class DtMomInspector;
41 class DtMomHandleList;
42 class DtAhvps;
43 
44 class DT_DLL_LRC DtMomSR
45 {
46 public:
47 
49  DtMomSR(DtFomClassMgr* fomPtr, DtMomInspector* servicePtr,
50  DtRtiObject* objPtr);
51 
53  virtual ~DtMomSR();
54 
56  DtMomSR(const DtMomSR& orig);
57 
59  DtMomSR& operator=(const DtMomSR& orig);
60 
62  virtual void forceUpdate(DtAttributeHandleSet const & set);
63 
67  virtual void putElement(char* name, DtMomElement element,
68  DtMomUpdateType updateType);
69 
71  virtual DtMomElement element(DtAttributeHandle attribute);
72 
74  virtual DtAttributeHandle attribute(DtMomElement element);
75 
77  virtual void encodeAttribute(DtAhvps* vp, DtAttributeHandle attribute) = 0;
78 
80  virtual DtAttributeHandleSet const& updateAttributes() const;
81 
83  virtual DtAttributeHandleSet const& fullAttributes() const;
84 
86  virtual DtAttributeHandleSet const& conditionalAttributes() const;
87 
89  virtual DtAttributeHandleSet const& periodicAttributes() const;
90 
92  virtual DtAttributeHandleSet const& staticAttributes() const;
93 
95  inline DtObjectInstanceHandle objectInstanceHandle() const;
96 
97 protected:
98 
100  virtual DtMomInspector* localService();
101  virtual DtMomInspector const * localService() const;
102 
103 protected:
104 
105  DtFomClassMgr* myFom;
106  DtMomInspector* myService;
107  DtRtiObject* myObject;
108  DtHandle myPrivilege;
109  DtHandle myClassHandle;
110  MAKRti::DtHashList myElementMap;
111  MAKRti::DtHashList myAttributeMap;
112  DtUpdateType myUpdateType;
113  DtAttributeHandleSet myUpdateAttributes;
114  DtAttributeHandleSet myConditionalAttributes;
115  DtAttributeHandleSet myPeriodicAttributes;
116  DtAttributeHandleSet myStaticAttributes;
118  DtAttributeHandleSet myFullAttributes;
119 
120 #ifdef DtIFSPEC1516
121  std::auto_ptr<rti1516::LogicalTime> myTime;
122  std::auto_ptr<rti1516::LogicalTimeInterval> myInterval;
123 #elif defined(DtIFSPEC1516E)
124  std::auto_ptr<rti1516e::LogicalTime> myTime;
125  std::auto_ptr<rti1516e::LogicalTimeInterval> myInterval;
126 #else
127  std::auto_ptr<RTI::FedTime> myTime;
128  std::auto_ptr<RTI::FedTime> myInterval;
129 #endif
130 
131 };
132 
133 
134 inline DtObjectInstanceHandle DtMomSR::objectInstanceHandle() const
135 {
136  DtObjectInstanceHandle hdl = 0;
137  if(myObject)
138  {
139  hdl = myObject->objHandle();
140  }
141  return hdl;
142 }
143 
144 #endif
145 #endif

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)