summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2013-12-30 10:31:10 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2013-12-31 13:25:47 +0100
commit32b64a0ff6fc54290ce5848c34e38ebb7eb5bd95 (patch)
tree6a499b93c4ca75d80f7f63092c08a0bbe8c4c759
parent6d564bac023ef13955ad0269c91370396cf33d3e (diff)
svx: Use constructor feature for PrimitiveFactory2D.
Change-Id: I331602561b865a6ceb6971d0990565e5a84bb0d5
-rw-r--r--include/svx/sdr/primitive2d/primitiveFactory2d.hxx76
-rw-r--r--svx/source/sdr/primitive2d/primitivefactory2d.cxx130
-rw-r--r--svx/source/unodraw/unoctabl.cxx9
-rw-r--r--svx/util/svx.component3
-rw-r--r--svx/util/svxcore.component4
5 files changed, 59 insertions, 163 deletions
diff --git a/include/svx/sdr/primitive2d/primitiveFactory2d.hxx b/include/svx/sdr/primitive2d/primitiveFactory2d.hxx
deleted file mode 100644
index dcbdc6b79589..000000000000
--- a/include/svx/sdr/primitive2d/primitiveFactory2d.hxx
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_SVX_SDR_PRIMITIVE2D_PRIMITIVEFACTORY2D_HXX
-#define INCLUDED_SVX_SDR_PRIMITIVE2D_PRIMITIVEFACTORY2D_HXX
-
-#include <com/sun/star/graphic/XPrimitiveFactory2D.hpp>
-#include <cppuhelper/compbase1.hxx>
-#include <comphelper/broadcasthelper.hxx>
-
-#include <svx/svxdllapi.h>
-
-//////////////////////////////////////////////////////////////////////////////
-// UNO API helper methods
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL XPrimitiveFactory2DProvider_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PrimitiveFactory2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- // typedef for PrimitiveFactory2DImplBase
- typedef cppu::WeakComponentImplHelper1< ::com::sun::star::graphic::XPrimitiveFactory2D > PrimitiveFactory2DImplBase;
-
- // base class for C++ implementation of com::sun::star::graphic::XPrimitiveFactory2D
- class PrimitiveFactory2D
- : protected comphelper::OBaseMutex,
- public PrimitiveFactory2DImplBase
- {
- private:
- protected:
- public:
- // constructor
- PrimitiveFactory2D();
-
- // Methods from XPrimitiveFactory2D
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XPrimitive2D > > SAL_CALL createPrimitivesFromXShape( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aParms ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XPrimitive2D > > SAL_CALL createPrimitivesFromXDrawPage( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xDrawPage, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aParms ) throw (::com::sun::star::uno::RuntimeException);
-
- // UNO API helpers
- SVX_DLLPUBLIC static OUString getImplementationName_Static();
- SVX_DLLPUBLIC static com::sun::star::uno::Sequence< OUString > getSupportedServiceNames_Static();
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_SVX_SDR_PRIMITIVE2D_PRIMITIVEFACTORY2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/sdr/primitive2d/primitivefactory2d.cxx b/svx/source/sdr/primitive2d/primitivefactory2d.cxx
index e549d79b3565..fad0b75504ab 100644
--- a/svx/source/sdr/primitive2d/primitivefactory2d.cxx
+++ b/svx/source/sdr/primitive2d/primitivefactory2d.cxx
@@ -17,106 +17,86 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <svx/sdr/primitive2d/primitiveFactory2d.hxx>
+#include <com/sun/star/graphic/XPrimitiveFactory2D.hpp>
#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdpage.hxx>
#include <svx/unoapi.hxx>
#include <svx/sdr/contact/viewcontact.hxx>
-//////////////////////////////////////////////////////////////////////////////
-
using namespace com::sun::star;
-//////////////////////////////////////////////////////////////////////////////
-// UNO API helper methods
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- uno::Reference< uno::XInterface > SAL_CALL XPrimitiveFactory2DProvider_createInstance(
- const uno::Reference< lang::XMultiServiceFactory >& /*rSMgr*/) throw( uno::Exception )
- {
- return *(new PrimitiveFactory2D());
- }
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
+namespace {
-//////////////////////////////////////////////////////////////////////////////
-// UNO API helper methods
+typedef cppu::WeakComponentImplHelper1< ::com::sun::star::graphic::XPrimitiveFactory2D > PrimitiveFactory2DImplBase;
-namespace drawinglayer
+// base class for C++ implementation of com::sun::star::graphic::XPrimitiveFactory2D
+class PrimitiveFactory2D
+ : protected comphelper::OBaseMutex,
+ public PrimitiveFactory2DImplBase
{
- namespace primitive2d
- {
- PrimitiveFactory2D::PrimitiveFactory2D()
- : PrimitiveFactory2DImplBase(m_aMutex)
- {
- }
+public:
+ PrimitiveFactory2D(): PrimitiveFactory2DImplBase(m_aMutex) {}
- Primitive2DSequence SAL_CALL PrimitiveFactory2D::createPrimitivesFromXShape(
- const uno::Reference< drawing::XShape >& xShape,
- const uno::Sequence< beans::PropertyValue >& /*aParms*/ ) throw (uno::RuntimeException)
- {
- Primitive2DSequence aRetval;
+ // Methods from XPrimitiveFactory2D
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XPrimitive2D > > SAL_CALL createPrimitivesFromXShape( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aParms ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XPrimitive2D > > SAL_CALL createPrimitivesFromXDrawPage( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xDrawPage, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aParms ) throw (::com::sun::star::uno::RuntimeException);
- if(xShape.is())
- {
- SdrObject* pSource = GetSdrObjectFromXShape(xShape);
+};
- if(pSource)
- {
- const sdr::contact::ViewContact& rSource(pSource->GetViewContact());
- aRetval = rSource.getViewIndependentPrimitive2DSequence();
- }
- }
+Primitive2DSequence SAL_CALL PrimitiveFactory2D::createPrimitivesFromXShape(
+ const uno::Reference< drawing::XShape >& xShape,
+ const uno::Sequence< beans::PropertyValue >& /*aParms*/ ) throw (uno::RuntimeException)
+{
+ Primitive2DSequence aRetval;
- return aRetval;
- }
+ if(xShape.is())
+ {
+ SdrObject* pSource = GetSdrObjectFromXShape(xShape);
- Primitive2DSequence SAL_CALL PrimitiveFactory2D::createPrimitivesFromXDrawPage(
- const uno::Reference< drawing::XDrawPage >& xDrawPage,
- const uno::Sequence< beans::PropertyValue >& /*aParms*/ ) throw (uno::RuntimeException)
+ if(pSource)
{
- Primitive2DSequence aRetval;
-
- if(xDrawPage.is())
- {
- SdrPage* pSource = GetSdrPageFromXDrawPage(xDrawPage);
+ const sdr::contact::ViewContact& rSource(pSource->GetViewContact());
+ aRetval = rSource.getViewIndependentPrimitive2DSequence();
+ }
+ }
- if(pSource)
- {
- const sdr::contact::ViewContact& rSource(pSource->GetViewContact());
+ return aRetval;
+}
- aRetval = rSource.getViewIndependentPrimitive2DSequence();
- }
- }
+Primitive2DSequence SAL_CALL PrimitiveFactory2D::createPrimitivesFromXDrawPage(
+ const uno::Reference< drawing::XDrawPage >& xDrawPage,
+ const uno::Sequence< beans::PropertyValue >& /*aParms*/ ) throw (uno::RuntimeException)
+{
+ Primitive2DSequence aRetval;
- return aRetval;
- }
+ if(xDrawPage.is())
+ {
+ SdrPage* pSource = GetSdrPageFromXDrawPage(xDrawPage);
- OUString PrimitiveFactory2D::getImplementationName_Static()
+ if(pSource)
{
- static OUString aRetval("com.sun.star.comp.graphic.PrimitiveFactory2D");
- return aRetval;
+ const sdr::contact::ViewContact& rSource(pSource->GetViewContact());
+
+ aRetval = rSource.getViewIndependentPrimitive2DSequence();
}
+ }
- uno::Sequence< OUString > PrimitiveFactory2D::getSupportedServiceNames_Static()
- {
- static uno::Sequence< OUString > aSeq;
- osl::Mutex aMutex;
- osl::MutexGuard aGuard( aMutex );
+ return aRetval;
+}
- if(!aSeq.getLength())
- {
- aSeq.realloc(1L);
- aSeq[0] = "com.sun.star.graphic.PrimitiveFactory2D";
- }
+}
- return aSeq;
- }
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
+com_sun_star_comp_graphic_PrimitiveFactory2D_implementation_getFactory(
+ SAL_UNUSED_PARAMETER css::uno::XComponentContext *,
+ uno_Sequence * arguments)
+{
+ assert(arguments != 0 && arguments->nElements == 0); (void) arguments;
+ css::uno::Reference<css::uno::XInterface> x(
+ static_cast<cppu::OWeakObject *>(new PrimitiveFactory2D));
+ x->acquire();
+ return x.get();
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/unodraw/unoctabl.cxx b/svx/source/unodraw/unoctabl.cxx
index 1c4d5cdefc03..56aee061476e 100644
--- a/svx/source/unodraw/unoctabl.cxx
+++ b/svx/source/unodraw/unoctabl.cxx
@@ -228,7 +228,6 @@ uno::Reference< uno::XInterface > SAL_CALL create_EnhancedCustomShapeEngine( con
#include "sal/types.h"
#include "osl/diagnose.h"
#include "cppuhelper/factory.hxx"
-#include <svx/sdr/primitive2d/primitiveFactory2d.hxx>
extern "C"
{
@@ -339,14 +338,6 @@ SAL_DLLPUBLIC_EXPORT void * SAL_CALL svx_component_getFactory (
::unogallery::GalleryThemeProvider_createInstance,
::unogallery::GalleryThemeProvider_getSupportedServiceNames() );
}
- else if( drawinglayer::primitive2d::PrimitiveFactory2D::getImplementationName_Static().equalsAscii( pImplName ) )
- {
- // XPrimitiveFactory2D
- xFactory = ::cppu::createSingleFactory( reinterpret_cast< lang::XMultiServiceFactory * >( pServiceManager ),
- drawinglayer::primitive2d::PrimitiveFactory2D::getImplementationName_Static(),
- drawinglayer::primitive2d::XPrimitiveFactory2DProvider_createInstance,
- drawinglayer::primitive2d::PrimitiveFactory2D::getSupportedServiceNames_Static() );
- }
if( xFactory.is())
{
diff --git a/svx/util/svx.component b/svx/util/svx.component
index b8f043c8631c..0e985a7c5f63 100644
--- a/svx/util/svx.component
+++ b/svx/util/svx.component
@@ -25,9 +25,6 @@
<implementation name="com.sun.star.comp.gallery.GalleryThemeProvider">
<service name="com.sun.star.gallery.GalleryThemeProvider"/>
</implementation>
- <implementation name="com.sun.star.comp.graphic.PrimitiveFactory2D">
- <service name="com.sun.star.graphic.PrimitiveFactory2D"/>
- </implementation>
<implementation name="com.sun.star.comp.svx.Impl.FindbarDispatcher">
<service name="com.sun.star.comp.svx.FindbarDispatcher"/>
<service name="com.sun.star.frame.ProtocolHandler"/>
diff --git a/svx/util/svxcore.component b/svx/util/svxcore.component
index 8d4e1498fef0..766482535b21 100644
--- a/svx/util/svxcore.component
+++ b/svx/util/svxcore.component
@@ -46,4 +46,8 @@
<service name="com.sun.star.document.BinaryStreamResolver"/>
<service name="com.sun.star.document.GraphicObjectResolver"/>
</implementation>
+ <implementation name="com.sun.star.comp.graphic.PrimitiveFactory2D"
+ constructor="com_sun_star_comp_graphic_PrimitiveFactory2D_implementation_getFactory">
+ <service name="com.sun.star.graphic.PrimitiveFactory2D"/>
+ </implementation>
</component>