making the latest schema evolution failsafe
[quassel.git] / src / core / storage.h
index a80620f..9612a59 100644 (file)
@@ -265,15 +265,25 @@ public slots:
    */
   virtual bool removeBuffer(const UserId &user, const BufferId &bufferId) = 0;
 
+
   //! Rename a Buffer
-  /** \param user      The id of the buffer owner
-   *  \param networkId The id of the network the buffer belongs to
+  /** \note This method is threadsafe.
+   *  \param user      The id of the buffer owner
+   *  \param bufferId  The bufferId
    *  \param newName   The new name of the buffer
-   *  \param oldName   The previous name of the buffer
-   *  \return the BufferId of the affected buffer or an invalid BufferId if not successfull
+   *  \return true if successfull
    */
-  virtual BufferId renameBuffer(const UserId &user, const NetworkId &networkId, const QString &newName, const QString &oldName) = 0;
-  
+  virtual bool renameBuffer(const UserId &user, const BufferId &bufferId, const QString &newName) = 0;
+
+  //! Merge the content of two Buffers permanently. This cannot be reversed!
+  /** \note This method is threadsafe.
+   *  \param user      The id of the buffer owner
+   *  \param bufferId1 The bufferId of the remaining buffer
+   *  \param bufferId2 The buffer that is about to be removed
+   *  \return true if successfull
+   */
+  virtual bool mergeBuffersPermanently(const UserId &user, const BufferId &bufferId1, const BufferId &bufferId2) = 0;
+
   //! Update the LastSeenDate for a Buffer
   /** This Method is used to make the LastSeenDate of a Buffer persistent
    * \param user      The Owner of that Buffer