daasiot_python
daaswrapper.h
Go to the documentation of this file.
1// daasiot/include/daas_wrapper.h
2#ifndef DAAS_WRAPPER_H
3#define DAAS_WRAPPER_H
4#include "daas.hpp"
5#include "daas_types.hpp"
6#include <string>
7#include <unordered_map>
8#include <vector>
20namespace daas {
21namespace api {
22
28
30 std::string uri;
31};
32
34 std::string name;
35 std::string type;
36 std::string status;
37};
38
47private:
48 DaasAPI *daasInstance;
49 IDaasApiEvent *eventHandler;
50 //Wrapper private
51 char infoBuffer[256];
52 std::unordered_map<std::string,std::string> configCache;
56 std::vector<DriverConfig> driversCache;
57
58public:
64 DaasWrapper(const char *config, IDaasApiEvent *eventHandler);
66
67 std::vector<std::string> getActiveInterfaces();
68
69 std::vector<InterfaceInfo> listSystemInterfaces();
77
84
99 const char *getVersion();
100
101 const char *listAvailableDrivers(); // Returns drivers list: 2.INET4;3.UART
102
103 nodestate_t getStatus(); // returns local node's instance status
104
105 const nodestate_t& status(din_t din);
106
107 const nodestate_t& fetch(din_t din, uint16_t opts);
108
115 bool storeConfiguration(IDepot* storage_interface);
116
122 bool loadConfiguration(IDepot* storage_interface);
123
130 daas_error_t enableDriver(link_t link, const char *driver);
131
138
146 daas_error_t map(din_t din, link_t link, const char *uri);
147
156 daas_error_t map(din_t din, link_t link, const char *uri, const char *securityKey);
157
158
165
172
179 daas_error_t availablesPull(din_t din, uint32_t &count);
180
187 daas_error_t pull(din_t din, DDO **inboundDDO);
188
195 daas_error_t push(din_t din, DDO *outboundDDO);
196
203
204
209 void setEventHandler(IDaasApiEvent* event);
210 //Wrapper method
211 const char *getInfos();
212 daas_error_t setupNode(din_t sid, din_t din, link_t link, const char* uri);
218 daas_error_t setupNode (const char* setupFilePath); //JSON
219
220};
221
222} // namespace api
223} // namespace daas
224
225#endif // DAAS_WRAPPER_H
void setEventHandler(IDaasApiEvent *event)
Imposta un nuovo handler eventi.
std::vector< std::string > getActiveInterfaces()
daas_error_t pull(din_t din, DDO **inboundDDO)
Riceve un pacchetto DDO dal nodo remoto.
daas_error_t doPerform(performs_mode_t mode)
Attiva l'esecuzione interna del nodo.
DaasWrapper(const char *config, IDaasApiEvent *eventHandler)
Costruttore.
daas_error_t enableDriver(link_t link, const char *driver)
Abilita un driver su uno specifico link.
const nodestate_t & fetch(din_t din, uint16_t opts)
daas_error_t doInit(din_t sid, din_t din)
Inizializza il nodo DaaS con SID e DIN.
daas_error_t setupNode(din_t sid, din_t din, link_t link, const char *uri)
daas_error_t map(din_t din)
Mappa un nodo con DIN noto nella rete (formato base)
daas_error_t remove(din_t din)
Rimuove un nodo precedentemente mappato.
daas_error_t doEnd()
Termina le attivitą del nodo.
bool loadConfiguration(IDepot *storage_interface)
Carica la configurazione usando un'interfaccia IDepot.
const nodestate_t & status(din_t din)
daas_error_t doReset()
Resetta lo stato del nodo.
bool storeConfiguration(IDepot *storage_interface)
Salva la configurazione corrente usando un'interfaccia IDepot.
const char * getVersion()
Restituisce la versione della libreria libdaas.a.
std::vector< InterfaceInfo > listSystemInterfaces()
daas_error_t availablesPull(din_t din, uint32_t &count)
Restituisce il numero di pacchetti disponibili da ricevere.
const char * listAvailableDrivers()
const char * getInfos()
daas_error_t push(din_t din, DDO *outboundDDO)
Invia un pacchetto DDO al nodo remoto.
daas_error_t locate(din_t din)
Localizza un nodo in rete.
daas_error_t frisbee(din_t din)
Esegue un invio rapido (fire-and-forget)
link_t
daas_error_t
uint32_t din_t
Vector< din_t > dinlist_t
performs_mode_t
Rappresenta la configurazione di un driver DaaS.
Definition daaswrapper.h:27