libquentier  0.5.0
The library for rich desktop clients of Evernote service
ILocalStorageCacheExpiryChecker.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_LOCAL_STORAGE_I_LOCAL_STORAGE_CACHE_EXPIRY_CHECKER_H
20 #define LIB_QUENTIER_LOCAL_STORAGE_I_LOCAL_STORAGE_CACHE_EXPIRY_CHECKER_H
21 
22 #include <quentier/utility/Printable.h>
23 
24 namespace quentier {
25 
26 QT_FORWARD_DECLARE_CLASS(LocalStorageCacheManager)
27 
28 
34 class QUENTIER_EXPORT ILocalStorageCacheExpiryChecker: public Printable
35 {
36 public:
38 
43  virtual ILocalStorageCacheExpiryChecker * clone() const = 0;
44 
49  virtual bool checkNotes() const = 0;
50 
56  virtual bool checkResources() const = 0;
57 
63  virtual bool checkNotebooks() const = 0;
64 
70  virtual bool checkTags() const = 0;
71 
77  virtual bool checkLinkedNotebooks() const = 0;
78 
84  virtual bool checkSavedSearches() const = 0;
85 
91  virtual QTextStream & print(QTextStream & strm) const = 0;
92 
93 protected:
95  const LocalStorageCacheManager & cacheManager);
96 
97  const LocalStorageCacheManager & m_localStorageCacheManager;
98 
99 private:
101  Q_DISABLE_COPY(ILocalStorageCacheExpiryChecker)
102 };
103 
104 } // namespace quentier
105 
106 #endif // LIB_QUENTIER_LOCAL_STORAGE_I_LOCAL_STORAGE_CACHE_EXPIRY_CHECKER_H
The ILocalStorageCacheExpiryChecker class represents the interface for cache expiry checker used by L...
Definition: ILocalStorageCacheExpiryChecker.h:35
virtual bool checkNotebooks() const =0
virtual ILocalStorageCacheExpiryChecker * clone() const =0
virtual bool checkSavedSearches() const =0
virtual bool checkLinkedNotebooks() const =0
virtual QTextStream & print(QTextStream &strm) const =0
Print the internal information about ILocalStorageCacheExpiryChecker implementation instance to the t...
virtual bool checkResources() const =0
Definition: LocalStorageCacheManager.h:39
The Printable class is the interface for Quentier's internal classes which should be able to write th...
Definition: Printable.h:39