26 #ifndef ROSTERSTORAGE_H
27 #define ROSTERSTORAGE_H
30 #include <QVariantMap>
34 class RosterStoragePrivate;
41 virtual ~ContactsFactory();
43 virtual Contact *addContact(
const QString &
id,
const QVariantMap &data) = 0;
44 virtual void serialize(Contact *contact, QVariantMap &data) = 0;
50 Q_DECLARE_PRIVATE(RosterStorage)
51 Q_CLASSINFO(
"Service",
"RosterStorage")
53 static RosterStorage *instance();
55 virtual QString load(Account *account) = 0;
56 virtual
void addContact(Contact *contact, const QString &version = QString()) = 0;
57 virtual
void updateContact(Contact *contact, const QString &version = QString()) = 0;
58 virtual
void removeContact(Contact *contact, const QString &version = QString()) = 0;
63 QScopedPointer<RosterStoragePrivate> d_ptr;
69 #endif // ROSTERSTORAGE_H