summaryrefslogtreecommitdiff
path: root/vcl/unx/source/app/salinst.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/unx/source/app/salinst.cxx')
-rw-r--r--vcl/unx/source/app/salinst.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/vcl/unx/source/app/salinst.cxx b/vcl/unx/source/app/salinst.cxx
index 53c41aa525e1..6b7753960290 100644
--- a/vcl/unx/source/app/salinst.cxx
+++ b/vcl/unx/source/app/salinst.cxx
@@ -35,6 +35,8 @@
#include <stdio.h>
#include <stdlib.h>
+#include <osl/module.hxx>
+
#include "salunx.h"
#include "saldata.hxx"
@@ -415,3 +417,20 @@ void X11SalInstance::FillFontPathList( std::list< rtl::OString >& o_rFontPaths )
#endif /* SOLARIS */
}
+extern "C" { static void SAL_CALL thisModule() {} }
+
+void X11SalInstance::AddToRecentDocumentList(const rtl::OUString& rFileUrl, const rtl::OUString& rMimeType)
+{
+ const rtl::OUString SYM_ADD_TO_RECENTLY_USED_FILE_LIST(RTL_CONSTASCII_USTRINGPARAM("add_to_recently_used_file_list"));
+ const rtl::OUString LIB_RECENT_FILE(RTL_CONSTASCII_USTRINGPARAM("librecentfile.so"));
+ typedef void (*PFUNC_ADD_TO_RECENTLY_USED_LIST)(const rtl::OUString&, const rtl::OUString&);
+
+ PFUNC_ADD_TO_RECENTLY_USED_LIST add_to_recently_used_file_list = 0;
+
+ osl::Module module;
+ module.loadRelative( &thisModule, LIB_RECENT_FILE );
+ if (module.is())
+ add_to_recently_used_file_list = (PFUNC_ADD_TO_RECENTLY_USED_LIST)module.getFunctionSymbol(SYM_ADD_TO_RECENTLY_USED_FILE_LIST);
+ if (add_to_recently_used_file_list)
+ add_to_recently_used_file_list(rFileUrl, rMimeType);
+}