X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fcore%2Foam%2FModule.hpp;h=520bef26d4a16464e8a002f7227e423406c45106;hb=3753f8bd8025131cc0b62da8942daefc376c1c46;hp=10e051fb5aaf4f4d56256b8130f4e2b1dc32e485;hpb=93366a0bda79e6fd6e7dad6316bfcf8cc82f5731;p=anna.git diff --git a/include/anna/core/oam/Module.hpp b/include/anna/core/oam/Module.hpp index 10e051f..520bef2 100644 --- a/include/anna/core/oam/Module.hpp +++ b/include/anna/core/oam/Module.hpp @@ -136,15 +136,10 @@ class Module { Handler a_defaultHandler; // default OAM handler Handler *a_handler; // Handler reference + std::string a_name; // module description - std::string a_className; // module description - bool a_counters_enabled; // Enable/Disable registered counters over this module (default is 'true') - bool a_alarms_enabled; // Enable/Disable registered alarms over this module (default is 'true') - - // dynamic modifications over alarm text - bool a_alarms_preffix_enabled; // Show own module alarm preffix - bool a_alarms_suffix_enabled; // Show own module alarm suffix - std::string alarmComponentsToText(const std::vector & components, const std::string & psL, const std::string & psS, const std::string & psR) const throw(); + bool a_counters_enabled; // Enable/Disable registered counters over this module (default is 'false') + bool a_alarms_enabled; // Enable/Disable registered alarms over this module (default is 'false') // GENERIC COUNTERS anna::oam::CounterScope* a_active_counter_scope; // Current scope for counters generation @@ -156,9 +151,13 @@ class Module { // GENERIC ALARMS typedef std::map < int /*type*/, alarm_data_t > alarm_container; alarm_container a_alarms; - void alarmEvent(bool activation, const int & type, va_list argList) const throw(); + // dynamic modifications over alarm text + bool a_alarms_preffix_enabled; // Show own module alarm preffix + bool a_alarms_suffix_enabled; // Show own module alarm suffix + std::string alarmComponentsToText(const std::vector & components, const std::string & psL, const std::string & psS, const std::string & psR) const throw(); + // Counters typedef scope_container::iterator scope_iterator; typedef scope_container::const_iterator const_scope_iterator; @@ -202,29 +201,33 @@ class Module { alarm_iterator alarm_end() throw() { return a_alarms.end(); } void getAlarmPreffixSuffixAndZoneSeparator(std::string & preffix, std::string & suffix, char & zS) const throw(); - public: - static const int MaxScope = 100; /**< Numero maximo de ambitos */ + static const int MaxScope = 1000; /**< Numero maximo de ambitos */ /** Constructor - @param className Logical name for the class (better use fullNaming format including namespace resolution) + @param name Logical name for the class (better use fullNaming format including namespace resolution) */ - Module(const std::string &className) : a_className(className), + Module(const std::string &name) : a_handler(&a_defaultHandler), - a_counters_enabled(true), - a_counterRecorder(NULL), - a_counterRecording(false), - a_alarms_enabled(true), + a_name(name), + a_counters_enabled(false), + a_alarms_enabled(false), a_alarms_preffix_enabled(true), - a_alarms_suffix_enabled(true) {;} + a_alarms_suffix_enabled(true), + a_counterRecorder(NULL), + a_counterRecording(false) {;} /** * Destructor */ virtual ~Module(); + /** + * Number of scopes registered + */ + int scopes() const { return a_scopes.size(); } /** * Enable all the counters registered in this module (enabled by default at constructor). @@ -250,6 +253,16 @@ public: */ void disableAlarms(void) throw(); + /** + Getter for counters enabled + */ + bool countersEnabled() const throw() { return a_counters_enabled; } + + /** + Getter for alarms enabled + */ + bool alarmsEnabled() const throw() { return a_alarms_enabled; } + /** * Show own module alarm preffix (enabled by default at constructor). * Usually managed at PROCCESS implementation @@ -376,7 +389,7 @@ public: @param OAM module name */ - const char *getClassName() const throw() { return a_className.c_str(); } + const char *getName() const throw() { return a_name.c_str(); } /**