summaryrefslogtreecommitdiff
path: root/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/PluginLoader/catchcopy-v0002/pluginLoader.h')
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/pluginLoader.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h b/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h
new file mode 100755
index 0000000..9a913e3
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h
@@ -0,0 +1,50 @@
+/** \file pluginLoader.h
+\brief Define the plugin loader
+\author alpha_one_x86
+\version 0.3
+\date 2010 */
+
+#ifndef PLUGIN_LOADER_TEST_H
+#define PLUGIN_LOADER_TEST_H
+
+#include <QObject>
+#include <QtCore>
+#include <QMessageBox>
+
+#include <QString>
+#include <QStringList>
+#include <QProcess>
+#include <windows.h>
+#include <tlhelp32.h>
+
+#include "../../../interface/PluginInterface_PluginLoader.h"
+#include "Environment.h"
+
+/// \brief \brief Define the plugin loader
+class PluginLoader : public PluginInterface_PluginLoader
+{
+ Q_OBJECT
+ Q_INTERFACES(PluginInterface_PluginLoader)
+public:
+ PluginLoader();
+ ~PluginLoader();
+ void setEnabled(bool);
+ void setResources(OptionInterface * options,QString writePath,QString pluginPath,bool portableVersion);
+private:
+ QString pluginPath;
+ QStringList importantDll,secondDll;
+ bool RegisterShellExtDll(QString dllPath, bool bRegister,bool quiet);
+ bool checkExistsDll();
+ bool dllChecked;
+ bool needBeRegistred;
+ bool WINAPI DLLEjecteurW(DWORD dwPid,PWSTR szDLLPath);
+ void HardUnloadDLL(QString myDllName);
+signals:
+ void newState(CatchState);
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ /// \brief To debug source
+ void debugInformation(DebugLevel level,QString fonction,QString text,QString file,int ligne);
+ #endif
+};
+
+#endif // PLUGIN_LOADER_TEST_H