kbrown / rpms / libreoffice

Forked from rpms/libreoffice 2 years ago
Clone

Blame SOURCES/0158-desktop-make-LibLibreOffice_Impl-visible-to-testcase.patch

f325b2
From 9b45ae57735ee9f7a64ceb7cac8b23e322a63bfc Mon Sep 17 00:00:00 2001
f325b2
From: Miklos Vajna <vmiklos@collabora.co.uk>
f325b2
Date: Fri, 25 Sep 2015 01:06:31 +0200
f325b2
Subject: [PATCH 158/398] desktop: make LibLibreOffice_Impl visible to
f325b2
 testcases
f325b2
f325b2
(cherry picked from commit 14a9a7d52074104afa24278a7a350f05d6df572a)
f325b2
f325b2
Change-Id: I345a6cab57cc594614e348700bb3c1c9a0673989
f325b2
---
f325b2
 desktop/inc/lib/init.hxx    | 12 +++++++++++
f325b2
 desktop/source/lib/init.cxx | 51 +++++++++++++++++----------------------------
f325b2
 2 files changed, 31 insertions(+), 32 deletions(-)
f325b2
f325b2
diff --git a/desktop/inc/lib/init.hxx b/desktop/inc/lib/init.hxx
f325b2
index b17f82566daf..81e7eb61664e 100644
f325b2
--- a/desktop/inc/lib/init.hxx
f325b2
+++ b/desktop/inc/lib/init.hxx
f325b2
@@ -11,6 +11,7 @@
f325b2
 #include <com/sun/star/lang/XComponent.hpp>
f325b2
 #include <boost/shared_ptr.hpp>
f325b2
 #include "../../source/inc/desktopdllapi.h"
f325b2
+#include <osl/thread.h>
f325b2
 
f325b2
 using namespace css;
f325b2
 using namespace boost;
f325b2
@@ -24,4 +25,15 @@ namespace desktop {
f325b2
         explicit LibLODocument_Impl(const uno::Reference <css::lang::XComponent> &xComponent);
f325b2
         ~LibLODocument_Impl();
f325b2
     };
f325b2
+
f325b2
+    struct DESKTOP_DLLPUBLIC LibLibreOffice_Impl : public _LibreOfficeKit
f325b2
+    {
f325b2
+        OUString maLastExceptionMsg;
f325b2
+        std::shared_ptr< LibreOfficeKitClass > m_pOfficeClass;
f325b2
+        oslThread maThread;
f325b2
+        LibreOfficeKitCallback mpCallback;
f325b2
+        void *mpCallbackData;
f325b2
+
f325b2
+        LibLibreOffice_Impl();
f325b2
+    };
f325b2
 }
f325b2
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
f325b2
index 57697fabce4c..8e4c0f3ab4e5 100644
f325b2
--- a/desktop/source/lib/init.cxx
f325b2
+++ b/desktop/source/lib/init.cxx
f325b2
@@ -86,10 +86,6 @@ using namespace vcl;
f325b2
 using namespace desktop;
f325b2
 using namespace utl;
f325b2
 
f325b2
-using namespace boost;
f325b2
-
f325b2
-struct LibLibreOffice_Impl;
f325b2
-
f325b2
 static LibLibreOffice_Impl *gImpl = NULL;
f325b2
 static weak_ptr< LibreOfficeKitClass > gOfficeClass;
f325b2
 static weak_ptr< LibreOfficeKitDocumentClass > gDocumentClass;
f325b2
@@ -322,36 +318,27 @@ static void                    lo_registerCallback (LibreOfficeKit* pThis,
f325b2
                                                     void* pData);
f325b2
 static char* lo_getFilterTypes(LibreOfficeKit* pThis);
f325b2
 
f325b2
-struct LibLibreOffice_Impl : public _LibreOfficeKit
f325b2
+LibLibreOffice_Impl::LibLibreOffice_Impl()
f325b2
+    : maThread(0)
f325b2
+    , mpCallback(nullptr)
f325b2
+    , mpCallbackData(nullptr)
f325b2
 {
f325b2
-    OUString maLastExceptionMsg;
f325b2
-    shared_ptr< LibreOfficeKitClass > m_pOfficeClass;
f325b2
-    oslThread maThread;
f325b2
-    LibreOfficeKitCallback mpCallback;
f325b2
-    void *mpCallbackData;
f325b2
-
f325b2
-    LibLibreOffice_Impl()
f325b2
-        : maThread(0)
f325b2
-        , mpCallback(nullptr)
f325b2
-        , mpCallbackData(nullptr)
f325b2
-    {
f325b2
-        if(!(m_pOfficeClass = gOfficeClass.lock())) {
f325b2
-            m_pOfficeClass.reset(new LibreOfficeKitClass);
f325b2
-            m_pOfficeClass->nSize = sizeof(LibreOfficeKitClass);
f325b2
-
f325b2
-            m_pOfficeClass->destroy = lo_destroy;
f325b2
-            m_pOfficeClass->documentLoad = lo_documentLoad;
f325b2
-            m_pOfficeClass->getError = lo_getError;
f325b2
-            m_pOfficeClass->documentLoadWithOptions = lo_documentLoadWithOptions;
f325b2
-            m_pOfficeClass->registerCallback = lo_registerCallback;
f325b2
-            m_pOfficeClass->getFilterTypes = lo_getFilterTypes;
f325b2
-
f325b2
-            gOfficeClass = m_pOfficeClass;
f325b2
-        }
f325b2
-
f325b2
-        pClass = m_pOfficeClass.get();
f325b2
+    if(!(m_pOfficeClass = gOfficeClass.lock())) {
f325b2
+        m_pOfficeClass.reset(new LibreOfficeKitClass);
f325b2
+        m_pOfficeClass->nSize = sizeof(LibreOfficeKitClass);
f325b2
+
f325b2
+        m_pOfficeClass->destroy = lo_destroy;
f325b2
+        m_pOfficeClass->documentLoad = lo_documentLoad;
f325b2
+        m_pOfficeClass->getError = lo_getError;
f325b2
+        m_pOfficeClass->documentLoadWithOptions = lo_documentLoadWithOptions;
f325b2
+        m_pOfficeClass->registerCallback = lo_registerCallback;
f325b2
+        m_pOfficeClass->getFilterTypes = lo_getFilterTypes;
f325b2
+
f325b2
+        gOfficeClass = m_pOfficeClass;
f325b2
     }
f325b2
-};
f325b2
+
f325b2
+    pClass = m_pOfficeClass.get();
f325b2
+}
f325b2
 
f325b2
 namespace
f325b2
 {
f325b2
-- 
f325b2
2.12.0
f325b2