Imported Upstream version 1.1.0
[gammaray-debian.git] / pluginmanager.h
blob35303275e3a3ae761f1ab43c7646264f1f004826
1 /*
2 pluginmanager.h
4 This file is part of GammaRay, the Qt application inspection and
5 manipulation tool.
7 Copyright (C) 2010-2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
8 Author: Kevin Funk <kevin.funk@kdab.com>
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation, either version 2 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #ifndef GAMMARAY_PLUGINMANAGER_H
25 #define GAMMARAY_PLUGINMANAGER_H
27 #include <QStringList>
28 #include <QPluginLoader>
29 #include <QVector>
31 #include <iostream>
33 namespace GammaRay {
35 class ToolFactory;
37 class PluginManager
39 public:
40 static PluginManager *instance();
42 QVector<ToolFactory*> plugins();
44 protected:
45 PluginManager();
47 private:
48 QStringList pluginPaths() const;
49 void scan();
51 static PluginManager *s_instance;
52 QVector<ToolFactory*> m_plugins;
57 #endif // GAMMARAY_PLUGINMANAGER_H