Implement sender prefix storage in the database
[quassel.git] / src / core / abstractsqlstorage.h
index 7f8e38f..91950cc 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef ABSTRACTSQLSTORAGE_H
-#define ABSTRACTSQLSTORAGE_H
+#pragma once
 
 #include "storage.h"
 
+#include <memory>
+
 #include <QSqlDatabase>
 #include <QSqlQuery>
 #include <QSqlError>
@@ -38,8 +39,8 @@ public:
     AbstractSqlStorage(QObject *parent = 0);
     virtual ~AbstractSqlStorage();
 
-    virtual inline AbstractSqlMigrationReader *createMigrationReader() { return 0; }
-    virtual inline AbstractSqlMigrationWriter *createMigrationWriter() { return 0; }
+    virtual std::unique_ptr<AbstractSqlMigrationReader> createMigrationReader() { return {}; }
+    virtual std::unique_ptr<AbstractSqlMigrationWriter> createMigrationWriter() { return {}; }
 
 public slots:
     virtual State init(const QVariantMap &settings = QVariantMap());
@@ -148,6 +149,7 @@ public:
         QString username;
         QString password;
         int hashversion;
+        QString authenticator;
     };
 
     struct SenderMO {
@@ -242,6 +244,7 @@ public:
         int type;
         int flags;
         int senderid;
+        QString senderprefixes;
         QString message;
     };
 
@@ -356,6 +359,3 @@ public:
     virtual inline bool postProcess() { return true; }
     friend class AbstractSqlMigrationReader;
 };
-
-
-#endif