ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Application.hpp>
Public Types | |
typedef std::vector< Component * >::iterator | iterator |
typedef std::vector< Component * >::const_iterator | const_iterator |
typedef std::vector< pid_t > | pid_container |
typedef pid_container::iterator | pid_iterator |
typedef pid_container::const_iterator | const_pid_iterator |
Public Member Functions | |
Application (const char *shortName, const char *title, const char *version, const char *date=NULL, const char *time=NULL) | |
virtual | ~Application () |
const char * | getShortName () const |
const std::string & | getVersion () const |
const std::string & | getTitle () const |
pid_t | getPid () const |
void | activateGeneralPublicLicense () |
Application & | clone () noexcept(false) |
Component * | find (const char *className) |
void | start () noexcept(false) |
const_iterator | begin () const |
iterator | begin () |
const_iterator | end () const |
iterator | end () |
void | writeContext (const std::string &file) noexcept(false) |
virtual void | initialize () noexcept(false) |
virtual bool | supportCommunication () const |
virtual void | eventAbnormalTermination (const char *className) |
virtual xml::Node * | asXML (xml::Node *parent) const |
Static Public Member Functions | |
static const Component * | component (const_iterator &ii) |
static Component * | component (iterator &ii) |
Protected Member Functions | |
virtual void | run () noexcept(false)=0 |
virtual void | signalUSR1 () noexcept(false) |
virtual void | signalUSR2 () noexcept(false) |
virtual void | signalTerminate () noexcept(false) |
virtual void | do_cloneParent () noexcept(false) |
virtual void | do_cloneChild () noexcept(false) |
pid_iterator | pid_begin () |
pid_iterator | pid_end () |
int | pid_size () const |
const_pid_iterator | pid_begin () const |
const_pid_iterator | pid_end () const |
Static Protected Member Functions | |
static pid_t | pid (pid_iterator &ii) |
static pid_t | pid (const_pid_iterator &ii) |
Static Protected Attributes | |
static Application * | st_application |
Friends | |
class | Component |
struct | functions |
Application abstraction.
Gather all the information of resources (version, title, command line, threads, etc ...) used by our applications.
Only one single instance could exists for the application, accessed by mean anna::functions::getApp.
typedef std::vector<Component*>::const_iterator anna::app::Application::const_iterator |
typedef pid_container::const_iterator anna::app::Application::const_pid_iterator |
typedef std::vector<Component*>::iterator anna::app::Application::iterator |
typedef std::vector<pid_t> anna::app::Application::pid_container |
typedef pid_container::iterator anna::app::Application::pid_iterator |
anna::app::Application::Application | ( | const char * | shortName, |
const char * | title, | ||
const char * | version, | ||
const char * | date = NULL , |
||
const char * | time = NULL |
||
) |
Constructor.
shortName | Instance logical name. |
title | Application title (appears when the application starts). |
version | Program version (recommended X.YRZZn with X = main version, Y = secondary version, ZZ = delivery number |
date | Component build date. Normally the macro DATE. |
time | Component build time. Normally the macro TIME. |
|
inlinevirtual |
|
inline |
Activa la salida por pantalla del mensaje referente a la licencia GPL 3.0.
Devuelve una cadena con la informacion referente a esta instancia.
parent | Nodo XML del que dependende la informacion. |
|
inline |
|
inline |
|
noexcept |
Crea un nuevo proceso a partir de este usando el metodo fork.
Estrictamente este metodo retonara dos veces, una en el ambito del proceso que lo invoco y otra en el ambito del nuevo proceso, llamado proceso hijo.
Si la duplicacion se realiza de forma correcta se invoca a los metodos do_cloneChild y do_cloneParent de nuestra aplicacion y Component::do_cloneChild y Component::do_cloneParent de cada uno de los componentes registrados.
Para saber en cual de los procesos
|
inlinestatic |
|
inlineprotectedvirtualnoexcept |
|
inlineprotectedvirtualnoexcept |
|
inline |
|
inline |
|
inlinevirtual |
Este m�todo se invocar� cuando alguna capa superior a �sta detecte un problema tan grave como para parar la aplicaci�n de forma s�bita.
className | Nombre de la clase que genera el evento. |
Component* anna::app::Application::find | ( | const char * | className | ) |
Devuelve la instancia del componente que corresponde con el nombre recibido.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtualnoexcept |
metodo que puede ser reescrito en las clases heredadas de Application y que nos da la posibilidad de inicializar los elementos particulares de nuestra aplicacion. Por defecto no realiza ninguna operacion.
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inlineprotected |
Devuelve un iterador al primer proceso hijo creado por la aplicacion (ver clone),
|
inlineprotected |
Devuelve un iterador al primer proceso hijo creado por la aplicacion (ver clone),
|
inlineprotected |
Devuelve un iterador al final de lista lista de procesos hijos creados por la aplicacion (ver clone).
|
inlineprotected |
Devuelve un iterador al final de lista lista de procesos hijos creados por la aplicacion (ver clone).
|
inlineprotected |
|
protectedpure virtualnoexcept |
metodo que debemos implementar para ejecutar nuestra aplicacion.
|
inlineprotectedvirtualnoexcept |
Metodo manejador que podemos re-escribir para tratar la recepcion de la senhal SIGTERM.
Reimplemented in anna::comm::Application.
|
protectedvirtualnoexcept |
Handler for SIGUSR1. Application context written by default.
|
protectedvirtualnoexcept |
Handler for SIGUSR2. Nothing done by default.
|
noexcept |
Inicializa los elementos propios de nuestra aplicacio, invoca al metodo initialize e invoca al metodo run.
|
inlinevirtual |
|
noexcept |
Vuelva un documento XML con el contexto de la aplicacion.
file | Ruta completa del fichero en el que grabar el contexto de la aplicacion. |
|
friend |
|
friend |
|
staticprotected |