ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
anna::Component Class Reference

#include <Component.hpp>

Inheritance diagram for anna::Component:
Inheritance graph
[legend]
Collaboration diagram for anna::Component:
Collaboration graph
[legend]

Public Member Functions

virtual ~Component ()
 
const char * getClassName () const
 
virtual std::string asString (void) const
 
virtual anna::xml::NodeasXML (anna::xml::Node *parent) const
 
- Public Member Functions inherited from anna::Mutex
 Mutex (const Mode::_v mode=Mode::Recursive)
 
virtual ~Mutex ()
 
virtual void lock () noexcept(false)
 
virtual void unlock ()
 
bool trylock () noexcept(false)
 
 operator const pthread_mutex_t * () const
 

Protected Member Functions

 Component (const char *className)
 
 Component (const Component &other)
 
- Protected Member Functions inherited from anna::Safe
 Safe ()
 

Protected Attributes

const std::string a_className
 

Detailed Description

Component parent class

It must be only one instance for each component, but we can't inherit them from anna::Singleton because the programmer must have the posibility to re-implement the component.

Class* object = anna::functions::component <Class> (FILE_LOCATION);
..... object use ....

If component 'Class' hasn't been registered, anna::functions::component will launch an exception.

Constructor & Destructor Documentation

◆ ~Component()

virtual anna::Component::~Component ( )
virtual

Destructor.

Reimplemented in anna::app::Component.

◆ Component() [1/2]

anna::Component::Component ( const char *  className)
explicitprotected

Contructor.

Parameters
classNameLogical name for tha class.

◆ Component() [2/2]

anna::Component::Component ( const Component other)
protected

Member Function Documentation

◆ asString()

virtual std::string anna::Component::asString ( void  ) const
virtual

◆ asXML()

virtual anna::xml::Node* anna::Component::asXML ( anna::xml::Node parent) const
virtual

Class XML representation.

Parameters
parentXML node over which we will put instance information.
Returns
XML documentcon with class content.

Reimplemented in anna::comm::Communicator, anna::diameter::comm::Engine, anna::diameter::codec::EngineImpl, anna::ldap::Engine, anna::dbms::Database, anna::timex::Engine, and anna::app::Component.

◆ getClassName()

const char* anna::Component::getClassName ( ) const
inline

Gets the class name configured at constructor.

Returns
The class name configured at constructor.
50 { return a_className.c_str(); }
const std::string a_className
Definition: Component.hpp:69

Member Data Documentation

◆ a_className

const std::string anna::Component::a_className
protected

The documentation for this class was generated from the following file: