ANNA Suite  2020b
Multipurpose development suite for Telco applications
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
anna::comm::Device Class Reference

#include <Device.hpp>

Classes

struct  Status
 

Public Member Functions

in_addr_t getAddress () const
 
Status::_v getStatus () const
 
void setStatus (const Status::_v status)
 
bool operator== (const Device &right) const
 
bool operator== (const in_addr_t &right) const
 
bool operator== (const char *ip) const
 
bool operator== (const std::string &ip) const
 
bool operator!= (const Device &right) const
 
bool operator!= (const in_addr_t right) const
 
std::string asString () const
 
xml::NodeasXML (xml::Node *parent) const noexcept(false)
 
void asAttribute (xml::Node *node) const noexcept(false)
 

Static Public Member Functions

static const char * className ()
 
static std::string asString (const in_addr_t &address)
 
static in_addr_t asAddress (const std::string &ip)
 

Protected Member Functions

 Device (const char *ip)
 
 Device (const std::string &ip)
 
 Device (const in_addr_t &address)
 
 Device (const Device &other)
 

Friends

class Network
 

Detailed Description

Abstraccion de un dispositivo de Red. Un Host puede tener asociado un numero indeterminado de dispositivos de red.

El metodo Network::find(in_addr_t) creara un nuevo dispositivo de red.

Constructor & Destructor Documentation

◆ Device() [1/4]

anna::comm::Device::Device ( const char *  ip)
inlineprotected

Constructor.

Parameters
ipTexto con la direccin IP en formato A.B.C.D.
152 : a_address(inet_addr(ip)), a_status(Status::Up) {;}
Definition: Device.hpp:42

◆ Device() [2/4]

anna::comm::Device::Device ( const std::string &  ip)
inlineprotected

Constructor.

Parameters
ipTexto con la direccin IP en formato A.B.C.D.
158 : a_address(inet_addr(ip.c_str())), a_status(Status::Up) {;}
Definition: Device.hpp:42

◆ Device() [3/4]

anna::comm::Device::Device ( const in_addr_t &  address)
inlineprotected

Constructor.

Parameters
addressDireccin IP de esta instancia
164 : a_address(address), a_status(Status::Up) {;}
Definition: Device.hpp:42

◆ Device() [4/4]

anna::comm::Device::Device ( const Device other)
inlineprotected

Constructor copia.

Parameters
otherDispositivo
170 : a_address(other.a_address), a_status(Status::Up) {;}
Definition: Device.hpp:42

Member Function Documentation

◆ asAddress()

static in_addr_t anna::comm::Device::asAddress ( const std::string &  ip)
inlinestatic

Devuelve la dirección IP recibida como cadena en un tipo in_addr_t.

Returns
la dirección IP recibida como cadena en un tipo in_addr_t.
145 { return inet_addr(ip.c_str()); }

◆ asAttribute()

void anna::comm::Device::asAttribute ( xml::Node node) const
noexcept

Incorpora los paremetros de esta instancia como atributos del nodo XML recibido como parametro.

Parameters
nodeNodo del que dependen los atributos a crear.

◆ asString() [1/2]

std::string anna::comm::Device::asString ( ) const

Devuelve una cadena la informacion mas relevante de esta instancia.

Returns
una cadena la informacion mas relevante de esta instancia.

◆ asString() [2/2]

static std::string anna::comm::Device::asString ( const in_addr_t &  address)
static

Devuelve la direccion INET recibida como parametro en formato cadena.

Parameters
addressDireccion INET a convertir.
Returns
la direccion INET recibida como parametro en formato cadena.

◆ asXML()

xml::Node* anna::comm::Device::asXML ( xml::Node parent) const
noexcept

Devuelve un documento XML con la informacion mas relevante de esta instancia.

Parameters
parentNodo XML del que deben depender los datos a crear.
Returns
Un documento XML con la informacion mas relevante de esta instancia.

◆ className()

static const char* anna::comm::Device::className ( )
inlinestatic

Devuelve el nombre de esta clase. Se puede invocar desde

template <class T>::asString (const T*);
Returns
Devuelve el nombre de esta clase.
132 { return "anna::comm::Device"; }

◆ getAddress()

in_addr_t anna::comm::Device::getAddress ( ) const
inline

Devuelve la direccion asociada a este instancia.

Returns
La direccion asociada a este instancia.
48 { return a_address; }

◆ getStatus()

Status::_v anna::comm::Device::getStatus ( ) const
inline

Devuelve el estado asociado al dispositivo.

Returns
el estado asociado al dispositivo.
54 { return a_status; }

◆ operator!=() [1/2]

bool anna::comm::Device::operator!= ( const Device right) const
inline

Operador distinto.

Returns
true si la direccin recibida como par�etro coincide con �ta o false en otro caso.
99 { return a_address != right.a_address; }

◆ operator!=() [2/2]

bool anna::comm::Device::operator!= ( const in_addr_t  right) const
inline

Operador distinto.

Returns
true si la direccin recibida como par�etro no coincide con �ta o false en otro caso.
106 { return a_address != right; }

◆ operator==() [1/4]

bool anna::comm::Device::operator== ( const Device right) const
inline

Operador de comparacion.

Parameters
rightDireccion con la comparar.
Returns
true si la direccion recibida como parametro coincide con esta. false en otro caso.
68 { return a_address == right.a_address; }

◆ operator==() [2/4]

bool anna::comm::Device::operator== ( const in_addr_t &  right) const
inline

Operador de comparacion.

Parameters
rightDireccion con la comparar.
Returns
true si la direccion recibida como parametro coincide con esta. false en otro caso.
76 { return a_address == right; }

◆ operator==() [3/4]

bool anna::comm::Device::operator== ( const char *  ip) const
inline

Operador de comparacion.

Parameters
ipDireccion con la comparar. En formato A.B.C.D.
Returns
true si la direccion recibida como parametro coincide con esta. false en otro caso.
84 { return a_address == inet_addr(ip); }

◆ operator==() [4/4]

bool anna::comm::Device::operator== ( const std::string &  ip) const
inline

Operador de comparacion.

Parameters
ipDireccion con la comparar. En formato A.B.C.D.
Returns
true si la direccion recibida como parametro coincide con esta. false en otro caso.
92 { return a_address == inet_addr(ip.c_str()); }

◆ setStatus()

void anna::comm::Device::setStatus ( const Status::_v  status)
inline

Establece el estado del dispositivo.

Parameters
statusNuevo estado del dispositivo.
60 { a_status = status; }

Friends And Related Function Documentation

◆ Network

friend class Network
friend

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