diff options
author | Jack Leigh <leighman@gmx.se> | 2013-03-05 16:19:58 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2013-03-12 15:35:34 +0000 |
commit | 07352f07ce40ef40e9b73fd05aa4f9c5eac38290 (patch) | |
tree | 9a0ece5e5781f2a2846a0948f50727ed467278a8 /desktop/source | |
parent | 8887de72c184bec6225a952ec90433ae1b7a5b26 (diff) |
liblibo: move to C++ interface.
Change-Id: Ie14a9446abd9524604feddf811d5373a26a30cbd
Diffstat (limited to 'desktop/source')
-rw-r--r-- | desktop/source/lib/init.cxx | 32 | ||||
-rw-r--r-- | desktop/source/lib/shim.cxx | 12 |
2 files changed, 21 insertions, 23 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 5aab66bd42d2..4b47ac6a498a 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -7,9 +7,10 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include <liblibreoffice_impl.hxx> + #include <stdio.h> -#include <liblibreoffice.h> #include <tools/errinf.hxx> #include <osl/file.hxx> #include <rtl/strbuf.hxx> @@ -35,25 +36,14 @@ static uno::Reference<css::uno::XComponentContext> xContext; static uno::Reference<css::lang::XMultiServiceFactory> xSFactory; static uno::Reference<css::lang::XMultiComponentFactory> xFactory; -SAL_DLLPUBLIC_EXPORT void -lo_error_free( LOError * ) -{ -} - -SAL_DLLPUBLIC_EXPORT LOError * -lo_error_new( int, const char * ) +LODocument * +LibLibreOffice_Impl::documentLoad( const char *docUrl ) { return NULL; } -SAL_DLLPUBLIC_EXPORT LODocument * -lo_document_load( const char *, LOError ** ) -{ - return NULL; -} - -SAL_DLLPUBLIC_EXPORT loboolean -lo_document_save( const char *, LOError ** ) +loboolean +LibLibreOffice_Impl::documentSave( const char * ) { return 1; } @@ -92,8 +82,8 @@ initialize_uno( const rtl::OUString &aUserProfileURL ) xSFactory = uno::Reference<lang::XMultiServiceFactory>(xFactory, uno::UNO_QUERY_THROW); } -SAL_DLLPUBLIC_EXPORT loboolean -lo_initialize( const char *app_path ) +loboolean +LibLibreOffice_Impl::initialize( const char *app_path ) { static bool bInitialized = false; if( bInitialized ) @@ -132,7 +122,11 @@ extern "C" { LibLibreOffice *liblibreoffice_hook(void) { - return new LibLibreOffice(); + return new LibLibreOffice_Impl(); +} + +LibLibreOffice_Impl::~LibLibreOffice_Impl () +{ } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/source/lib/shim.cxx b/desktop/source/lib/shim.cxx index c57803e588fa..4c8e61d93a27 100644 --- a/desktop/source/lib/shim.cxx +++ b/desktop/source/lib/shim.cxx @@ -9,8 +9,12 @@ #ifdef LINUX +#include <stdio.h> +#include <string.h> + +#include <osl/module.h> #include <sal/types.h> -#include <liblibreoffice.h> +#include <liblibreoffice.hxx> #include <dlfcn.h> #ifdef AIX @@ -23,11 +27,11 @@ extern "C" { typedef LibLibreOffice *(HookFunction)(void); }; -extern LibLibreOffice *lo_init( const char *install_path ) +SAL_DLLPUBLIC_EXPORT LibLibreOffice *lo_init( const char *install_path ) { if( !install_path ) return NULL; - char *impl_lib = malloc( strlen (install_path) + sizeof( TARGET_LIB ) + 2 ); + char *imp_lib = (char *) malloc( strlen (install_path) + sizeof( TARGET_LIB ) + 2 ); strcpy( imp_lib, install_path ); strcat( imp_lib, "/" ); strcat( imp_lib, TARGET_LIB ); @@ -39,7 +43,7 @@ extern LibLibreOffice *lo_init( const char *install_path ) } free( imp_lib ); - HookFunction *pSym = dlsym( dlhandle, "liblibreoffice_hook" ); + HookFunction *pSym = (HookFunction *) dlsym( dlhandle, "liblibreoffice_hook" ); if( !pSym ) { fprintf( stderr, "failed to find hook in library '%s'\n", imp_lib ); return NULL; |