tdesktop/Telegram/SourceFiles/core/changelogs.h

43 lines
1.0 KiB
C
Raw Normal View History

/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#pragma once
#include "base/weak_ptr.h"
2019-07-24 11:45:24 +00:00
namespace Main {
class Session;
} // namespace Main
namespace Core {
[[nodiscard]] QString FormatVersionDisplay(int version);
[[nodiscard]] QString FormatVersionPrecise(int version);
class Changelogs : public base::has_weak_ptr, private base::Subscriber {
public:
2019-07-24 11:45:24 +00:00
Changelogs(not_null<Main::Session*> session, int oldVersion);
static std::unique_ptr<Changelogs> Create(
2019-07-24 11:45:24 +00:00
not_null<Main::Session*> session);
private:
void requestCloudLogs();
void addLocalLogs();
void addLocalLog(const QString &text);
void addBetaLogs();
void addBetaLog(int changeVersion, const char *changes);
2019-07-24 11:45:24 +00:00
const not_null<Main::Session*> _session;
const int _oldVersion = 0;
rpl::lifetime _chatsSubscription;
bool _addedSomeLocal = false;
};
} // namespace Core