MassBuilderSaveTool/src/UpdateChecker/UpdateChecker.h

50 lines
1.4 KiB
C++

// MassBuilderSaveTool
// Copyright (C) 2021-2023 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
#pragma once
#include "../Version/Version.h"
class UpdateChecker {
public:
explicit UpdateChecker();
~UpdateChecker();
enum Result: std::int32_t {
Success,
HttpError,
CurlInitFailed,
CurlError,
CurlTimeout
};
auto check() -> Result;
auto error() const -> Containers::StringView;
bool updateAvailable() const;
auto version() const -> const Version&;
auto downloadLink() const -> Containers::StringView;
private:
Containers::String _error;
Version _foundVersion{};
Containers::String _downloadLink;
};