source: SMSSender/lib/libdatatypes/src/interfaces/persistence/istorage.h @ 71:415b45c71663

3.0
Last change on this file since 71:415b45c71663 was 71:415b45c71663, checked in by Sämy Zehnder <saemy.zehnder@…>, 12 years ago
  • Reorganized all the libraries. libinterfaces and libgateways are removed now and libdatatypes contains now all these files.
File size: 2.6 KB
Line 
1/*
2 * istorage.h
3 *
4 *  Created on: May 1, 2009
5 *      Author: saemy
6 */
7
8#ifndef ISTORAGE_H_
9#define ISTORAGE_H_
10
11#include <QObject>
12#include <QImage>
13#include <QSet>
14#include <QString>
15#include <QSqlDatabase>
16#include <QSqlQuery>
17#include <QVariant>
18
19#include "../iinterface.h"
20#include "../icontact.h"
21#include "../igroup.h"
22
23class SShortcut;
24class IAccount;
25
26class IStorage: public IInterface{
27    Q_INTERFACES(IInterface)
28
29public:
30    virtual QVariant   readValue(const QString& _namespace, const QString& key, const QVariant& defaultValue = QVariant()) =0;
31    virtual bool       readBool(const QString& _namespace, const QString& key, bool defaultValue = false) =0;
32    virtual int        readInt(const QString& _namespace, const QString& key, int defaultValue = 0) =0;
33    virtual QString    readString(const QString& _namespace, const QString& key, const QString& defaultValue = "") =0;
34    virtual QString    readEncryptedString(const QString& _namespace, const QString& key, const QString& password, const QString& defaultValue = "") =0;
35    virtual QImage     readImage(const QString& _namespace, const QString& key, const QImage& defaultValue = QImage()) =0;
36    virtual IContact*  readContact(int contactId) =0;
37    virtual IGroup*    readGroup(int groupId) =0;
38    virtual SShortcut  readShortcut(const QString& key) =0;
39
40    virtual QSet<IContact*> readContactList() =0;
41    virtual QSet<IGroup*>   readGroupList() =0;
42
43    virtual void writeValue(const QString& _namespace, const QString& key, const QVariant& value) =0;
44    virtual void writeBool(const QString& _namespace, const QString& key, bool value) =0;
45    virtual void writeInt(const QString& _namespace, const QString& key, int value) =0;
46    virtual void writeString(const QString& _namespace, const QString& key, const QString& value) =0;
47    virtual void writeEncryptedString(const QString& _namespace, const QString& key, const QString& password, const QString& value) =0;
48    virtual void writeImage(const QString& _namespace, const QString& key, const QImage& image) =0;
49    virtual void writeContact(IContact* contact) =0;
50    virtual void writeGroup(IGroup* group) =0;
51    virtual void writeShortcut(const QString& key, const SShortcut& shortcut) =0;
52
53    virtual void removeValue(const QString& _namespace, const QString& key) =0;
54    virtual void removeValues(const QString& _namespace) =0;
55
56    virtual void removeContact(int contactId) =0;
57    virtual void removeGroup(int groupId) =0;
58
59    virtual QSqlDatabase connection() const =0;
60    virtual QSqlQuery    createQuery() const =0;
61};
62Q_DECLARE_INTERFACE(IStorage,
63                     "ch.gorrion.smssender.IStorage/1.0")
64
65#endif /* ISTORAGE_H_ */
Note: See TracBrowser for help on using the repository browser.