From 40eb595d31d10aced2d9c739a9c7be271e5ff1e3 Mon Sep 17 00:00:00 2001 From: Marco De Marco Date: Thu, 12 Dec 2013 09:47:23 +0100 Subject: [PATCH] Alarm state added --- src/MetadataExporter.cpp | 8 ++++---- src/MetadataExporter.xmi | 6 +++++- src/MetadataExporterStateMachine.cpp | 6 ++++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/MetadataExporter.cpp b/src/MetadataExporter.cpp index 125baec..1d8deaa 100644 --- a/src/MetadataExporter.cpp +++ b/src/MetadataExporter.cpp @@ -549,14 +549,14 @@ void MetadataExporter::on() } catch(std::exception& ex) { - set_state(Tango::FAULT); + set_state(Tango::ALARM); std::stringstream error_stream; error_stream << "MetadataExporter::On() " << ex.what() << std::endl; set_status(error_stream.str()); } catch(...) { - set_state(Tango::FAULT); + set_state(Tango::ALARM); set_status("MetadataExporter::On() unknown error"); } @@ -581,14 +581,14 @@ void MetadataExporter::off() } catch(std::exception& ex) { - set_state(Tango::FAULT); + set_state(Tango::ALARM); std::stringstream error_stream; error_stream << "MetadataExporter::Off() " << ex.what() << std::endl; set_status(error_stream.str()); } catch(...) { - set_state(Tango::FAULT); + set_state(Tango::ALARM); set_status("MetadataExporter::Off() unknown error"); } diff --git a/src/MetadataExporter.xmi b/src/MetadataExporter.xmi index e6e2621..728e265 100644 --- a/src/MetadataExporter.xmi +++ b/src/MetadataExporter.xmi @@ -117,6 +117,7 @@ ON FAULT + ALARM @@ -135,7 +136,10 @@ - + + + + diff --git a/src/MetadataExporterStateMachine.cpp b/src/MetadataExporterStateMachine.cpp index e611b63..17814d0 100644 --- a/src/MetadataExporterStateMachine.cpp +++ b/src/MetadataExporterStateMachine.cpp @@ -43,7 +43,8 @@ //================================================================ // ON | Metadata exporter is in ON state (ready to incoming connections) // OFF | Metadata exporter is in OFF state (not ready for incoming connections) -// FAULT | Metadata exporter is in FAULT state (an error occurred) +// FAULT | Metadata exporter is in FAULT state (not ready to propagate metadata) +// ALARM | Metadata exporter is in ALARM state (not ready to propagate metadata) namespace MetadataExporter_ns @@ -66,7 +67,8 @@ bool MetadataExporter::is_On_allowed(TANGO_UNUSED(const CORBA::Any &any)) { // Compare device state with not allowed states. if (get_state()==Tango::ON || - get_state()==Tango::FAULT) + get_state()==Tango::FAULT || + get_state()==Tango::ALARM) { /*----- PROTECTED REGION ID(MetadataExporter::OnStateAllowed) ENABLED START -----*/ -- GitLab