aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/services/impl/sqliteextensionmanagerimpl.h
blob: 9414c0a5b62e72d738022fd52088a3866d6a868f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef SQLITEEXTENSIONMANAGERIMPL_H
#define SQLITEEXTENSIONMANAGERIMPL_H

#include "services/sqliteextensionmanager.h"

class SqliteExtensionManagerImpl : public SqliteExtensionManager
{
    public:
        SqliteExtensionManagerImpl();

        void setExtensions(const QList<ExtensionPtr>& newExtensions);
        QList<ExtensionPtr> getAllExtensions() const;
        QList<ExtensionPtr> getExtensionForDatabase(const QString& dbName) const;
        QStringList getExtensionDirs() const;

    private:
        void init();
        void scanExtensionDirs();
        void storeInConfig();
        void loadFromConfig();

        QList<ExtensionPtr> extensions;
        QStringList extensionDirs;
};

#endif // SQLITEEXTENSIONMANAGERIMPL_H