1 #ifndef CARMA_FAULT_ALARMCONTROLROH_H
2 #define CARMA_FAULT_ALARMCONTROLROH_H
7 #include <carma/corba/corba.h>
8 #include <carma/alarm/AlarmControl.h>
15 class AlarmControlROH {
17 explicit AlarmControlROH( );
19 virtual ~AlarmControlROH( );
21 bool setState(
const bool alarmOn,
22 const std::string &sound,
23 const std::string &mpName);
26 AlarmControlROH(
const AlarmControlROH & rhs );
27 AlarmControlROH & operator=(
const AlarmControlROH & rhs );
29 void setObjRefStateToResolved( );
30 void setObjRefStateToDisconnected( );
31 void setObjRefStateToConnected( );
33 bool resolveObjRef( );
35 bool isObjReachable(
bool alarmSubsysCurrent );
37 alarm::AlarmControl_var remoteObj( );
39 void flushPrevCallsLogging(
bool forceTransition );
41 void logGoodCall( const ::std::string & callString,
43 size_t maxConsecPerLog );
45 void processCaught( const ::std::string & callString );
48 OBJ_REF_STATE_NEVER_SET,
49 OBJ_REF_STATE_RESOLVED,
50 OBJ_REF_STATE_DISCONNECTED,
51 OBJ_REF_STATE_CONNECTED
54 const ::std::string doName_;
55 ObjRefState objRefState_;
56 alarm::AlarmControl_var objRef_;
57 bool haveGoodPrevCalls_;
58 ::std::string prevCallsCallString_;
59 ::std::vector< double > prevCallsUnloggedMjdVec_;