From 7167ce41b61d2ba2cdb526777a4233eb84a3b66a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sat, 6 Dec 2014 17:33:25 -0500 Subject: Imported Upstream version 2.99.6 --- .../plugins/pluginsymbolresolver.cpp | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 SQLiteStudio3/coreSQLiteStudio/plugins/pluginsymbolresolver.cpp (limited to 'SQLiteStudio3/coreSQLiteStudio/plugins/pluginsymbolresolver.cpp') diff --git a/SQLiteStudio3/coreSQLiteStudio/plugins/pluginsymbolresolver.cpp b/SQLiteStudio3/coreSQLiteStudio/plugins/pluginsymbolresolver.cpp new file mode 100644 index 0000000..39988bd --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/plugins/pluginsymbolresolver.cpp @@ -0,0 +1,45 @@ +#include "pluginsymbolresolver.h" +#include +#include + +PluginSymbolResolver::PluginSymbolResolver() +{ +} + +void PluginSymbolResolver::addFileNameMask(const QString &mask) +{ + nameFilters << mask; +} + +void PluginSymbolResolver::addLookupSubFolder(const QString &name) +{ + subFolders << name; +} + +bool PluginSymbolResolver::load() +{ + QStringList paths = qApp->libraryPaths(); + foreach (QString path, paths) + foreach (QString subFolder, subFolders) + paths << path + "/" + subFolder; + + foreach (QString path, paths) + { + QDir dir(path); + foreach (QString file, dir.entryList(nameFilters)) + { + lib.setFileName(path+"/"+file); + if (lib.load()) + break; + } + if (lib.isLoaded()) + break; + } + + return lib.isLoaded(); +} + +QFunctionPointer PluginSymbolResolver::resolve(const char *symbol) +{ + return lib.resolve(symbol); +} -- cgit v1.2.3