summaryrefslogtreecommitdiff
path: root/SessionLoader.h
diff options
context:
space:
mode:
Diffstat (limited to 'SessionLoader.h')
-rw-r--r--SessionLoader.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/SessionLoader.h b/SessionLoader.h
new file mode 100644
index 0000000..5676cec
--- /dev/null
+++ b/SessionLoader.h
@@ -0,0 +1,53 @@
+/** \file SessionLoader.h
+\brief Define the class to load the plugin and lunch it
+\author alpha_one_x86
+\version 0.3
+\date 2010
+\licence GPL3, see the file COPYING
+
+This class load ALL plugin compatible to listen and catch the copy/move
+*/
+
+#ifndef SESSIONLOADER_H
+#define SESSIONLOADER_H
+
+#include <QObject>
+#include <QList>
+#include <QPluginLoader>
+#include <QString>
+#include <QStringList>
+
+#include "interface/PluginInterface_SessionLoader.h"
+#include "PluginsManager.h"
+#include "GlobalClass.h"
+
+/// \todo SessionLoader -> put plugin by plugin loading to add plugin no reload all
+/// \todo async the plugin call
+
+/** \brief manage all SessionLoader plugin */
+class SessionLoader : public QObject, GlobalClass
+{
+ Q_OBJECT
+ public:
+ explicit SessionLoader(QObject *parent = 0);
+ ~SessionLoader();
+ private slots:
+ void onePluginAdded(const PluginsAvailable &plugin);
+ void onePluginWillBeRemoved(const PluginsAvailable &plugin);
+ void newOptionValue(const QString &groupName,const QString &variableName,const QVariant &value);
+ #ifdef ULTRACOPIER_DEBUG
+ void debugInformation(DebugLevel level,const QString& fonction,const QString& text,const QString& file,const int& ligne);
+ #endif // ULTRACOPIER_DEBUG
+ private:
+ //variable
+ struct LocalPlugin
+ {
+ PluginInterface_SessionLoader * sessionLoaderInterface;
+ QPluginLoader * pluginLoader;
+ QString path;
+ LocalPluginOptions *options;
+ };
+ QList<LocalPlugin> pluginList;
+};
+
+#endif // SESSIONLOADER_H