X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fsqlitestorage.h;h=75e32f3a486eb219375a9f61c009811a28bab779;hb=78decd5f8d1a149fc0e62e01bd6b2886e0feadfe;hp=fc2efc4888e71b286ca33f4715310aa0829b8d27;hpb=e50ae7a06fc4e5d3a911c361d30953410deab609;p=quassel.git diff --git a/src/core/sqlitestorage.h b/src/core/sqlitestorage.h index fc2efc48..75e32f3a 100644 --- a/src/core/sqlitestorage.h +++ b/src/core/sqlitestorage.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -35,25 +35,26 @@ public: SqliteStorage(QObject *parent = 0); virtual ~SqliteStorage(); - virtual AbstractSqlMigrationReader *createMigrationReader(); + virtual std::unique_ptr createMigrationReader(); public slots: /* General */ bool isAvailable() const; + QString backendId() const; QString displayName() const; - virtual inline QStringList setupKeys() const { return QStringList(); } - virtual inline QVariantMap setupDefaults() const { return QVariantMap(); } + virtual inline QVariantList setupData() const { return {}; } QString description() const; // TODO: Add functions for configuring the backlog handling, i.e. defining auto-cleanup settings etc /* User handling */ - virtual UserId addUser(const QString &user, const QString &password); + virtual UserId addUser(const QString &user, const QString &password, const QString &authenticator = "Database"); virtual bool updateUser(UserId user, const QString &password); virtual void renameUser(UserId user, const QString &newName); virtual UserId validateUser(const QString &user, const QString &password); virtual UserId getUserId(const QString &username); + virtual QString getUserAuthenticator(const UserId userid); virtual UserId internalUser(); virtual void delUser(UserId user); virtual void setUserSetting(UserId userId, const QString &settingName, const QVariant &data); @@ -96,6 +97,9 @@ public slots: virtual QHash bufferLastSeenMsgIds(UserId user); virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); virtual QHash bufferMarkerLineMsgIds(UserId user); + virtual void setBufferActivity(UserId id, BufferId bufferId, Message::Types type); + QHash bufferActivities(UserId id) override; + Message::Types bufferActivity(BufferId bufferId, MsgId lastSeenMsgId) override; /* Message handling */ virtual bool logMessage(Message &msg); @@ -160,9 +164,9 @@ private: }; -inline AbstractSqlMigrationReader *SqliteStorage::createMigrationReader() +inline std::unique_ptr SqliteStorage::createMigrationReader() { - return new SqliteMigrationReader(); + return std::unique_ptr{new SqliteMigrationReader()}; }