Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
user_data_backup.h
Go to the documentation of this file.
1
15
16#ifndef USER_DATA_BACKUP_H
17#define USER_DATA_BACKUP_H
18
19#include <QString>
20#include <QStringList>
21
22namespace UserDataBackup
23{
24
27constexpr qint64 MAX_AUTO_BACKUP_BYTES = 200LL * 1024 * 1024;
28
35bool copyDirectoryRecursively(const QString &sourceDir, const QString &destDir);
36
44bool createBackupSessionDir(const QString &backupRoot, QString *sessionDirOut);
45
60bool backupAtRiskPaths(const QStringList &sourcePaths,
61 const QString &backupRoot,
62 QStringList *backupLocationsOut,
63 QString *sessionDirOut = nullptr);
64
71qint64 estimateBackupSize(const QStringList &sourcePaths, qint64 capBytes = MAX_AUTO_BACKUP_BYTES);
72
76QString defaultBackupRoot();
77
81QStringList listBackupSessions(const QString &backupRoot);
82
89QString findRecentUsableBackupSession(const QString &backupRoot, const QStringList &sourcePaths, int maxAgeHours = 24);
90
97QString
98findRecentCoveringBackupSession(const QString &backupRoot, const QStringList &sourcePaths, int maxAgeHours = 24);
99
105bool isBackupSessionComplete(const QString &sessionDir);
106
112void pruneOldBackupSessions(const QString &backupRoot, int keepCount = 5);
113
119QStringList listSessionBackupLocations(const QString &sessionDir);
120
128bool sessionCoversSources(const QString &sessionDir, const QStringList &sourcePaths);
129
130} // namespace UserDataBackup
131
132#endif // USER_DATA_BACKUP_H
Definition user_data_backup.cpp:11
QString defaultBackupRoot()
Default backup root guaranteed to live outside the install directory.
Definition user_data_backup.cpp:247
bool isBackupSessionComplete(const QString &sessionDir)
Reports whether sessionDir holds a complete backup.
Definition user_data_backup.cpp:328
bool sessionCoversSources(const QString &sessionDir, const QStringList &sourcePaths)
Reports whether sessionDir was recorded as covering all of sourcePaths.
Definition user_data_backup.cpp:375
QStringList listBackupSessions(const QString &backupRoot)
Lists existing backup session directories under backupRoot, newest first.
Definition user_data_backup.cpp:260
void pruneOldBackupSessions(const QString &backupRoot, int keepCount)
Deletes oldest sessions keeping only the newest keepCount ones. Empty sessions are junk from failed a...
Definition user_data_backup.cpp:337
bool createBackupSessionDir(const QString &backupRoot, QString *sessionDirOut)
Creates a fresh timestamped session directory under backupRoot.
Definition user_data_backup.cpp:115
constexpr qint64 MAX_AUTO_BACKUP_BYTES
Above this total, the client skips the automatic startup backup and asks for a manual copy....
Definition user_data_backup.h:27
qint64 estimateBackupSize(const QStringList &sourcePaths, qint64 capBytes)
Estimates the total bytes that backing up sourcePaths would copy.
Definition user_data_backup.cpp:219
QString findRecentUsableBackupSession(const QString &backupRoot, const QStringList &sourcePaths, int maxAgeHours)
Returns the newest session that is non-empty, complete and covering sourcePaths, or empty.
Definition user_data_backup.cpp:299
bool copyDirectoryRecursively(const QString &sourceDir, const QString &destDir)
Recursively copies sourceDir into destDir, creating it as needed.
Definition user_data_backup.cpp:66
QString findRecentCoveringBackupSession(const QString &backupRoot, const QStringList &sourcePaths, int maxAgeHours)
Returns the newest non-empty session covering sourcePaths, regardless of completeness.
Definition user_data_backup.cpp:276
QStringList listSessionBackupLocations(const QString &sessionDir)
Lists the backup targets inside an existing session directory.
Definition user_data_backup.cpp:357
bool backupAtRiskPaths(const QStringList &sourcePaths, const QString &backupRoot, QStringList *backupLocationsOut, QString *sessionDirOut)
Copies several at-risk paths into a single timestamped session directory.
Definition user_data_backup.cpp:135