aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/services/sqliteextensionmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/services/sqliteextensionmanager.h')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/sqliteextensionmanager.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/services/sqliteextensionmanager.h b/SQLiteStudio3/coreSQLiteStudio/services/sqliteextensionmanager.h
new file mode 100644
index 0000000..a135f3b
--- /dev/null
+++ b/SQLiteStudio3/coreSQLiteStudio/services/sqliteextensionmanager.h
@@ -0,0 +1,34 @@
+#ifndef SQLITEEXTENSIONMANAGER_H
+#define SQLITEEXTENSIONMANAGER_H
+
+#include "coreSQLiteStudio_global.h"
+#include "sqlitestudio.h"
+#include <QSharedPointer>
+#include <QObject>
+
+class API_EXPORT SqliteExtensionManager : public QObject
+{
+ Q_OBJECT
+
+ public:
+ struct API_EXPORT Extension
+ {
+ QString filePath;
+ QString initFunc;
+ QStringList databases;
+ bool allDatabases = true;
+ };
+
+ typedef QSharedPointer<Extension> ExtensionPtr;
+
+ virtual void setExtensions(const QList<ExtensionPtr>& newExtensions) = 0;
+ virtual QList<ExtensionPtr> getAllExtensions() const = 0;
+ virtual QList<ExtensionPtr> getExtensionForDatabase(const QString& dbName) const = 0;
+
+ signals:
+ void extensionListChanged();
+};
+
+#define SQLITE_EXTENSIONS SQLITESTUDIO->getSqliteExtensionManager()
+
+#endif // SQLITEEXTENSIONMANAGER_H