xref: /glogg/src/persistable.h (revision bb02e0acf44ddb4e4f83d6127a1e488789162922)
1 /*
2  * Copyright (C) 2011 Nicolas Bonnefon and other contributors
3  *
4  * This file is part of glogg.
5  *
6  * glogg is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * glogg is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with glogg.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef PERSISTABLE_H
21 #define PERSISTABLE_H
22 
23 class QSettings;
24 
25 // Must be implemented by classes which could be saved to persistent
26 // storage by PersistentInfo.
27 class Persistable {
28   public:
~Persistable()29     virtual ~Persistable() {}
30 
31     // Must be implemented to save/retrieve from Qt Settings
32     virtual void saveToStorage( QSettings& settings ) const = 0;
33     virtual void retrieveFromStorage( QSettings& settings ) = 0;
34 };
35 
36 #endif
37