/** \return A string that can be displayed by the client to describe the storage backend */
virtual QString description() const = 0;
+ //! Returns a map where the keys are required properties to use the storage backend
+ /* the values are QVariants with default values */
+ virtual QVariantMap setupKeys() const = 0;
+
//! Setup the storage provider.
/** This prepares the storage provider (e.g. create tables, etc.) for use within Quassel.
* \param settings Hostname, port, username, password, ...
*/
virtual QList<NetworkInfo> networks(UserId user) = 0;
- //! Get the unique NetworkId of the network for a user.
- /** \param user The core user who owns this network
- * \param network The network name
- * \return The NetworkId corresponding to the given network, or 0 if not found
- */
- virtual NetworkId getNetworkId(UserId user, const QString &network) = 0;
-
//! Get a list of Networks to restore
/** Return a list of networks the user was connected at the time of core shutdown
* \note This method is threadsafe.
/* Message handling */
- //! Store a Message in the backlog.
+ //! Store a Message in the storage backend and set its unique Id.
/** \param msg The message object to be stored
- * \return The globally unique id for the stored message
+ * \return true on success
+ */
+ virtual bool logMessage(Message &msg) = 0;
+
+ //! Store a list of Messages in the storage backend and set their unique Id.
+ /** \param msgs The list message objects to be stored
+ * \return true on success
*/
- virtual MsgId logMessage(Message msg) = 0;
+ virtual bool logMessages(MessageList &msgs) = 0;
//! Request a certain number messages stored in a given buffer.
/** \param buffer The buffer we request messages from