/* * Copyright (C) 2012-2018 Team Kodi * This file is part of Kodi - https://kodi.tv * * SPDX-License-Identifier: GPL-2.0-or-later * See LICENSES/README.md for more information. */ #pragma once #include "settings/lib/ISettingCallback.h" #include "utils/Observer.h" #include class CSetting; class CSettings; namespace KODI { namespace GAME { class CGameSettings : public ISettingCallback, public Observable { public: CGameSettings(); ~CGameSettings() override; // General settings bool GamesEnabled(); bool ShowOSDHelp(); void SetShowOSDHelp(bool bShow); void ToggleGames(); bool AutosaveEnabled(); bool RewindEnabled(); unsigned int MaxRewindTimeSec(); std::string GetRAUsername() const; std::string GetRAToken() const; // Inherited from ISettingCallback void OnSettingChanged(const std::shared_ptr& setting) override; private: std::string LoginToRA(const std::string& username, const std::string& password, std::string token) const; bool IsAccountVerified(const std::string& username, const std::string& token) const; // Construction parameters std::shared_ptr m_settings; }; } // namespace GAME } // namespace KODI