Kaydet (Commit) 3f70d2d2 authored tarafından Miklos Vajna's avatar Miklos Vajna

desktop: make LibLibreOffice_Impl visible to testcases

(cherry picked from commit 14a9a7d5)

Conflicts:
	desktop/source/lib/init.cxx

Change-Id: I345a6cab57cc594614e348700bb3c1c9a0673989
üst 2c049ea3
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/lang/XComponent.hpp>
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include "../../source/inc/desktopdllapi.h" #include "../../source/inc/desktopdllapi.h"
#include <osl/thread.h>
using namespace css; using namespace css;
using namespace boost; using namespace boost;
...@@ -24,4 +25,15 @@ namespace desktop { ...@@ -24,4 +25,15 @@ namespace desktop {
explicit LibLODocument_Impl(const uno::Reference <css::lang::XComponent> &xComponent); explicit LibLODocument_Impl(const uno::Reference <css::lang::XComponent> &xComponent);
~LibLODocument_Impl(); ~LibLODocument_Impl();
}; };
struct DESKTOP_DLLPUBLIC LibLibreOffice_Impl : public _LibreOfficeKit
{
OUString maLastExceptionMsg;
boost::shared_ptr< LibreOfficeKitClass > m_pOfficeClass;
oslThread maThread;
LibreOfficeKitCallback mpCallback;
void *mpCallbackData;
LibLibreOffice_Impl();
};
} }
...@@ -88,8 +88,6 @@ using namespace utl; ...@@ -88,8 +88,6 @@ using namespace utl;
using namespace boost; using namespace boost;
struct LibLibreOffice_Impl;
static LibLibreOffice_Impl *gImpl = NULL; static LibLibreOffice_Impl *gImpl = NULL;
static weak_ptr< LibreOfficeKitClass > gOfficeClass; static weak_ptr< LibreOfficeKitClass > gOfficeClass;
static weak_ptr< LibreOfficeKitDocumentClass > gDocumentClass; static weak_ptr< LibreOfficeKitDocumentClass > gDocumentClass;
...@@ -322,36 +320,27 @@ static void lo_registerCallback (LibreOfficeKit* pThis, ...@@ -322,36 +320,27 @@ static void lo_registerCallback (LibreOfficeKit* pThis,
void* pData); void* pData);
static char* lo_getFilterTypes(LibreOfficeKit* pThis); static char* lo_getFilterTypes(LibreOfficeKit* pThis);
struct LibLibreOffice_Impl : public _LibreOfficeKit LibLibreOffice_Impl::LibLibreOffice_Impl()
: maThread(0)
, mpCallback(nullptr)
, mpCallbackData(nullptr)
{ {
OUString maLastExceptionMsg; if(!(m_pOfficeClass = gOfficeClass.lock())) {
shared_ptr< LibreOfficeKitClass > m_pOfficeClass; m_pOfficeClass.reset(new LibreOfficeKitClass);
oslThread maThread; m_pOfficeClass->nSize = sizeof(LibreOfficeKitClass);
LibreOfficeKitCallback mpCallback;
void *mpCallbackData; m_pOfficeClass->destroy = lo_destroy;
m_pOfficeClass->documentLoad = lo_documentLoad;
LibLibreOffice_Impl() m_pOfficeClass->getError = lo_getError;
: maThread(0) m_pOfficeClass->documentLoadWithOptions = lo_documentLoadWithOptions;
, mpCallback(nullptr) m_pOfficeClass->registerCallback = lo_registerCallback;
, mpCallbackData(nullptr) m_pOfficeClass->getFilterTypes = lo_getFilterTypes;
{
if(!(m_pOfficeClass = gOfficeClass.lock())) { gOfficeClass = m_pOfficeClass;
m_pOfficeClass.reset(new LibreOfficeKitClass);
m_pOfficeClass->nSize = sizeof(LibreOfficeKitClass);
m_pOfficeClass->destroy = lo_destroy;
m_pOfficeClass->documentLoad = lo_documentLoad;
m_pOfficeClass->getError = lo_getError;
m_pOfficeClass->documentLoadWithOptions = lo_documentLoadWithOptions;
m_pOfficeClass->registerCallback = lo_registerCallback;
m_pOfficeClass->getFilterTypes = lo_getFilterTypes;
gOfficeClass = m_pOfficeClass;
}
pClass = m_pOfficeClass.get();
} }
};
pClass = m_pOfficeClass.get();
}
namespace namespace
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment