libquentier
0.8.0
The library for rich desktop clients of Evernote service
Loading...
Searching...
No Matches
headers
quentier
local_storage
IPatch.h
1
/*
2
* Copyright 2021-2022 Dmitry Ivanov
3
*
4
* This file is part of libquentier
5
*
6
* libquentier is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License as published by
8
* the Free Software Foundation, version 3 of the License.
9
*
10
* libquentier is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with libquentier. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#pragma once
20
21
#include <quentier/utility/Linkage.h>
22
23
#include <QFuture>
24
25
namespace
quentier::local_storage {
26
33
class
QUENTIER_EXPORT
IPatch
34
{
35
public
:
36
virtual
~IPatch
()
noexcept
;
37
42
[[
nodiscard
]]
virtual
int
fromVersion
()
const
noexcept
= 0;
43
48
[[
nodiscard
]]
virtual
int
toVersion()
const
noexcept
= 0;
49
53
[[
nodiscard
]]
virtual
QString
patchShortDescription()
const
= 0;
54
58
[[
nodiscard
]]
virtual
QString
patchLongDescription()
const
= 0;
59
69
[[
nodiscard
]]
virtual
QFuture
<
void
> backupLocalStorage() = 0;
70
80
[[
nodiscard
]]
virtual
QFuture
<
void
> restoreLocalStorageFromBackup() = 0;
81
92
[[
nodiscard
]]
virtual
QFuture
<
void
> removeLocalStorageBackup() = 0;
93
101
[[
nodiscard
]]
virtual
QFuture
<
void
> apply() = 0;
102
};
103
104
}
// namespace quentier::local_storage
quentier::Result
Definition
Result.h:34
quentier::local_storage::IPatch
The IPatch interface represents patches of the local storage. Each such patch somehow changes the lay...
Definition
IPatch.h:34
quentier::local_storage::IPatch::fromVersion
virtual int fromVersion() const noexcept=0
Generated on Sun Jan 26 2025 00:00:00 for libquentier by
1.10.0