summaryrefslogtreecommitdiff
path: root/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/PluginLoader/catchcopy-v0002/pluginLoader.h')
-rw-r--r--plugins/PluginLoader/catchcopy-v0002/pluginLoader.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h b/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h
new file mode 100644
index 0000000..d18248d
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h
@@ -0,0 +1,64 @@
+/** \file pluginLoader.h
+\brief Define the plugin loader
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef PLUGIN_LOADER_TEST_H
+#define PLUGIN_LOADER_TEST_H
+
+#include <QObject>
+#include <QMessageBox>
+#include <unordered_set>
+
+#include <QString>
+#include <QStringList>
+#include <QProcess>
+#include <QSet>
+#ifdef Q_OS_WIN32
+ #ifndef NOMINMAX
+ #define NOMINMAX
+ #endif
+ #include <windows.h>
+ #include <tlhelp32.h>
+#endif
+
+#include "../../../interface/PluginInterface_PluginLoader.h"
+#include "Environment.h"
+#include "OptionsWidget.h"
+
+/// \brief \brief Define the plugin loader
+class WindowsExplorerLoader : public PluginInterface_PluginLoader
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.PluginLoader/1.2.4.0" FILE "plugin.json")
+ Q_INTERFACES(PluginInterface_PluginLoader)
+public:
+ WindowsExplorerLoader();
+ ~WindowsExplorerLoader();
+ /// \brief try enable/disable the catching
+ void setEnabled(const bool &needBeRegistred);
+ /// \brief to set resources, writePath can be empty if read only mode
+ void setResources(OptionInterface * options,const std::string &writePath,const std::string &pluginPath,const bool &portableVersion);
+ /// \brief to get the options widget, NULL if not have
+ QWidget * options();
+public slots:
+ /// \brief to reload the translation, because the new language have been loaded
+ void newLanguageLoaded();
+private:
+ std::string pluginPath;
+ std::vector<std::string> importantDll,secondDll;
+ std::unordered_set<std::string> correctlyLoaded;
+ bool RegisterShellExtDll(const std::string &dllPath, const bool &bRegister,const bool &quiet);
+ bool checkExistsDll();
+ bool dllChecked;
+ bool needBeRegistred;
+ OptionInterface * optionsEngine;
+ OptionsWidget *optionsWidget;
+ bool allDllIsImportant,Debug;
+ bool changeOfArchDetected,is64Bits;
+private slots:
+ void setAllDllIsImportant(bool allDllIsImportant);
+ void setDebug(bool Debug);
+};
+
+#endif // PLUGIN_LOADER_TEST_H