ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Context.hpp>
Public Member Functions | |
Transaction * | open (const Tid &tid, const int classType=0) noexcept(false) |
Transaction * | find (const Tid &tid, const Exception::Mode::_v emode=Exception::Mode::Throw) noexcept(false) |
const Tid & | getIdentifier (const Transaction *transaction) const noexcept(false) |
void | close (Transaction *transaction) |
virtual xml::Node * | asXML (xml::Node *parent) const |
![]() | |
TimeEventObserver (const char *name) | |
std::string | asString () const |
Static Public Member Functions | |
static const Context * | getInstance (const Transaction *transaction) noexcept(false) |
Protected Member Functions | |
Context (const char *observerName, timex::Engine &timeController, const Millisecond &timeout) | |
virtual Transaction * | createTransaction (const int classType)=0 |
virtual void | releaseTransaction (Transaction *transaction)=0 |
virtual std::string | identifierAsString (const Tid &tid) const =0 |
virtual const Tid & | contextAsIdentifier (const void *tid) const =0 |
Automatiza todas las operaciones relacionadas con el control de las transaciones de nuestra aplicación.
Tid | Indica el tipo de dato usado para ordenar las transaciones en el contexto. Es distinto del identificador de transacción. El identificador de transacción facilita su localización en los niveles de plataforma, mientras que este Tid facilita su localización a niveles de aplicación. Habitualmente este Tid será una cadena alfanumérica. |
|
inlineprotected |
Constructor.
observerName | Esta clase hera de anna::timex::TimeEventObserver por lo que debe tener un nombre lógico |
timeController | Gestor de temporización usado en la aplicación. |
timeout | Duración de las transaciones creadas por el contexto. En principio todas las transaciones tendrán la misma duración, pero en próximas versiones se podría ampliar la funcionalidad para que cada transación pueda indicar su duración de forma independiente. |
|
inlinevirtual |
Devuelve la información relevante de esta clase en forma de documento XML.
parent | Nodo XML del que colgar la información de esta instancia. |
|
inline |
Termina la transación antes de que termine su periodo de espera.
transaction | Transación a terminar. Si fuera NULL este método no tiene ningún efecto. |
|
protectedpure virtual |
Método virtual puro que debe devolver la clave de aplicación asociada a una transación
tid | Puntero que apunta a la clave de aplicación usada para acceder a una transacción. |
|
protectedpure virtual |
Método virtual puro que creará las transaciones de este contexto cuando sea necesario. Lo más adecuado sería implementar este método mediate el uso del patrón anna::Recycler.
classType | Tipo de transación que deseamos crear. Este parámetro sólo será útil en caso de que nuestra aplicación tenga que gestionar varios tipos de transaciones u operaciones. |
|
inlinenoexcept |
Devuelve al instancia de la transación correspondiente al identificador recibido como parámetro.
tid | Identificador de aplicación de la transación. |
emode | Modo de actuar en caso de que no se encuentre la transacción correspondiente al identificador. |
|
inlinenoexcept |
Obtiene el identificador de aplicación asociado a la transación recibida como parámetro.
transaction | Puntero a la transación a procesar. Debe haber sido creada con el método open. |
|
inlinestaticnoexcept |
Obtiene la instancia del gestor del contexto asociado a la transación recibida como parámetro. Puede ser NULL.
transaction | Puntero a la transación a procesar. Si no ha sido creada con el método open el resultado de esta operación no está determinado. |
|
protectedpure virtual |
Método virtual puro que debe devolver una std::string correspondiente al valor del identificador recibido como parámetro.
tid | Identificador único que la transación. |
|
inlinenoexcept |
Crea una transacción con el identificador recibido como parámetro. En caso de que el identificador ya esté registrado en el contexto obtendremos una excepción.
tid | Identificador de aplicación de la transación. |
classType | Tipo de transación que deseamos crear. Este parámetro sólo será útil en caso de que nuestra aplicación tenga que gestionar varios tipos de transaciones u operaciones. |
Este método terminará llamando al método createTransaction.
|
protectedpure virtual |
Método virtual puro que liberá el espacio asociado a la transación recibida como parámetro. Lo más adecuado sería implementar este método mediate el uso del patrón anna::Recycler.
transaction | Transación a liberar. |