biblioteca que serve como midleware para as diversas placas que podem implementar esse padrão !
Diff: Control.h
- Revision:
- 3:c87e6b48834e
- Parent:
- 2:f8bb56af3c6e
- Child:
- 4:17005b72a3d8
diff -r f8bb56af3c6e -r c87e6b48834e Control.h --- a/Control.h Thu Jun 20 12:27:52 2019 -0300 +++ b/Control.h Sat Jun 22 11:59:31 2019 -0300 @@ -1,26 +1,44 @@ #ifndef SGAM_MDW_CONTROL_H #define SGAM_MDW_CONTROL_H + +#include <string> +#include <map> + #include "utils/const_types.h" #include "peripheral/Sensor.h" #include "protocol/Protocol.h" #include "communication/Communication.h" +using namespace std; + class Control { public: virtual Control* getControler() = 0; virtual void initialize() = 0; + virtual void finalize() = 0; - virtual Sensor<void*>* getSensor(char* name) = 0; - virtual Protocol* getProtocol(char* name) = 0; - virtual Communication* getCommunication(char* name) = 0; + // Incluir ... + void includeSensor(Sensor<void*>* nSensor); + void includeProtocol(Protocol* nSensor); + void includeCommunication(Communication* nSensor); - virtual char* getAvailableSensors() = 0; - virtual char* getAvailableCommunications() = 0; - virtual char* getAvailableProtocols() = 0; + // metodos de GET + Sensor<void*>* getSensor(const char* name); + Protocol* getProtocol(const char* name); + Communication* getCommunication(const char* name); + + // metodo para listar valores !! + // list<const& char*> getAvailableSensors(); + // list<std::string> getAvailableCommunications(); + // list<std::string> getAvailableProtocols(); protected: Control(){} virtual ~Control(){} + + map<std::string, Sensor<void*>*> mp_sensors; + map<std::string, Protocol*> mp_protocols; + map<std::string, Communication*> mp_communications; }; #endif