Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Committer:
patrick_duc
Date:
Tue Sep 04 13:34:36 2018 +0000
Revision:
21:8524d815c587
Parent:
20:b0281e8a375a
Child:
30:20f58f30113d
Ajout de la fonctionnalit? de d?termination si la valeur acquise sur un capteur doit ?tre envoy?e ? la gateway.; Ajout d'une classe Value qui encapsule les valeurs g?n?riques (pr?c?demment GENERIC_VALUE).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
patrick_duc 13:5414193da1de 1 #ifndef __COMPONENT_HPP__
patrick_duc 13:5414193da1de 2 #define __COMPONENT_HPP__
patrick_duc 13:5414193da1de 3
patrick_duc 20:b0281e8a375a 4 #include "Context.h"
patrick_duc 20:b0281e8a375a 5
patrick_duc 21:8524d815c587 6
patrick_duc 13:5414193da1de 7 #include <vector>
patrick_duc 20:b0281e8a375a 8 #include <sstream>
patrick_duc 20:b0281e8a375a 9
patrick_duc 19:4b147d8f9164 10 #include "Service.hpp"
patrick_duc 13:5414193da1de 11
patrick_duc 20:b0281e8a375a 12
patrick_duc 20:b0281e8a375a 13 namespace misnet {
patrick_duc 20:b0281e8a375a 14 class Component;
patrick_duc 20:b0281e8a375a 15 }
patrick_duc 20:b0281e8a375a 16
patrick_duc 20:b0281e8a375a 17
patrick_duc 20:b0281e8a375a 18 class misnet::Component {
patrick_duc 13:5414193da1de 19
patrick_duc 13:5414193da1de 20 public:
patrick_duc 13:5414193da1de 21 enum COMPONENT_ID {
patrick_duc 13:5414193da1de 22 HTS221 = 1,
patrick_duc 13:5414193da1de 23 LPS22HB = 2,
patrick_duc 13:5414193da1de 24 LSM303A = 3,
patrick_duc 13:5414193da1de 25 LSM6DSL = 4,
patrick_duc 13:5414193da1de 26 BME280 = 5,
patrick_duc 13:5414193da1de 27 DS18B20 = 6
patrick_duc 13:5414193da1de 28 } ;
patrick_duc 13:5414193da1de 29
patrick_duc 20:b0281e8a375a 30 Component(COMPONENT_ID id, std::vector<Service*>& services) {
patrick_duc 13:5414193da1de 31 this->id = id;
patrick_duc 20:b0281e8a375a 32 this->services = services;
patrick_duc 13:5414193da1de 33 }
patrick_duc 13:5414193da1de 34
patrick_duc 19:4b147d8f9164 35 std::vector<Service*>& getServices() {
patrick_duc 20:b0281e8a375a 36 return this->services;
patrick_duc 13:5414193da1de 37 }
patrick_duc 13:5414193da1de 38
patrick_duc 13:5414193da1de 39 COMPONENT_ID getId() {
patrick_duc 13:5414193da1de 40 return this->id;
patrick_duc 13:5414193da1de 41 }
patrick_duc 13:5414193da1de 42
patrick_duc 20:b0281e8a375a 43 std::string toString() {
patrick_duc 20:b0281e8a375a 44 std::ostringstream stringStream;
patrick_duc 20:b0281e8a375a 45 stringStream << "Component id : " << this->id << std::endl;
patrick_duc 20:b0281e8a375a 46
patrick_duc 20:b0281e8a375a 47 for(std::vector<Service*>::iterator it = services.begin(); it != services.end(); it++) {
patrick_duc 20:b0281e8a375a 48 Service * service = *it;
patrick_duc 20:b0281e8a375a 49 stringStream << service->toString() << std::endl;
patrick_duc 20:b0281e8a375a 50 }
patrick_duc 20:b0281e8a375a 51
patrick_duc 20:b0281e8a375a 52 return stringStream.str();
patrick_duc 20:b0281e8a375a 53 }
patrick_duc 13:5414193da1de 54
patrick_duc 13:5414193da1de 55
patrick_duc 13:5414193da1de 56 private:
patrick_duc 13:5414193da1de 57 COMPONENT_ID id;
patrick_duc 20:b0281e8a375a 58 std::vector<Service*> services;
patrick_duc 13:5414193da1de 59 };
patrick_duc 13:5414193da1de 60
patrick_duc 13:5414193da1de 61 #endif // __COMPONENT_HPP__