daasiot_python
daas::api::DaasWrapper Class Reference

Classe wrapper che incapsula la logica di utilizzo della libreria libdaas.a. More...

#include <daaswrapper.h>

Public Member Functions

 DaasWrapper (const char *config, IDaasApiEvent *eventHandler)
 Costruttore.
 ~DaasWrapper ()
std::vector< std::string > getActiveInterfaces ()
std::vector< InterfaceInfolistSystemInterfaces ()
daas_error_t doInit (din_t sid, din_t din)
 Inizializza il nodo DaaS con SID e DIN.
daas_error_t doPerform (performs_mode_t mode)
 Attiva l'esecuzione interna del nodo.
daas_error_t doEnd ()
 Termina le attivitą del nodo.
daas_error_t doReset ()
 Resetta lo stato del nodo.
const char * getVersion ()
 Restituisce la versione della libreria libdaas.a.
const char * listAvailableDrivers ()
nodestate_t getStatus ()
const nodestate_tstatus (din_t din)
const nodestate_tfetch (din_t din, uint16_t opts)
dinlist_t listNodes ()
bool storeConfiguration (IDepot *storage_interface)
 Salva la configurazione corrente usando un'interfaccia IDepot.
bool loadConfiguration (IDepot *storage_interface)
 Carica la configurazione usando un'interfaccia IDepot.
daas_error_t enableDriver (link_t link, const char *driver)
 Abilita un driver su uno specifico link.
daas_error_t map (din_t din)
 Mappa un nodo con DIN noto nella rete (formato base)
daas_error_t map (din_t din, link_t link, const char *uri)
 Mappa un nodo specificando link e URI.
daas_error_t map (din_t din, link_t link, const char *uri, const char *securityKey)
 Mappa un nodo con chiave di sicurezza.
daas_error_t remove (din_t din)
 Rimuove un nodo precedentemente mappato.
daas_error_t locate (din_t din)
 Localizza un nodo in rete.
daas_error_t availablesPull (din_t din, uint32_t &count)
 Restituisce il numero di pacchetti disponibili da ricevere.
daas_error_t pull (din_t din, DDO **inboundDDO)
 Riceve un pacchetto DDO dal nodo remoto.
daas_error_t push (din_t din, DDO *outboundDDO)
 Invia un pacchetto DDO al nodo remoto.
daas_error_t frisbee (din_t din)
 Esegue un invio rapido (fire-and-forget)
void setEventHandler (IDaasApiEvent *event)
 Imposta un nuovo handler eventi.
const char * getInfos ()
daas_error_t setupNode (din_t sid, din_t din, link_t link, const char *uri)
daas_error_t setupNode (const char *setupFilePath)
 Carica e configura un nodo da file JSON.

Detailed Description

Classe wrapper che incapsula la logica di utilizzo della libreria libdaas.a.

Utilizza DaasAPI internamente per esporre metodi ad alto livello per l'inizializzazione, la configurazione dei driver e l'invio/ricezione di messaggi.

Definition at line 46 of file daaswrapper.h.

Constructor & Destructor Documentation

◆ DaasWrapper()

DaasWrapper::DaasWrapper ( const char * config,
IDaasApiEvent * eventHandler )

Costruttore.

Parameters
configPercorso file di configurazione (opzionale)
eventHandlerHandler personalizzato per eventi DaaS

Definition at line 29 of file daaswrapper.cpp.

◆ ~DaasWrapper()

DaasWrapper::~DaasWrapper ( )

Definition at line 37 of file daaswrapper.cpp.

Member Function Documentation

◆ availablesPull()

daas_error_t DaasWrapper::availablesPull ( din_t din,
uint32_t & count )

Restituisce il numero di pacchetti disponibili da ricevere.

Parameters
dinDIN nodo da interrogare
countNumero di pacchetti in attesa
Returns
Codice errore

Definition at line 281 of file daaswrapper.cpp.

◆ doEnd()

daas_error_t DaasWrapper::doEnd ( )

Termina le attivitą del nodo.

Returns
Codice errore daas_error_t

Definition at line 163 of file daaswrapper.cpp.

◆ doInit()

daas_error_t DaasWrapper::doInit ( din_t sid,
din_t din )

Inizializza il nodo DaaS con SID e DIN.

Parameters
sidSystem Identifier (es. identificativo rete)
dinDaaS IDentifier (identificativo del nodo)
Returns
Codice errore daas_error_t

Definition at line 155 of file daaswrapper.cpp.

◆ doPerform()

daas_error_t DaasWrapper::doPerform ( performs_mode_t mode)

Attiva l'esecuzione interna del nodo.

Parameters
modeModalitą (es. PERFORM_CORE_THREAD)
Returns
Codice errore daas_error_t

Definition at line 159 of file daaswrapper.cpp.

◆ doReset()

daas_error_t DaasWrapper::doReset ( )

Resetta lo stato del nodo.

Returns
Codice errore daas_error_t

Definition at line 167 of file daaswrapper.cpp.

◆ enableDriver()

daas_error_t DaasWrapper::enableDriver ( link_t link,
const char * driver )

Abilita un driver su uno specifico link.

Parameters
linkTipo di interfaccia (es. LINK_INET4)
driverURI da usare (es. "127.0.0.1:3000")
Returns
Codice errore daas_error_t

Definition at line 185 of file daaswrapper.cpp.

◆ fetch()

const nodestate_t & DaasWrapper::fetch ( din_t din,
uint16_t opts )

Definition at line 139 of file daaswrapper.cpp.

◆ frisbee()

daas_error_t DaasWrapper::frisbee ( din_t din)

Esegue un invio rapido (fire-and-forget)

Parameters
dinDIN destinatario
Returns
Codice errore

Definition at line 293 of file daaswrapper.cpp.

◆ getActiveInterfaces()

std::vector< std::string > DaasWrapper::getActiveInterfaces ( )

Definition at line 122 of file daaswrapper.cpp.

◆ getInfos()

const char * DaasWrapper::getInfos ( )

Definition at line 174 of file daaswrapper.cpp.

◆ getStatus()

nodestate_t DaasWrapper::getStatus ( )

Definition at line 131 of file daaswrapper.cpp.

◆ getVersion()

const char * DaasWrapper::getVersion ( )

Restituisce la versione della libreria libdaas.a.

Returns
Stringa con versione (es. "0.20.1")

Definition at line 171 of file daaswrapper.cpp.

◆ listAvailableDrivers()

const char * DaasWrapper::listAvailableDrivers ( )

Definition at line 127 of file daaswrapper.cpp.

◆ listNodes()

dinlist_t DaasWrapper::listNodes ( )

Definition at line 143 of file daaswrapper.cpp.

◆ listSystemInterfaces()

std::vector< InterfaceInfo > DaasWrapper::listSystemInterfaces ( )

Definition at line 45 of file daaswrapper.cpp.

◆ loadConfiguration()

bool DaasWrapper::loadConfiguration ( IDepot * storage_interface)

Carica la configurazione usando un'interfaccia IDepot.

Parameters
storage_interfacePuntatore a oggetto IDepot
Returns
true se il caricamento ha avuto successo

Definition at line 150 of file daaswrapper.cpp.

◆ locate()

daas_error_t DaasWrapper::locate ( din_t din)

Localizza un nodo in rete.

Parameters
dinDIN nodo remoto da cercare
Returns
Codice errore

Definition at line 277 of file daaswrapper.cpp.

◆ map() [1/3]

daas_error_t DaasWrapper::map ( din_t din)

Mappa un nodo con DIN noto nella rete (formato base)

Parameters
dinDIN nodo remoto
Returns
Codice errore

Definition at line 261 of file daaswrapper.cpp.

◆ map() [2/3]

daas_error_t DaasWrapper::map ( din_t din,
link_t link,
const char * uri )

Mappa un nodo specificando link e URI.

Parameters
dinDIN nodo remoto
linkTipo di interfaccia
uriInterfaccia/indirizzo remoto
Returns
Codice errore

Definition at line 265 of file daaswrapper.cpp.

◆ map() [3/3]

daas_error_t DaasWrapper::map ( din_t din,
link_t link,
const char * uri,
const char * securityKey )

Mappa un nodo con chiave di sicurezza.

Parameters
dinDIN remoto
linkTipo di interfaccia
uriIndirizzo remoto
securityKeyChiave di sicurezza (es. AES)
Returns
Codice errore

Definition at line 269 of file daaswrapper.cpp.

◆ pull()

daas_error_t DaasWrapper::pull ( din_t din,
DDO ** inboundDDO )

Riceve un pacchetto DDO dal nodo remoto.

Parameters
dinDIN mittente
inboundDDOPuntatore al DDO ricevuto
Returns
Codice errore

Definition at line 285 of file daaswrapper.cpp.

◆ push()

daas_error_t DaasWrapper::push ( din_t din,
DDO * outboundDDO )

Invia un pacchetto DDO al nodo remoto.

Parameters
dinDIN destinatario
outboundDDOPuntatore al DDO da inviare
Returns
Codice errore

Definition at line 289 of file daaswrapper.cpp.

◆ remove()

daas_error_t DaasWrapper::remove ( din_t din)

Rimuove un nodo precedentemente mappato.

Parameters
dinDIN nodo remoto da eliminare
Returns
Codice errore

Definition at line 273 of file daaswrapper.cpp.

◆ setEventHandler()

void DaasWrapper::setEventHandler ( IDaasApiEvent * event)

Imposta un nuovo handler eventi.

Parameters
eventNuovo handler da usare

Definition at line 297 of file daaswrapper.cpp.

◆ setupNode() [1/2]

daas_error_t DaasWrapper::setupNode ( const char * setupFilePath)

Carica e configura un nodo da file JSON.

Parameters
configFilePathPercorso al file JSON
Returns
Codice errore daas_error_t

Definition at line 222 of file daaswrapper.cpp.

◆ setupNode() [2/2]

daas_error_t DaasWrapper::setupNode ( din_t sid,
din_t din,
link_t link,
const char * uri )

Definition at line 189 of file daaswrapper.cpp.

◆ status()

const nodestate_t & DaasWrapper::status ( din_t din)

Definition at line 135 of file daaswrapper.cpp.

◆ storeConfiguration()

bool DaasWrapper::storeConfiguration ( IDepot * storage_interface)

Salva la configurazione corrente usando un'interfaccia IDepot.

Parameters
storage_interfacePuntatore a oggetto IDepot
Returns
true se il salvataggio ha avuto successo

Definition at line 146 of file daaswrapper.cpp.


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