Fixing BR #147. Needs core update.
[quassel.git] / src / core / storage.h
index 1ce0079..2016ed3 100644 (file)
@@ -107,6 +107,23 @@ class Storage : public QObject {
      */
     virtual void delUser(UserId user) = 0;
 
+    //! Store a user setting persistently
+    /**
+     * \param userId       The users Id
+     * \param settingName  The Name of the Setting
+     * \param data         The Value
+     */
+    virtual void setUserSetting(UserId userId, const QString &settingName, const QVariant &data) = 0;
+  
+    //! Retrieve a persistent user setting
+    /**
+     * \param userId       The users Id
+     * \param settingName  The Name of the Setting
+     * \param default      Value to return in case it's unset.
+     * \return the Value of the Setting or the default value if it is unset.
+     */
+    virtual QVariant getUserSetting(UserId userId, const QString &settingName, const QVariant &data = QVariant()) = 0;
+  
     /* Network handling */
 
     //! Create a new Network in the storage backend and return it unique Id
@@ -219,6 +236,15 @@ class Storage : public QObject {
      */
     virtual QList<BufferInfo> requestBuffers(UserId user) = 0;
 
+    //! Request a list of BufferIds for a given NetworkId
+    /** \note This method is threadsafe.
+     *
+     *  \param user  The user whose buffers we request
+     *  \param networkId  The NetworkId of the network in question
+     *  \return List of BufferIds belonging to the Network
+     */
+    virtual QList<BufferId> requestBufferIdsForNetwork(UserId user, NetworkId networkId) = 0;
+
     //! Remove permanently a buffer and it's content from the storage backend
     /** This call cannot be reverted!
      *  \param user      The user who is the owner of the buffer