Make --norestore work again
[quassel.git] / src / core / storage.h
index e52a79f..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 */
 
@@ -299,12 +306,13 @@ public slots:
    */
   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 MsgId >= first
+  //! 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.