ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Abstract.hpp>
Public Types | |
typedef std::vector< std::string * > | other_level_container |
typedef other_level_container::iterator | other_level_iterator |
typedef other_level_container::const_iterator | const_other_level_iterator |
typedef std::pair< std::string *, std::string * > | parameter_pkv |
typedef std::vector< parameter_pkv > | parameter_container |
typedef parameter_container::iterator | parameter_iterator |
typedef parameter_container::const_iterator | const_parameter_iterator |
Public Member Functions | |
virtual | ~Abstract () |
const std::string & | getDomain () const |
const std::string * | getPath () const |
const std::string & | getServiceID () const |
const std::string & | getGUID () const |
void | setServiceID (const std::string &serviceID) |
void | setGUID (const std::string &guid) |
bool | hasParameters () const |
bool | hasOtherLevels () const |
virtual void | clearOtherLevels () |
virtual void | clearParameters () |
void | clear () |
std::string | asString () const |
other_level_iterator | other_level_begin () |
other_level_iterator | other_level_end () |
const_other_level_iterator | other_level_begin () const |
const_other_level_iterator | other_level_end () const |
const_parameter_iterator | parameter_begin () const |
const_parameter_iterator | parameter_end () const |
Static Public Member Functions | |
static std::string * | otherLevel (other_level_iterator ii) |
static const std::string & | otherLevel (const_other_level_iterator ii) |
static const std::string & | parameter_name (const_parameter_iterator ii) |
static const std::string & | parameter_value (const_parameter_iterator ii) |
Protected Member Functions | |
Abstract (const char *whatis, const std::string &domain, const std::string &path) | |
Abstract (const char *whatis, const std::string &domain) | |
const std::string & | calculeFixedPart () noexcept(false) |
const std::string & | calculeShortFixedPart () noexcept(false) |
std::string * | createString () noexcept(false) |
std::string * | createString (const char *value) noexcept(false) |
std::string * | createString (const std::string &value) noexcept(false) |
void | destroyString (std::string *str) |
void | other_level_add (const std::string &otherLevel) noexcept(false) |
void | parameter_set (const std::string &name, const std::string &value) noexcept(false) |
parameter_iterator | parameter_begin () |
parameter_iterator | parameter_end () |
Static Protected Member Functions | |
static std::string * | parameter_name (parameter_iterator ii) |
static std::string * | parameter_value (parameter_iterator ii) |
static void | appendWithSlash (std::string &target, const std::string &other) |
Protected Attributes | |
other_level_container * | a_otherLevels |
parameter_container * | a_parameters |
Permite interpretar una URI según las recomendaciones de WIMS 2.0, lo que facilita el desarrollo de aplicaciones integradas en Web 2.0; estas recomendaciones indican cómo debe formarse la petición Abstract (REpresentational State Transfer) para permitir el desarrollo de cualquier servicio.
El formato general de una URI según la recomendación de WIMS 2.0 es:
http://domain-openapis/path-openapis/serviceID/guid/other_possible_levels?query_parameters
Dónde los campos tienen siguen la siguiente especificación:
typedef other_level_container::const_iterator anna::http::wims20::Abstract::const_other_level_iterator |
typedef parameter_container::const_iterator anna::http::wims20::Abstract::const_parameter_iterator |
typedef std::vector<std::string*> anna::http::wims20::Abstract::other_level_container |
typedef other_level_container::iterator anna::http::wims20::Abstract::other_level_iterator |
typedef std::vector<parameter_pkv> anna::http::wims20::Abstract::parameter_container |
typedef parameter_container::iterator anna::http::wims20::Abstract::parameter_iterator |
typedef std::pair<std::string*, std::string*> anna::http::wims20::Abstract::parameter_pkv |
Los parámetros se ordenan en el mismo orden en que fueron indicados por eso no se guardan sobre un std::map, ya que al volcarlos sobre la cadena que actuará como URI aparecerían ordenados alfabéticamente y quizás el servidor no lo espera así.
|
virtual |
Destructor
|
protected |
Contructor indicando el parámetro opcional path-openapis. Estos dos parámetros se obtendrá como parte de la configuración de nuestro sistema.
domain | Identifica el recurso del OpenAPI. |
path | Parámetro opcional que ajusta la ruta hacia los recusos de éste API. |
|
explicitprotected |
Constructor que no usará el parámetro opcional path-openapis. Este parámetro se obtendrá como parte de la configuración de nuestro sistema.
domain | Identifica el recurso del OpenAPI. |
|
staticprotected |
Concatena las cadenas recibidas teniendo en entre ambas debe de haber un carácter '/'.
std::string anna::http::wims20::Abstract::asString | ( | ) | const |
Devuelce una cadena con la información relevante sobre esta clase.
|
protectednoexcept |
Calcula la parte fija de la petición en base a calculeShortFixedPart, el serviceID y el GUID. Mientras estos dos últimos campos se mantengan constrantes, el resultado de este método no cambia.
|
protectednoexcept |
Calcula la parte fija corta de la petición. Tiene en cuenta el domain-openapis y si existe el path-openapis. Si fuera necesario incluye el identificador de protocolo "http://".
|
inline |
Inicializa los toda la información asociada a esta instancia.
|
virtual |
Limpia el contenido asociado al parámetro other_possible_level. Sólo debería invocarse a este método en caso de que el servicio destino de la petición haya cambiado.
Reimplemented in anna::http::wims20::ClientSide.
|
virtual |
Limpia el contenido asociado a los parámetros. Sólo debería invocarse a éste método en caso de que el número de parámetros a enviar sea distinto al de la petición anterior. Si son los mismos parámetros con el mismo nombre, deberíamos reutilizar el máximo número de veces.
|
inlineprotectednoexcept |
Optimiza la creación y liberación de cadenas que usa el proceso de interpretación continuamente.
|
inlineprotectednoexcept |
Optimiza la creación y liberación de cadenas que usa el proceso de interpretación continuamente.
|
inlineprotectednoexcept |
Optimiza la creación y liberación de cadenas que usa el proceso de interpretación continuamente.
|
inlineprotected |
Optimiza la creación y liberación de cadenas que usa el proceso de interpretación continuamente.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Devuelve true si la estructura contiene niveles opcionales o false en otro caso.
|
inline |
Devuelve true si la estructura contiene parámetros o false en otro caso.
|
protectednoexcept |
Amplía la lista de niveles.
otherLevel | Nombre del nivel con el que ampliar las lista. |
|
inline |
Devuelve un iterator al comienzo de la lista de niveles adicionales.
|
inline |
Devuelve un iterator al comienzo de la lista de niveles adicionales.
|
inline |
Devuelve un iterator al final de la lista de niveles adicionales.
|
inline |
Devuelve un iterator al final de la lista de niveles adicionales.
|
inlinestatic |
|
inlinestatic |
|
inline |
Devuelve un iterator al comienzo de la lista de niveles adicionales.
|
inlineprotected |
Devuelve un iterator al comienzo de la lista de niveles adicionales.
|
inline |
Devuelve un iterator al final de la lista de niveles adicionales.
|
inlineprotected |
Devuelve un iterator al final de la lista de niveles adicionales.
|
inlinestatic |
|
inlinestaticprotected |
|
protectednoexcept |
Amplía la lista de parámetros con una nueva pareja (Nombre, Valor).
name | Nombre del parámetro a crear. |
value | Valor asociado al parámetro. |
|
inlinestatic |
|
inlinestaticprotected |
|
inline |
|
inline |
|
protected |
|
protected |