9 #ifndef anna_core_oam_Module_hpp 10 #define anna_core_oam_Module_hpp 32 class CounterRecorder;
141 bool a_counters_enabled;
142 bool a_alarms_enabled;
146 typedef std::map <int, anna::oam::CounterScope*> scope_container;
147 scope_container a_scopes;
149 counter_container a_counters;
152 typedef std::map <
int ,
alarm_data_t > alarm_container;
153 alarm_container a_alarms;
154 void alarmEvent(
bool activation,
const int & type, va_list argList)
const ;
157 bool a_alarms_preffix_enabled;
158 bool a_alarms_suffix_enabled;
159 std::string alarmComponentsToText(
const std::vector<std::string> & components,
const std::string & psL,
const std::string & psS,
const std::string & psR)
const ;
162 typedef scope_container::iterator scope_iterator;
163 typedef scope_container::const_iterator const_scope_iterator;
164 scope_iterator scope_find(
const int &key) {
return a_scopes.find(key); }
165 scope_iterator scope_begin() {
return a_scopes.begin(); }
166 scope_iterator scope_end() {
return a_scopes.end(); }
168 const_scope_iterator scope_begin()
const {
return a_scopes.begin(); }
169 const_scope_iterator scope_end()
const {
return a_scopes.end(); }
172 typedef counter_container::iterator counter_iterator;
173 typedef counter_container::const_iterator const_counter_iterator;
175 const_counter_iterator counter_find(
const int &key)
const {
return a_counters.find(key); }
176 const_counter_iterator counter_begin()
const {
return a_counters.begin(); }
177 const_counter_iterator counter_end()
const {
return a_counters.end(); }
178 counter_iterator counter_find(
const int &key) {
return a_counters.find(key); }
179 counter_iterator counter_begin() {
return a_counters.begin(); }
180 counter_iterator counter_end() {
return a_counters.end(); }
182 bool a_counterRecording;
184 class RecordingGuard {
193 typedef alarm_container::iterator alarm_iterator;
194 typedef alarm_container::const_iterator const_alarm_iterator;
196 const_alarm_iterator alarm_find(
const int &key)
const {
return a_alarms.find(key); }
197 const_alarm_iterator alarm_begin()
const {
return a_alarms.begin(); }
198 const_alarm_iterator alarm_end()
const {
return a_alarms.end(); }
199 alarm_iterator alarm_find(
const int &key) {
return a_alarms.find(key); }
200 alarm_iterator alarm_begin() {
return a_alarms.begin(); }
201 alarm_iterator alarm_end() {
return a_alarms.end(); }
202 void getAlarmPreffixSuffixAndZoneSeparator(std::string & preffix, std::string & suffix,
char & zS)
const ;
206 static const int MaxScope = 1000;
213 a_handler(&a_defaultHandler),
215 a_counters_enabled(false),
216 a_alarms_enabled(false),
217 a_alarms_preffix_enabled(true),
218 a_alarms_suffix_enabled(true),
219 a_counterRecorder(NULL),
220 a_counterRecording(false) {;}
230 int scopes()
const {
return a_scopes.size(); }
236 void enableCounters(
void) ;
242 void disableCounters(
void) ;
248 void enableAlarms(
void) ;
254 void disableAlarms(
void) ;
270 void enableAlarmsPreffix(
void) ;
276 void enableAlarmsSuffix(
void) ;
282 void disableAlarmsPreffix(
void) ;
288 void disableAlarmsSuffix(
void) ;
315 void initializeCounterScope(
const int & scopeId,
const std::string & description =
"") noexcept(
false);
325 void setActiveCounterScope(
const int & scopeId) ;
344 virtual std::string getDefaultInternalAlarmDescription(
const int & type)
const ;
355 virtual std::string getDefaultInternalCounterDescription(
const int & type)
const ;
368 void registerCounter(
const int &type,
const std::string &description,
const int &offset) noexcept(
false);
384 void registerAlarm(
const int &type,
const std::string &description,
const int &externalId,
const std::string &dynamicVariablesCSL,
const int &activationId,
const int &cancellationId = -1) noexcept(
false);
392 const char *
getName()
const {
return a_name.c_str(); }
401 const_counter_iterator it = counter_find(type);
402 return ((it != counter_end()) ? (&(*it).second) : NULL);
411 const_alarm_iterator it = alarm_find(type);
412 return ((it != alarm_end()) ? (&(*it).second) : NULL);
423 void count(
const int & type,
const int & amount = 1) noexcept(
false);
434 int resetCounters(
const int & scopeId = -1) ;
450 void recordCounters() noexcept(
false);
460 void activateAlarm(
int type, ...)
const noexcept(
false);
470 void cancelAlarm(
int type, ...)
const noexcept(
false);
479 virtual std::string asString(
void)
const ;
519 friend class RecordingGuard;
Definition: Handler.hpp:33
Definition: Module.hpp:135
Definition: defines.hpp:21
Module(const std::string &name)
Definition: Module.hpp:212
int scopes() const
Definition: Module.hpp:230
const counter_data_t * counter(const int &type) const
Definition: Module.hpp:400
bool alarmsEnabled() const
Definition: Module.hpp:264
virtual void readAlarmPreffixComponents(std::vector< std::string > &components) const
Definition: Module.hpp:503
Definition: CounterScope.hpp:32
xml::Node Node
Definition: Node.hpp:21
Definition: CounterRecorder.hpp:28
Definition: defines.hpp:31
virtual void readAlarmSuffixComponents(std::vector< std::string > &components) const
Definition: Module.hpp:516
void setHandler(Handler *handler)
Definition: Module.hpp:299
const char * getName() const
Definition: Module.hpp:392
const anna::oam::CounterScope * getActiveCounterScope() const
Definition: Module.hpp:333
void setCounterRecorder(CounterRecorder *counterRecorder)
Definition: Module.hpp:442
bool countersEnabled() const
Definition: Module.hpp:259
const alarm_data_t * alarm(const int &type) const
Definition: Module.hpp:410