ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Repository.hpp>
Public Types | |
typedef std::map< StorageId, StorageArea * > | container |
typedef container::const_iterator | const_storage_iterator |
typedef container::iterator | storage_iterator |
Public Member Functions | |
Repository (const char *name) | |
Repository (const std::string &name) | |
StorageArea * | createStorageArea (const StorageId index, const char *name, const Size maxSize, ObjectAllocator objectAllocator, const int errorCode, const StorageArea::AccessMode::_v aamm=StorageArea::AccessMode::ReadOnly) noexcept(false) |
StorageArea * | findStorageArea (const StorageId index) |
void | clear () noexcept(false) |
const_storage_iterator | storage_begin () const |
const_storage_iterator | storage_end () const |
xml::Node * | asXML (xml::Node *parent) const |
![]() | |
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 | |
Static Public Member Functions | |
static const StorageArea * | storageArea (const_storage_iterator &ii) |
Protected Member Functions | |
storage_iterator | storage_begin () |
storage_iterator | storage_end () |
![]() | |
Safe () | |
Static Protected Member Functions | |
static StorageArea * | storageArea (storage_iterator &ii) |
Clase que modela la interaccion entre la base y nuestra aplicacion.
typedef container::const_iterator anna::dbos::Repository::const_storage_iterator |
Iterador para acceder a las areas de almacenamiento de esta base de datos
typedef std::map<StorageId, StorageArea*> anna::dbos::Repository::container |
typedef container::iterator anna::dbos::Repository::storage_iterator |
Iterador para acceder a las areas de almacenamiento de esta base de datos
|
explicit |
Constructor.
name | Nombre logico del repositorio de areas de almacenamiento. |
|
explicit |
Constructor.
name | Nombre logico del repositorio de areas de almacenamiento. |
Devuelve un documento XML con la informacion referente a esta instancia.
parent | Nodo XML del que dependende la informacion. |
|
noexcept |
Elimina todos los objetos cargados en las areas de almacenamiento definidas.
|
noexcept |
Crea una nueva area de almacenamiento para objetos cargados a partir de un medio fisico, normalmente la base de datos.
El tipo de dato de esta nueva area vendria definida implicitamente por el tipo de factoria empleadas para instanciar y/o liberar los objetos y sus respectivos registros.
index | Clave que seria usada para localizar el area de almacenamiento. |
name | Nombre logico de la nueva area de almacenamiento. |
maxSize | Limita el numero maximo de objetos que pueden estar cargados simultanemante en memoria. Si se alcanza este limite pero no hay ningun objeto susceptible de ser sacado de la memoria de almacenamiento se ampliaria automaticamente la reserva de memoria necesaria para cargar nuevos objetos, en tanto en cuanto no se libere alguno de los objetos cargados. Ver StorageArea::StandardSize. |
objectAllocator | actoria de objetos usada para crear las nuevas instancias en este area de almacenamiento. |
errorCode | Cdigo de error asociado a la excepcin lanzada por el metodo StorageArea::instantiate en caso de que no se encuentre el objeto buscado. Si vale StorageArea::NoExceptionWhenNotFound en caso de no encontrar el objeto no se devolveriaexcepcin y el valor retornado seria NULL. |
aamm | Modo de acceso de este area de almacenamiento. |
StorageArea* anna::dbos::Repository::findStorageArea | ( | const StorageId | index | ) |
Devuelve la instancia del area de almacenamiento asociada al indice recibido.
index | Indice del area de almacenamiento. |
|
inline |
|
inlineprotected |
|
inline |
|
inlineprotected |
|
inlinestatic |
|
inlinestaticprotected |