// 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 "application-settings-new/models/FactoryData.hpp" #include "BasePresenter.hpp" class TechnicalWindowContract { public: class View { public: virtual ~View() noexcept = default; }; class Presenter : public app::BasePresenter { public: virtual ~Presenter() noexcept override = default; virtual auto getModel() -> std::string = 0; virtual auto getCase() -> std::string = 0; virtual auto getSerial() -> std::string = 0; virtual auto getBatteryRev() -> std::string = 0; virtual auto getPcb(std::string type) -> std::string = 0; }; }; class TechnicalWindowPresenter : public TechnicalWindowContract::Presenter { public: static constexpr auto PCB_LM = "lm"; static constexpr auto PCB_AM = "am"; static constexpr auto PCB_MB = "mb"; static constexpr auto PCB_UM = "um"; explicit TechnicalWindowPresenter(std::unique_ptr &&factoryData); auto getModel() -> std::string override; auto getCase() -> std::string override; auto getSerial() -> std::string override; auto getBatteryRev() -> std::string override; auto getPcb(std::string type) -> std::string override; private: std::unique_ptr factoryData; };