6 #include <QtSql/QSqlDatabase>
7 #include <QtSql/QSqlError>
11 #include "coordinates/geocoordinate.h"
14 class Database : public QObject
18 Database(QObject *parent = 0);
21 bool addTag(qulonglong userId, const QString &tag);
22 QByteArray getNotifications(qulonglong userId);
23 QByteArray getPopularTags();
24 QHash<QString, QString> getTags(qulonglong userId);
25 QByteArray getInterestingPeople(qulonglong userId,
26 const GeoCoordinate &southWestCoordinates,
27 const GeoCoordinate &northEastCoordinates);
28 QByteArray getInterestingPeopleByTag(qulonglong userId, const QString &tag);
30 bool createNotificationTable();
31 bool createTagTable();
32 bool createUserTagTable();
33 bool createUserTable();
35 bool removeMessage(qulonglong userId, const QString &id);
36 bool removeTags(qulonglong userId, const QStringList &tags);
37 bool sendMessage(qulonglong senderId, qulonglong receiverId, const QString &message,
38 const GeoCoordinate &coordinates);
41 QSqlDatabase m_database;
42 QList<Message*> m_notifications;