// SPDX-FileCopyrightText: 2024 Yury Gubich // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include #include #include #include #include #include #include #include #include "shared/definitions.h" #include "component/core.h" #include "connection/connection.h" #include "module/module.h" class Jay { public: Jay(const std::string& configPath); ~Jay(); bool isConfigValid() const; void run(); private: void initialize(); void createModules(); private: std::shared_ptr core; std::shared_ptr connection; std::vector> modules; };