Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Committer:
patrick_duc
Date:
Sun Sep 02 22:24:14 2018 +0000
Revision:
20:b0281e8a375a
Parent:
19:4b147d8f9164
Child:
21:8524d815c587
Gestion de la liste des composants candidats pour ?chantillonnage et des valeurs lues sur les capteurs.

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