return instance()->_storage->getBufferInfo(user, bufferId);
}
- //! Store a Message in the backlog.
+ //! Store a Message in the storage backend and set it's unique Id.
/** \note This method is threadsafe.
*
- * \param msg The message object to be stored
- * \return The globally unique id for the stored message
+ * \param message The message object to be stored
+ * \return true on success
*/
- static inline MsgId storeMessage(const Message &message) {
+ static inline bool storeMessage(Message &message) {
return instance()->_storage->logMessage(message);
}
+ //! Store a list of Messages in the storage backend and set their unique Id.
+ /** \note This method is threadsafe.
+ *
+ * \param messages The list message objects to be stored
+ * \return true on success
+ */
+ static inline bool storeMessages(MessageList &messages) {
+ return instance()->_storage->logMessages(messages);
+ }
+
//! Request a certain number messages stored in a given buffer.
/** \param buffer The buffer we request messages from
* \param first if != -1 return only messages with a MsgId >= first
void clientHasData();
void clientDisconnected();
+ bool initStorage(const QString &backend, QVariantMap settings, bool setup = false);
bool initStorage(QVariantMap dbSettings, bool setup = false);
#ifdef HAVE_SSL
QString setupCoreForInternalUsage();
QString setupCore(QVariantMap setupData);
+ void registerStorageBackends();
bool registerStorageBackend(Storage *);
+ void unregisterStorageBackends();
void unregisterStorageBackend(Storage *);
+ bool migrateBackend(const QString &backend);
+ bool switchBackend(const QString &backend);
+ void saveBackendSettings(const QString &backend, const QVariantMap &settings);
+ QVariantMap promptForSettings(const QVariantMap &map);
QHash<UserId, SessionThread *> sessions;
Storage *_storage;