CARMA C++
SystemStateImpl.h
1 #ifndef CARMA_CONTROL_SYSTEMSTATEIMPL_H
2 #define CARMA_CONTROL_SYSTEMSTATEIMPL_H
3 
4 #include "carma/corba/corba.h"
5 #include "carma/control/AgingPolicy.h"
7 #include "carma/monitor/ControlSubsystem.h"
8 #include "carma/control/SystemState_skel.h"
9 
10 namespace carma {
11 
12 namespace dbms {
13  class TagIDAuthority;
14 }
15 
16 namespace control {
17 
18 class StateManager;
19 
20 class SystemStateImpl {
21 public:
22 
23  SystemStateImpl( const StateManager & manager,
24  const PolicyChain & policies );
25 
26  ~SystemStateImpl();
27 
28  CORBA::ULong getNewestStateFrame( );
29 
30  CORBA::ULong getOldestStateFrame( );
31 
33  getStateChangeFrames( const ::carma::control::SeqString& names,
34  ::CORBA::ULong begin,
35  ::CORBA::ULong end );
36 
37  ::carma::control::StateTransportMonitorValueSeq *
38  getStateValues( const ::carma::control::SeqString& names,
39  ::CORBA::ULong frame );
40 
41 
42 private:
43 
44  const StateManager & manager_;
45  const PolicyChain & policyChain_;
46 
47  const carma::dbms::TagIDAuthority & authority_;
48  carma::monitor::ControlSubsystem localControlSubsys_;
49 
50 }; // class SystemStateImpl
51 
52 } // namespace control
53 } // namespace carma
54 #endif
The monitor system for the Control subsystem.
Semi-hand-forged extensions to the auto-generated classes for the Control subsystem.
A lookup class for mapping names and IDs.
sequence< unsigned long > SeqULong
Sequence of CORBA::ULong.
Definition: SystemState.idl:22