summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vcl/workben/fftester.cxx172
1 files changed, 44 insertions, 128 deletions
diff --git a/vcl/workben/fftester.cxx b/vcl/workben/fftester.cxx
index c9c792cbe340..e0696977a89c 100644
--- a/vcl/workben/fftester.cxx
+++ b/vcl/workben/fftester.cxx
@@ -27,6 +27,10 @@
DYLD_LIBRARY_PATH=`pwd`/instdir/LibreOfficeDev.app/Contents/Frameworks instdir/LibreOfficeDev.app/Contents/MacOS/fftester <foo> png
*/
+#include <sal/config.h>
+
+#include <string_view>
+
#include <sal/main.h>
#include <tools/extendapplicationenvironment.hxx>
@@ -60,6 +64,7 @@
#include <filter/XpmReader.hxx>
#include <osl/file.hxx>
#include <osl/module.hxx>
+#include <rtl/bootstrap.hxx>
#include <tools/stream.hxx>
#include <vcl/gdimtf.hxx>
@@ -71,11 +76,22 @@ using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
using namespace cppu;
+typedef bool (*FFilterCall)(SvStream &rStream);
+
#ifndef DISABLE_DYNLOADING
-extern "C" { static void thisModule() {} }
-#endif
+namespace {
-typedef bool (*FFilterCall)(SvStream &rStream);
+FFilterCall load(std::u16string_view library, char const * function) {
+ OUString path = OUString::Concat("$LO_LIB_DIR/") + library;
+ rtl::Bootstrap::expandMacros(path); //TODO: check for failure
+ osl::Module aLibrary(path, SAL_LOADMODULE_LAZY);
+ auto const fn = reinterpret_cast<FFilterCall>(aLibrary.getFunctionSymbol(function));
+ aLibrary.release();
+ return fn;
+}
+
+}
+#endif
SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
{
@@ -241,11 +257,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libmswordlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportWW8"));
- aLibrary.release();
+ pfnImport = load(u"libmswordlo.so", "TestImportWW8");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -255,11 +267,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libmswordlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportWW6"));
- aLibrary.release();
+ pfnImport = load(u"libmswordlo.so", "TestImportWW6");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -269,11 +277,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libmswordlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportWW2"));
- aLibrary.release();
+ pfnImport = load(u"libmswordlo.so", "TestImportWW2");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -283,11 +287,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libmswordlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportRTF"));
- aLibrary.release();
+ pfnImport = load(u"libmswordlo.so", "TestImportRTF");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -297,11 +297,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libswlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportHTML"));
- aLibrary.release();
+ pfnImport = load(u"libswlo.so", "TestImportHTML");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -311,11 +307,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libswlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportFODT"));
- aLibrary.release();
+ pfnImport = load(u"libswlo.so", "TestImportFODT");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -325,11 +317,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libswlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportDOCX"));
- aLibrary.release();
+ pfnImport = load(u"libswlo.so", "TestImportDOCX");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -339,11 +327,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libsclo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportFODS"));
- aLibrary.release();
+ pfnImport = load(u"libsclo.so", "TestImportFODS");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -353,11 +337,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libsclo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportXLSX"));
- aLibrary.release();
+ pfnImport = load(u"libsclo.so", "TestImportXLSX");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -367,11 +347,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libsdlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportFODP"));
- aLibrary.release();
+ pfnImport = load(u"libsdlo.so", "TestImportFODP");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -381,11 +357,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libsdlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportPPTX"));
- aLibrary.release();
+ pfnImport = load(u"libsdlo.so", "TestImportPPTX");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -395,11 +367,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libscfiltlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportXLS"));
- aLibrary.release();
+ pfnImport = load(u"libscfiltlo.so", "TestImportXLS");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -409,11 +377,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libscfiltlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportWKS"));
- aLibrary.release();
+ pfnImport = load(u"libscfiltlo.so", "TestImportWKS");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -423,11 +387,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libhwplo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportHWP"));
- aLibrary.release();
+ pfnImport = load(u"libhwplo.so", "TestImportHWP");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -437,11 +397,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libt602filterlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImport602"));
- aLibrary.release();
+ pfnImport = load(u"libt602filterlo.so", "TestImport602");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -451,11 +407,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "liblwpftlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportLWP"));
- aLibrary.release();
+ pfnImport = load(u"liblwpftlo.so", "TestImportLWP");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -465,11 +417,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libsdfiltlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportPPT"));
- aLibrary.release();
+ pfnImport = load(u"libsdfiltlo.so", "TestImportPPT");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -479,11 +427,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libsdlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportCGM"));
- aLibrary.release();
+ pfnImport = load(u"libsdlo.so", "TestImportCGM");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -493,11 +437,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libscfiltlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportQPW"));
- aLibrary.release();
+ pfnImport = load(u"libscfiltlo.so", "TestImportQPW");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -507,11 +447,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libscfiltlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportDIF"));
- aLibrary.release();
+ pfnImport = load(u"libscfiltlo.so", "TestImportDIF");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -521,11 +457,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libscfiltlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportCalcRTF"));
- aLibrary.release();
+ pfnImport = load(u"libscfiltlo.so", "TestImportCalcRTF");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -535,11 +467,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libsclo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportSLK"));
- aLibrary.release();
+ pfnImport = load(u"libsclo.so", "TestImportSLK");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -549,11 +477,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libsotlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportOLE2"));
- aLibrary.release();
+ pfnImport = load(u"libsotlo.so", "TestImportOLE2");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -563,11 +487,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libsmlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportMML"));
- aLibrary.release();
+ pfnImport = load(u"libsmlo.so", "TestImportMML");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));
@@ -577,11 +497,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
static FFilterCall pfnImport(nullptr);
if (!pfnImport)
{
- osl::Module aLibrary;
- aLibrary.loadRelative(&thisModule, "libsmlo.so", SAL_LOADMODULE_LAZY);
- pfnImport = reinterpret_cast<FFilterCall>(
- aLibrary.getFunctionSymbol("TestImportMathType"));
- aLibrary.release();
+ pfnImport = load(u"libsmlo.so", "TestImportMathType");
}
SvFileStream aFileStream(out, StreamMode::READ);
ret = static_cast<int>((*pfnImport)(aFileStream));