// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include #include "functional" #include "string" #include "BasePresenter.hpp" using Function = std::function; namespace app::onBoarding { class EULALicenseWindowContract { public: class View { public: virtual ~View() noexcept = default; }; class Presenter : public BasePresenter { public: ~Presenter() noexcept override = default; virtual void acceptEULA() = 0; virtual std::string getEULA() = 0; }; }; class EULALicenseWindowPresenter : public EULALicenseWindowContract::Presenter { public: explicit EULALicenseWindowPresenter(Function acceptEULAApplication, std::unique_ptr &&eulaRepository); void acceptEULA() override; std::string getEULA() override; private: std::function acceptEULAApp; std::unique_ptr eulaRepository; }; } // namespace app::onBoarding