CARMA C++
SwitchyardHandles.h
1 #ifndef CARMA_CONTROL_SWITCHYARDHANDLES_H
2 #define CARMA_CONTROL_SWITCHYARDHANDLES_H
3 
5 #include "carma/monitor/ControlSubsystem.h"
6 #include "carma/switchyard/SwitchyardControl.h"
7 
8 namespace carma {
9 
10 namespace monitor {
11  class MonitorSystem;
12 } // namespace monitor
13 
14 namespace control {
15 
16 typedef
17 RemoteObjHandleT< switchyard::SwitchyardControl > SwitchyardRemoteObjHandle;
18 
19 // Super thin handles for the various switchyard control DOs.
20 // They just call through to DO and contain no local state.
21 class IFSwitchyardHandle : public SwitchyardRemoteObjHandle {
22 public:
23 
24  IFSwitchyardHandle(
25  carma::monitor::MonitorSystem & monitorSystem,
26  carma::monitor::ControlSubsystemBase::Reachable & reachable );
27 
28  ~IFSwitchyardHandle( );
29 
30  void setSwitches(std::vector<carma::switchyard::SwitchPosition>& swVec);
31 
32 };
33 
34 class LOSwitchyardHandle : public SwitchyardRemoteObjHandle {
35 public:
36 
37  LOSwitchyardHandle(
38  carma::monitor::MonitorSystem & monitorSystem,
39  carma::monitor::ControlSubsystemBase::Reachable & reachable );
40 
41  ~LOSwitchyardHandle( );
42 
43  void setSwitches(std::vector<carma::switchyard::SwitchPosition>& swVec);
44 
45 };
46 
47 class LLSwitchyardHandle : public SwitchyardRemoteObjHandle {
48 public:
49 
50  LLSwitchyardHandle(
51  carma::monitor::MonitorSystem & monitorSystem,
52  carma::monitor::ControlSubsystemBase::Reachable & reachable );
53 
54  ~LLSwitchyardHandle( );
55 
56  void setSwitches(std::vector<carma::switchyard::SwitchPosition>& swVec);
57 };
58 
59 class DCLOSwitchyardHandle : public SwitchyardRemoteObjHandle {
60 public:
61 
62  DCLOSwitchyardHandle(
63  carma::monitor::MonitorSystem & monitorSystem,
64  carma::monitor::ControlSubsystemBase::Reachable & reachable );
65 
66  ~DCLOSwitchyardHandle( );
67 
68  void setSwitches(std::vector<carma::switchyard::SwitchPosition>& swVec);
69 };
70 
71 
72 }} // namespace carma::control
73 #endif
Manages connection to remote DO.
Monitor system base class.
Definition: MonitorSystem.h:81