Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Committer:
lo
Date:
Thu Oct 04 07:24:28 2018 +0000
Revision:
32:3bef9b81f639
Parent:
30:20f58f30113d
Child:
37:b565750d9978
updated Components constructor and Readvalue method, enabled back contructor in Service and Component classes

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 } ;
lo 32:3bef9b81f639 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 }
lo 32:3bef9b81f639 34
patrick_duc 19:4b147d8f9164 35 std::vector<Service*>& getServices() {
patrick_duc 20:b0281e8a375a 36 return this->services;
patrick_duc 13:5414193da1de 37 }
lo 30:20f58f30113d 38
lo 30:20f58f30113d 39 void setServices(std::vector<Service*>& serv) {
lo 30:20f58f30113d 40 this->services = serv;
lo 30:20f58f30113d 41 }
lo 30:20f58f30113d 42
patrick_duc 13:5414193da1de 43 COMPONENT_ID getId() {
patrick_duc 13:5414193da1de 44 return this->id;
patrick_duc 13:5414193da1de 45 }
patrick_duc 13:5414193da1de 46
patrick_duc 20:b0281e8a375a 47 std::string toString() {
patrick_duc 20:b0281e8a375a 48 std::ostringstream stringStream;
patrick_duc 20:b0281e8a375a 49 stringStream << "Component id : " << this->id << std::endl;
patrick_duc 20:b0281e8a375a 50
patrick_duc 20:b0281e8a375a 51 for(std::vector<Service*>::iterator it = services.begin(); it != services.end(); it++) {
patrick_duc 20:b0281e8a375a 52 Service * service = *it;
patrick_duc 20:b0281e8a375a 53 stringStream << service->toString() << std::endl;
patrick_duc 20:b0281e8a375a 54 }
patrick_duc 20:b0281e8a375a 55
patrick_duc 20:b0281e8a375a 56 return stringStream.str();
patrick_duc 20:b0281e8a375a 57 }
patrick_duc 13:5414193da1de 58
patrick_duc 13:5414193da1de 59
patrick_duc 13:5414193da1de 60 private:
patrick_duc 13:5414193da1de 61 COMPONENT_ID id;
patrick_duc 20:b0281e8a375a 62 std::vector<Service*> services;
patrick_duc 13:5414193da1de 63 };
patrick_duc 13:5414193da1de 64
patrick_duc 13:5414193da1de 65 #endif // __COMPONENT_HPP__