libquentier
0.8.0
The library for rich desktop clients of Evernote service
Loading...
Searching...
No Matches
headers
quentier
enml
IDecryptedTextCache.h
1
/*
2
* Copyright 2016-2023 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 <QString>
24
25
#include <cstddef>
26
#include <optional>
27
#include <utility>
28
29
class
QDebug;
30
class
QTextStream;
31
32
namespace
quentier::enml {
33
34
class
QUENTIER_EXPORT
IDecryptedTextCache
35
{
36
public
:
37
virtual
~IDecryptedTextCache
();
38
39
enum class
RememberForSession
40
{
41
Yes,
42
No
43
};
44
45
friend
QUENTIER_EXPORT
QDebug
&
operator<<
(
46
QDebug
&
dbg
, RememberForSession
rememberForSession
);
47
48
friend
QUENTIER_EXPORT
QTextStream
&
operator<<
(
49
QTextStream
&
strm
, RememberForSession
rememberForSession
);
50
51
virtual
void
addDecryptexTextInfo(
52
const
QString
& encryptedText,
const
QString
& decryptedText,
53
const
QString
&
passphrase
,
const
QString
&
cipher
,
54
std::size_t
keyLength
, RememberForSession
rememberForSession
) = 0;
55
56
[[
nodiscard
]]
virtual
std::optional<std::pair<QString, RememberForSession>>
57
findDecryptedTextInfo(
const
QString
& encryptedText)
const
= 0;
58
59
[[
nodiscard
]]
virtual
std::optional<QString> updateDecryptedTextInfo(
60
const
QString
&
originalEncryptedText
,
61
const
QString
&
newDecryptedText
) = 0;
62
63
virtual
void
removeDecryptedTextInfo(
const
QString
& encryptedText) = 0;
64
virtual
void
clearNonRememberedForSessionEntries() = 0;
65
};
66
67
}
// namespace quentier::enml
quentier::Result
The Result template class represents the bare bones result monad implementation which either contains...
Definition
Result.h:38
quentier::enml::IDecryptedTextCache
Definition
IDecryptedTextCache.h:35
Generated on Sun Jan 26 2025 16:05:44 for libquentier by
1.9.8