Make --norestore work again
[quassel.git] / src / core / storage.h
index 4252059..a80620f 100644 (file)
@@ -24,6 +24,7 @@
 #include <QtCore>
 
 #include "types.h"
+#include "coreidentity.h"
 #include "message.h"
 #include "network.h"
 
@@ -128,6 +129,12 @@ public slots:
    * \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;
+
+  /* Identity handling */
+  virtual IdentityId createIdentity(UserId user, CoreIdentity &identity) = 0;
+  virtual bool updateIdentity(UserId user, const CoreIdentity &identity) = 0;
+  virtual void removeIdentity(UserId user, IdentityId identityId) = 0;
+  virtual QList<CoreIdentity> identities(UserId user) = 0;
   
   /* Network handling */
 
@@ -290,44 +297,22 @@ public slots:
    */
   virtual MsgId logMessage(Message msg) = 0;
 
-  //! Request a certain number (or all) messages stored in a given buffer.
-  /** \param buffer   The buffer we request messages from
-   *  \param limit The number of messages we would like to receive, or -1 if we'd like all messages from that buffername
-   *  \param offset   Do not return (but DO count) messages with MsgId >= offset, if offset >= 0
-   *  \return The requested list of messages
-   */
-  virtual QList<Message> requestMsgs(UserId user, BufferId buffer, int limit = -1, int offset = -1) = 0;
-
-  //! Request messages stored in a given buffer since a certain point in time.
-  /** \param buffer   The buffer we request messages from
-   *  \param since    Only return messages newer than this point in time
-   *  \param offset   Do not return messages with MsgId >= offset, if offset >= 0
-   *  \return The requested list of messages
-   */
-  virtual QList<Message> requestMsgs(UserId user, BufferId buffer, QDateTime since, int offset = -1) = 0;
-
-  //! Request a range of messages stored in a given buffer.
+  //! Request a certain number messages stored in a given buffer.
   /** \param buffer   The buffer we request messages from
-   *  \param first    Return messages with first <= MsgId <= last
-   *  \param last     Return messages with first <= MsgId <= last
-   *  \return The requested list of messages
-   */
-  virtual QList<Message> requestMsgRange(UserId user, BufferId buffer, int first, int last) = 0;
-
-  //! Request all unread messages
-  /** \param buffer   The buffer we request messages from
-   *  \param first    Return messages with first <= MsgId
-   *  \param limit    Max amount of messages
+   *  \param first    if != -1 return only messages with a MsgId >= first
+   *  \param last     if != -1 return only messages with a MsgId < last
+   *  \param limit    if != -1 limit the returned list to a max of \limit entries
    *  \return The requested list of messages
    */
-  virtual QList<Message> requestNewMsgs(UserId user, BufferId bufferId, int first, int limit = -1) = 0;
+  virtual QList<Message> requestMsgs(UserId user, BufferId bufferId, MsgId first = -1, MsgId last = -1, int limit = -1) = 0;
 
-  //! Request all unread messages for all buffers
-  /** \param first    Return messages with first <= MsgId
+  //! Request a certain number of messages across all buffers
+  /** \param first    if != -1 return only messages with a MsgId >= first
+   *  \param last     if != -1 return only messages with a MsgId < last
    *  \param limit    Max amount of messages
    *  \return The requested list of messages
    */
-  virtual QList<Message> requestAllNewMsgs(UserId user, int first, int limit = -1) = 0;
+  virtual QList<Message> requestAllMsgs(UserId user, MsgId first = -1, MsgId last = -1, int limit = -1) = 0;
 
 signals:
   //! Sent when a new BufferInfo is created, or an existing one changed somehow.