ANNA Suite  2020b
Multipurpose development suite for Telco applications
Component.hpp
Go to the documentation of this file.
1 // ANNA - Anna is Not Nothingness Anymore //
2 // //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
4 // //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7 
8 
9 #ifndef anna_core_util_Component_hpp
10 #define anna_core_util_Component_hpp
11 
12 
13 
15 #include <anna/core/mt/Mutex.hpp>
16 
17 namespace anna {
18 namespace xml {
19 class Node;
20 }
21 }
22 
23 namespace anna {
24 
39 class Component : public anna::Mutex {
40 public:
44  virtual ~Component();
45 
50  const char* getClassName() const { return a_className.c_str(); }
51 
57  virtual std::string asString(void) const ;
58 
64  virtual anna::xml::Node* asXML(anna::xml::Node* parent) const ;
65 
66 
67 protected:
68 
69  const std::string a_className;
70 
75  explicit Component(const char* className);
76 
77  Component (const Component& other);
78 };
79 
80 }
81 
82 #endif
83 
const char * getClassName() const
Definition: Component.hpp:50
Definition: Node.hpp:56
Definition: Component.hpp:39
xml::Node Node
Definition: Node.hpp:21
const std::string a_className
Definition: Component.hpp:69
Definition: app.hpp:12
Definition: Mutex.hpp:41