Přeskočit obsah

File Manager.hpp

File List > e-paper-board > src > Manager.hpp

Go to the documentation of this file.

#pragma once

#include "ArduinoMetronome.hpp"
#include "Button2.h"
#include "DisplayManager.hpp"
#include "HttpFetcher.hpp"
#include "InputManager.hpp"
#include "apps/AppConfig.hpp"
#include "apps/Application.hpp"
#include <WiFi.h>
#include <memory>
#include <vector>

class Manager {
private:
    InputManager inputManager;

    DisplayManager displayManager;

    ArduinoMetronome metronomeTimer;

    ArduinoMetronome metronomeApp;

    std::vector<std::unique_ptr<Application>> applications;

    int appIndex = 0;

    AppConfig appConfig;

    int update();

    void connectToWiFi(const char* ssid, const char* passphrase);

public:
    Manager(bool connectToWifi = true);

    void run();
};