From 32b64a0ff6fc54290ce5848c34e38ebb7eb5bd95 Mon Sep 17 00:00:00 2001 From: Matúš Kukan Date: Mon, 30 Dec 2013 10:31:10 +0100 Subject: svx: Use constructor feature for PrimitiveFactory2D. Change-Id: I331602561b865a6ceb6971d0990565e5a84bb0d5 --- svx/source/sdr/primitive2d/primitivefactory2d.cxx | 130 +++++++++------------- svx/source/unodraw/unoctabl.cxx | 9 -- svx/util/svx.component | 3 - svx/util/svxcore.component | 4 + 4 files changed, 59 insertions(+), 87 deletions(-) (limited to 'svx') 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 +#include #include #include #include #include #include -////////////////////////////////////////////////////////////////////////////// - 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 x( + static_cast(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 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 @@ - - - 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 @@ + + + -- cgit