VR-Link API Documentation for HLA Evolved
tRadRecInterface.h
Go to the documentation of this file.
1 //********************************************************************
4 //********************************************************************
5 //********************************************************************
7 //********************************************************************
8 
9 #ifndef tRadRecInterface_H_
10 #define tRadRecInterface_H_
11 
12 #if DtTENA
13 
14 #include "makLromMapExport.h"
15 #include <vlutil/vlMachineTypes.h>
16 #include <vl/tObjectInterface.h>
17 #include <vl/tReflectedEnt.h>
18 #include <vl/entitySR.h>
19 #include <vlpi/entityType.h>
20 #include <vl/globalObjDes.h>
21 
22 #include <MAK/RadioReceiver/ServantPtr.h>
23 #include <MAK/RadioReceiver/ProxyPtr.h>
24 #include <MAK/RadioReceiver/ImmutablePublicationStatePtr.h>
25 #include <MAK/RadioReceiver/SubscriptionInfoPtr.h>
26 
27 #include <map>
28 #include <list>
29 
33 
35 //
42 class DT_DLL_MAKLROM DtRadioReceiverInterface: public DtObjectInterface
43 {
44 protected:
47  class DtRadioReceiverServantObject : public DtTenaServantObject
48  {
49  public:
51  DtRadioReceiverServantObject( MAK::RadioReceiver::ServantPtr sp):myServantPtr(sp){}
52 
54  virtual ~DtRadioReceiverServantObject() {}
55 
57  virtual const MAK::RadioReceiver::ServantPtr servant() const { return myServantPtr;}
58 
60  virtual MAK::RadioReceiver::ServantPtr servant() { return myServantPtr;}
61 
62  protected:
63  MAK::RadioReceiver::ServantPtr myServantPtr;
64  };
65 
66 public:
68  DtRadioReceiverInterface(DtExerciseConn* exConn);
69 
71  virtual ~DtRadioReceiverInterface();
72 
73 private:
75  DtRadioReceiverInterface(const DtRadioReceiverInterface &other);
76 
78  DtRadioReceiverInterface& operator=(const DtRadioReceiverInterface &other);
79 
80 public:
83  virtual DtTenaServantObject* createServantObject(DtExerciseConn* exConn);
84 
86  virtual void processServantCleanup(DtTenaServantObject* servantObject);
87 
89  virtual void subscribe();
90 
92  virtual bool needUpdate(const DtStateRepository& stateRep,
93  const DtStateRepository& asSeenByRemote,
94  bool useThresholding = true);
95 
97  virtual void decode(const DtTenaServantObject* servant,
98  DtStateRepository* stateRep)const;
99 
101  virtual void encode(DtTenaServantObject* servant,
102  const DtStateRepository* stateRep,
103  TENA::Time::Pointer timeForStamping,
104  bool forceUpdate = false);
105 
107  virtual DtReflectedObject *createReflectedObject()const;
108 
110  virtual void processAddition(MAK::RadioReceiver::ProxyPtr const &proxy);
111 
113  virtual void processUpdate(MAK::RadioReceiver::ProxyPtr const &proxy);
114 
116  virtual void processRemoval(MAK::RadioReceiver::ProxyPtr const &proxy);
117 
118 
119 protected:
121  virtual void decode(const MAK::RadioReceiver::ImmutablePublicationStatePtr pubStatePtr,
122  DtStateRepository* stateRep)const;
123 
124 protected:
125 
127  MAK::RadioReceiver::SubscriptionInfoPtr mySubscriptionInfoPtr;
128  typedef std::map<MAK::RadioReceiver::ProxyPtr, DtReflectedObject *> ProxyToRefObjMap;
129  ProxyToRefObjMap myRefRadRecMap;
130  ProxyToRefObjMap myReceiverWaitList;
131 
132 };
133 
134 
135 #endif
136 #endif
137 
138 
139 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)