From 2af63b9d7ce1e4b52f1bdd20c6189b2bc7ed9495 Mon Sep 17 00:00:00 2001 From: Lorow Date: Sun, 17 Jul 2022 15:31:40 +0200 Subject: [PATCH] Move OTA and Observer to libs --- ESP/{include => lib/OTA}/OTA.h | 0 ESP/lib/Observer/Observer.h | 47 ++++++++++++++++++++++++++++++++++ ESP/platformio.ini | 2 +- 3 files changed, 48 insertions(+), 1 deletion(-) rename ESP/{include => lib/OTA}/OTA.h (100%) create mode 100644 ESP/lib/Observer/Observer.h diff --git a/ESP/include/OTA.h b/ESP/lib/OTA/OTA.h similarity index 100% rename from ESP/include/OTA.h rename to ESP/lib/OTA/OTA.h diff --git a/ESP/lib/Observer/Observer.h b/ESP/lib/Observer/Observer.h new file mode 100644 index 0000000..07fddd1 --- /dev/null +++ b/ESP/lib/Observer/Observer.h @@ -0,0 +1,47 @@ +#pragma once +#include + +namespace ObserverEvent +{ + enum Event + { + configLoaded = 1, + deviceConfigUpdated = 2, + cameraConfigUpdated = 3, + networksConfigUpdated = 4, + }; +} + +class IObserver +{ +public: + void update(ObserverEvent::Event event){}; +}; + +class ISubject +{ +private: + std::set observers; + +public: + void attach(IObserver *observer) + { + this->observers.insert(observer); + } + + void detach(IObserver *observer) + { + this->observers.erase(observer); + } + + void notify(ObserverEvent::Event event) + { + std::set::iterator iterator = observers.begin(); + + while (iterator != observers.end()) + { + (*iterator)->update(event); + ++iterator; + } + } +}; \ No newline at end of file diff --git a/ESP/platformio.ini b/ESP/platformio.ini index 81382a9..769b074 100644 --- a/ESP/platformio.ini +++ b/ESP/platformio.ini @@ -27,7 +27,7 @@ build_flags = ; -include "file_name.hpp" ; this has been added for future movement to a proper library structure build_unflags = -Os board_build.partitions = min_spiffs.csv -lib_ldf_mode = deep +lib_ldf_mode = deep+ upload_speed = 921600 release_version = 0.0.1 ; increase this value every release build lib_deps =