libquentier 0.5.0
The library for rich desktop clients of Evernote service
Loading...
Searching...
No Matches
DecryptedTextManager.h
1/*
2 * Copyright 2016-2020 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#ifndef LIB_QUENTIER_ENML_DECRYPTED_TEXT_MANAGER_H
20#define LIB_QUENTIER_ENML_DECRYPTED_TEXT_MANAGER_H
21
22#include <quentier/utility/Linkage.h>
23
24#include <QtGlobal>
25
26namespace quentier {
27
28QT_FORWARD_DECLARE_CLASS(DecryptedTextManagerPrivate)
29
30class QUENTIER_EXPORT DecryptedTextManager
31{
32public:
34 virtual ~DecryptedTextManager();
35
36 void addEntry(
37 const QString & hash, const QString & decryptedText,
38 const bool rememberForSession, const QString & passphrase,
39 const QString & cipher, const size_t keyLength);
40
41 void removeEntry(const QString & hash);
42
43 void clearNonRememberedForSessionEntries();
44
45 bool findDecryptedTextByEncryptedText(
46 const QString & encryptedText, QString & decryptedText,
47 bool & rememberForSession) const;
48
49 bool modifyDecryptedText(
50 const QString & originalEncryptedText, const QString & newDecryptedText,
51 QString & newEncryptedText);
52
53private:
54 Q_DISABLE_COPY(DecryptedTextManager)
55
56 DecryptedTextManagerPrivate * const d_ptr;
57 Q_DECLARE_PRIVATE(DecryptedTextManager)
58};
59
60} // namespace quentier
61
62#endif // LIB_QUENTIER_ENML_DECRYPTED_TEXT_MANAGER_H
Definition DecryptedTextManager.h:31