summaryrefslogtreecommitdiff
path: root/svx/source/sdr/primitive2d/primitivefactory2d.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/sdr/primitive2d/primitivefactory2d.cxx')
-rw-r--r--svx/source/sdr/primitive2d/primitivefactory2d.cxx71
1 files changed, 24 insertions, 47 deletions
diff --git a/svx/source/sdr/primitive2d/primitivefactory2d.cxx b/svx/source/sdr/primitive2d/primitivefactory2d.cxx
index e549d79b3565..d04e46d9a5a5 100644
--- a/svx/source/sdr/primitive2d/primitivefactory2d.cxx
+++ b/svx/source/sdr/primitive2d/primitivefactory2d.cxx
@@ -17,43 +17,29 @@
* 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< 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) {}
+
+ // Methods from XPrimitiveFactory2D
+ virtual uno::Sequence< uno::Reference< graphic::XPrimitive2D > > SAL_CALL createPrimitivesFromXShape( const uno::Reference< drawing::XShape >& xShape, const uno::Sequence< beans::PropertyValue >& aParms ) throw (uno::RuntimeException);
+ virtual uno::Sequence< uno::Reference< graphic::XPrimitive2D > > SAL_CALL createPrimitivesFromXDrawPage( const uno::Reference< drawing::XDrawPage >& xDrawPage, const uno::Sequence< beans::PropertyValue >& aParms ) throw (uno::RuntimeException);
+};
Primitive2DSequence SAL_CALL PrimitiveFactory2D::createPrimitivesFromXShape(
const uno::Reference< drawing::XShape >& xShape,
@@ -96,27 +82,18 @@ namespace drawinglayer
return aRetval;
}
- OUString PrimitiveFactory2D::getImplementationName_Static()
- {
- static OUString aRetval("com.sun.star.comp.graphic.PrimitiveFactory2D");
- return aRetval;
- }
-
- uno::Sequence< OUString > PrimitiveFactory2D::getSupportedServiceNames_Static()
- {
- static uno::Sequence< OUString > aSeq;
- osl::Mutex aMutex;
- osl::MutexGuard aGuard( aMutex );
+}
- 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: */