diff options
Diffstat (limited to 'plugins/PluginLoader/catchcopy-v0002/pluginLoader.h')
-rwxr-xr-x | plugins/PluginLoader/catchcopy-v0002/pluginLoader.h | 50 |
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 |