diff options
-rw-r--r-- | chart2/CppunitTest_chart2_export.mk | 1 | ||||
-rw-r--r-- | chart2/CppunitTest_chart2_import.mk | 1 | ||||
-rw-r--r-- | include/svx/xmlgrhlp.hxx | 43 | ||||
-rw-r--r-- | sc/CppunitTest_sc_chart_regression_test.mk | 1 | ||||
-rw-r--r-- | sc/CppunitTest_sc_filters_test.mk | 1 | ||||
-rw-r--r-- | sc/CppunitTest_sc_macros_test.mk | 1 | ||||
-rw-r--r-- | sc/CppunitTest_sc_opencl_test.mk | 1 | ||||
-rw-r--r-- | sc/CppunitTest_sc_rangelst_test.mk | 1 | ||||
-rw-r--r-- | svx/source/unodraw/unoctabl.cxx | 17 | ||||
-rw-r--r-- | svx/source/xml/xmlgrhlp.cxx | 108 | ||||
-rw-r--r-- | svx/util/svx.component | 8 | ||||
-rw-r--r-- | svx/util/svxcore.component | 10 | ||||
-rw-r--r-- | sw/CppunitTest_sw_ooxmlexport.mk | 1 | ||||
-rw-r--r-- | sw/CppunitTest_sw_ooxmlimport.mk | 1 |
14 files changed, 87 insertions, 108 deletions
diff --git a/chart2/CppunitTest_chart2_export.mk b/chart2/CppunitTest_chart2_export.mk index 41b751493d5a..ab37efb5a2af 100644 --- a/chart2/CppunitTest_chart2_export.mk +++ b/chart2/CppunitTest_chart2_export.mk @@ -104,6 +104,7 @@ $(eval $(call gb_CppunitTest_use_components,chart2_export,\ svl/util/svl \ svtools/util/svt \ svx/util/svx \ + svx/util/svxcore \ toolkit/util/tk \ ucb/source/core/ucb1 \ ucb/source/ucp/file/ucpfile1 \ diff --git a/chart2/CppunitTest_chart2_import.mk b/chart2/CppunitTest_chart2_import.mk index 2ca91f74395f..0aec8bd43607 100644 --- a/chart2/CppunitTest_chart2_import.mk +++ b/chart2/CppunitTest_chart2_import.mk @@ -110,6 +110,7 @@ $(eval $(call gb_CppunitTest_use_components,chart2_import,\ svl/util/svl \ svtools/util/svt \ svx/util/svx \ + svx/util/svxcore \ toolkit/util/tk \ ucb/source/core/ucb1 \ ucb/source/ucp/file/ucpfile1 \ diff --git a/include/svx/xmlgrhlp.hxx b/include/svx/xmlgrhlp.hxx index 7e399b0f47ef..3f653ca42663 100644 --- a/include/svx/xmlgrhlp.hxx +++ b/include/svx/xmlgrhlp.hxx @@ -31,19 +31,12 @@ #include <com/sun/star/embed/XStorage.hpp> #include <svx/svxdllapi.h> -// ---------------------- -// - SvXMLGraphicHelper - -// ---------------------- - enum SvXMLGraphicHelperMode { GRAPHICHELPER_MODE_READ = 0, GRAPHICHELPER_MODE_WRITE = 1 }; -// ---------------------- -// - SvXMLGraphicHelper - -// ---------------------- struct SvxGraphicHelperStream_Impl { ::com::sun::star::uno::Reference < ::com::sun::star::embed::XStorage > xStorage; @@ -119,42 +112,6 @@ public: virtual OUString SAL_CALL resolveOutputStream( const ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >& rxBinaryStream ) throw (::com::sun::star::uno::RuntimeException); }; - -// for instantiation via service manager -namespace svx -{ -/** Create this with createInstanceWithArguments. service name - "com.sun.star.comp.Svx.GraphicImportHelper", one argument which is the - XStorage. Without arguments no helper class is created. With an empty - argument the helper class is created and initialized like in the CTOR to - SvXMLGraphicHelper that only gets the create mode. - - You should call dispose after you no longer need this component. - - uses eCreateMode == GRAPHICHELPER_MODE_READ, bDirect == sal_True in - SvXMLGraphicHelper - */ -SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicImportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception ); -SVX_DLLPUBLIC ::com::sun::star::uno::Sequence< OUString > SAL_CALL SvXMLGraphicImportHelper_getSupportedServiceNames() throw(); -SVX_DLLPUBLIC OUString SAL_CALL SvXMLGraphicImportHelper_getImplementationName() throw(); - -/** Create this with createInstanceWithArguments. service name - "com.sun.star.comp.Svx.GraphicExportHelper", one argument which is the - XStorage. Without arguments no helper class is created. With an empty - argument the helper class is created and initialized like in the CTOR to - SvXMLGraphicHelper that only gets the create mode - - To write the Pictures stream, you have to call dispose at this component. - Make sure you call dipose before you commit the parent storage. - - uses eCreateMode == GRAPHICHELPER_MODE_WRITE, bDirect == sal_True in - SvXMLGraphicHelper - */ -SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicExportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception ); -SVX_DLLPUBLIC ::com::sun::star::uno::Sequence< OUString > SAL_CALL SvXMLGraphicExportHelper_getSupportedServiceNames() throw(); -SVX_DLLPUBLIC OUString SAL_CALL SvXMLGraphicExportHelper_getImplementationName() throw(); -} - #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/CppunitTest_sc_chart_regression_test.mk b/sc/CppunitTest_sc_chart_regression_test.mk index 7564c6df0428..b44caeb43d4e 100644 --- a/sc/CppunitTest_sc_chart_regression_test.mk +++ b/sc/CppunitTest_sc_chart_regression_test.mk @@ -96,6 +96,7 @@ $(eval $(call gb_CppunitTest_use_components,sc_chart_regression_test,\ svl/source/fsstor/fsstorage \ svl/util/svl \ svx/util/svx \ + svx/util/svxcore \ toolkit/util/tk \ ucb/source/core/ucb1 \ ucb/source/ucp/file/ucpfile1 \ diff --git a/sc/CppunitTest_sc_filters_test.mk b/sc/CppunitTest_sc_filters_test.mk index 86a13f8faf1c..92f79829cbcb 100644 --- a/sc/CppunitTest_sc_filters_test.mk +++ b/sc/CppunitTest_sc_filters_test.mk @@ -100,6 +100,7 @@ $(eval $(call gb_CppunitTest_use_components,sc_filters_test,\ sot/util/sot \ svl/util/svl \ svx/util/svx \ + svx/util/svxcore \ svtools/util/svt \ toolkit/util/tk \ ucb/source/core/ucb1 \ diff --git a/sc/CppunitTest_sc_macros_test.mk b/sc/CppunitTest_sc_macros_test.mk index 19388be06fa8..a7a2f9cd1361 100644 --- a/sc/CppunitTest_sc_macros_test.mk +++ b/sc/CppunitTest_sc_macros_test.mk @@ -97,6 +97,7 @@ $(eval $(call gb_CppunitTest_use_components,sc_macros_test,\ svl/source/fsstor/fsstorage \ svtools/util/svt \ svx/util/svx \ + svx/util/svxcore \ toolkit/util/tk \ ucb/source/core/ucb1 \ ucb/source/ucp/file/ucpfile1 \ diff --git a/sc/CppunitTest_sc_opencl_test.mk b/sc/CppunitTest_sc_opencl_test.mk index 40e9c1a2c1a2..b17086563d4e 100644 --- a/sc/CppunitTest_sc_opencl_test.mk +++ b/sc/CppunitTest_sc_opencl_test.mk @@ -96,6 +96,7 @@ $(eval $(call gb_CppunitTest_use_components,sc_opencl_test,\ sot/util/sot \ svl/util/svl \ svx/util/svx \ + svx/util/svxcore \ svtools/util/svt \ toolkit/util/tk \ ucb/source/core/ucb1 \ diff --git a/sc/CppunitTest_sc_rangelst_test.mk b/sc/CppunitTest_sc_rangelst_test.mk index 847f5eb84278..fb7d600d2556 100644 --- a/sc/CppunitTest_sc_rangelst_test.mk +++ b/sc/CppunitTest_sc_rangelst_test.mk @@ -110,6 +110,7 @@ $(eval $(call gb_CppunitTest_use_components,sc_rangelst_test,\ svl/source/fsstor/fsstorage \ svl/util/svl \ svx/util/svx \ + svx/util/svxcore \ toolkit/util/tk \ ucb/source/core/ucb1 \ ucb/source/ucp/file/ucpfile1 \ diff --git a/svx/source/unodraw/unoctabl.cxx b/svx/source/unodraw/unoctabl.cxx index 085b36f87060..1c4d5cdefc03 100644 --- a/svx/source/unodraw/unoctabl.cxx +++ b/svx/source/unodraw/unoctabl.cxx @@ -27,7 +27,6 @@ #include <svx/xtable.hxx> #include "svx/unoshcol.hxx" #include "recoveryui.hxx" -#include "svx/xmlgrhlp.hxx" #include "tbunocontroller.hxx" #include "tbunosearchcontrollers.hxx" @@ -348,22 +347,6 @@ SAL_DLLPUBLIC_EXPORT void * SAL_CALL svx_component_getFactory ( drawinglayer::primitive2d::XPrimitiveFactory2DProvider_createInstance, drawinglayer::primitive2d::PrimitiveFactory2D::getSupportedServiceNames_Static() ); } - else if( ::svx::SvXMLGraphicImportHelper_getImplementationName().equalsAscii( pImplName ) ) - { - xFactory = ::cppu::createSingleFactory( - reinterpret_cast< lang::XMultiServiceFactory * >( pServiceManager ), - ::svx::SvXMLGraphicImportHelper_getImplementationName(), - ::svx::SvXMLGraphicImportHelper_createInstance, - ::svx::SvXMLGraphicImportHelper_getSupportedServiceNames() ); - } - else if( ::svx::SvXMLGraphicExportHelper_getImplementationName().equalsAscii( pImplName ) ) - { - xFactory = ::cppu::createSingleFactory( - reinterpret_cast< lang::XMultiServiceFactory * >( pServiceManager ), - ::svx::SvXMLGraphicExportHelper_getImplementationName(), - ::svx::SvXMLGraphicExportHelper_createInstance, - ::svx::SvXMLGraphicExportHelper_getSupportedServiceNames() ); - } if( xFactory.is()) { diff --git a/svx/source/xml/xmlgrhlp.cxx b/svx/source/xml/xmlgrhlp.cxx index 0509b7c8309e..913ca6cf1d21 100644 --- a/svx/source/xml/xmlgrhlp.cxx +++ b/svx/source/xml/xmlgrhlp.cxx @@ -54,6 +54,8 @@ using ::com::sun::star::lang::XMultiServiceFactory; #define XML_GRAPHICSTORAGE_NAME "Pictures" #define XML_GRAPHICOBJECT_URL_BASE "vnd.sun.star.GraphicObject:" +namespace { + const MetaCommentAction* ImplCheckForEPS( GDIMetaFile& rMtf ) { const MetaCommentAction* pComment = NULL; @@ -346,6 +348,8 @@ const GraphicObject& SvXMLGraphicOutputStream::GetGraphicObject() return maGrfObj; } +} + SvXMLGraphicHelper::SvXMLGraphicHelper( SvXMLGraphicHelperMode eCreateMode ) : ::cppu::WeakComponentImplHelper2< ::com::sun::star::document::XGraphicObjectResolver, ::com::sun::star::document::XBinaryStreamResolver >( maMutex ) @@ -885,8 +889,7 @@ OUString SAL_CALL SvXMLGraphicHelper::resolveOutputStream( const Reference< XOut } // for instantiation via service manager -namespace svx -{ +namespace { namespace impl { @@ -1014,8 +1017,8 @@ OUString SAL_CALL SvXMLGraphicImportExportHelper::getImplementationName() throw (uno::RuntimeException) { if( m_eGraphicHelperMode == GRAPHICHELPER_MODE_READ ) - return SvXMLGraphicImportHelper_getImplementationName(); - return SvXMLGraphicExportHelper_getImplementationName(); + return OUString("com.sun.star.comp.Svx.GraphicImportHelper"); + return OUString("com.sun.star.comp.Svx.GraphicExportHelper"); } ::sal_Bool SAL_CALL SvXMLGraphicImportExportHelper::supportsService( const OUString& ServiceName ) @@ -1027,25 +1030,6 @@ OUString SAL_CALL SvXMLGraphicImportExportHelper::getImplementationName() Sequence< OUString > SAL_CALL SvXMLGraphicImportExportHelper::getSupportedServiceNames() throw (uno::RuntimeException) { - if( m_eGraphicHelperMode == GRAPHICHELPER_MODE_READ ) - return SvXMLGraphicImportHelper_getSupportedServiceNames(); - return SvXMLGraphicExportHelper_getSupportedServiceNames(); -} - -// import -Reference< XInterface > SAL_CALL SvXMLGraphicImportHelper_createInstance(const Reference< XMultiServiceFactory > & /* rSMgr */ ) - throw( Exception ) -{ - return static_cast< XWeak* >( new SvXMLGraphicImportExportHelper( GRAPHICHELPER_MODE_READ )); -} -OUString SAL_CALL SvXMLGraphicImportHelper_getImplementationName() - throw() -{ - return OUString( "com.sun.star.comp.Svx.GraphicImportHelper" ); -} -Sequence< OUString > SAL_CALL SvXMLGraphicImportHelper_getSupportedServiceNames() - throw() -{ // XGraphicObjectResolver and XBinaryStreamResolver are not part of any service Sequence< OUString > aSupportedServiceNames( 2 ); aSupportedServiceNames[0] = "com.sun.star.document.GraphicObjectResolver"; @@ -1053,27 +1037,71 @@ Sequence< OUString > SAL_CALL SvXMLGraphicImportHelper_getSupportedServiceNames( return aSupportedServiceNames; } -// export -Reference< XInterface > SAL_CALL SvXMLGraphicExportHelper_createInstance(const Reference< XMultiServiceFactory > & /* rSMgr */ ) - throw( Exception ) -{ - return static_cast< XWeak* >( new SvXMLGraphicImportExportHelper( GRAPHICHELPER_MODE_WRITE )); } -OUString SAL_CALL SvXMLGraphicExportHelper_getImplementationName() - throw() + +/** Create this with createInstanceWithArguments. service name + "com.sun.star.comp.Svx.GraphicImportHelper", one argument which is the + XStorage. Without arguments no helper class is created. With an empty + argument the helper class is created and initialized like in the CTOR to + SvXMLGraphicHelper that only gets the create mode. + + You should call dispose after you no longer need this component. + + uses eCreateMode == GRAPHICHELPER_MODE_READ, bDirect == sal_True in + SvXMLGraphicHelper + */ +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL +com_sun_star_comp_Svx_GraphicImportHelper_implementation_getFactory( + SAL_UNUSED_PARAMETER css::uno::XComponentContext *, + uno_Sequence * arguments) { - return OUString( "com.sun.star.comp.Svx.GraphicExportHelper" ); + assert(arguments != 0); + css::uno::Reference<css::uno::XInterface> x( + static_cast<cppu::OWeakObject *>(new SvXMLGraphicImportExportHelper( + GRAPHICHELPER_MODE_READ))); + x->acquire(); + css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY); + if (xx.is()) + { + css::uno::Sequence<css::uno::Any> aArgs( + reinterpret_cast<css::uno::Any *>(arguments->elements), + arguments->nElements); + xx->initialize(aArgs); + } + return x.get(); } -Sequence< OUString > SAL_CALL SvXMLGraphicExportHelper_getSupportedServiceNames() - throw() + +/** Create this with createInstanceWithArguments. service name + "com.sun.star.comp.Svx.GraphicExportHelper", one argument which is the + XStorage. Without arguments no helper class is created. With an empty + argument the helper class is created and initialized like in the CTOR to + SvXMLGraphicHelper that only gets the create mode + + To write the Pictures stream, you have to call dispose at this component. + Make sure you call dipose before you commit the parent storage. + + uses eCreateMode == GRAPHICHELPER_MODE_WRITE, bDirect == sal_True in + SvXMLGraphicHelper + */ +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL +com_sun_star_comp_Svx_GraphicExportHelper_implementation_getFactory( + SAL_UNUSED_PARAMETER css::uno::XComponentContext *, + uno_Sequence * arguments) { - // XGraphicObjectResolver and XBinaryStreamResolver are not part of any service - Sequence< OUString > aSupportedServiceNames( 2 ); - aSupportedServiceNames[0] = "com.sun.star.document.GraphicObjectResolver"; - aSupportedServiceNames[1] = "com.sun.star.document.BinaryStreamResolver"; - return aSupportedServiceNames; + assert(arguments != 0); + css::uno::Reference<css::uno::XInterface> x( + static_cast<cppu::OWeakObject *>(new SvXMLGraphicImportExportHelper( + GRAPHICHELPER_MODE_WRITE ))); + x->acquire(); + css::uno::Reference< css::lang::XInitialization > xx(x, css::uno::UNO_QUERY); + if (xx.is()) + { + css::uno::Sequence<css::uno::Any> aArgs( + reinterpret_cast<css::uno::Any *>(arguments->elements), + arguments->nElements); + xx->initialize(aArgs); + } + return x.get(); } -} // namespace svx - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/util/svx.component b/svx/util/svx.component index f087dcb833df..b8f043c8631c 100644 --- a/svx/util/svx.component +++ b/svx/util/svx.component @@ -22,14 +22,6 @@ <implementation name="com.sun.star.comp.Draw.GraphicExporter"> <service name="com.sun.star.drawing.GraphicExportFilter"/> </implementation> - <implementation name="com.sun.star.comp.Svx.GraphicExportHelper"> - <service name="com.sun.star.document.BinaryStreamResolver"/> - <service name="com.sun.star.document.GraphicObjectResolver"/> - </implementation> - <implementation name="com.sun.star.comp.Svx.GraphicImportHelper"> - <service name="com.sun.star.document.BinaryStreamResolver"/> - <service name="com.sun.star.document.GraphicObjectResolver"/> - </implementation> <implementation name="com.sun.star.comp.gallery.GalleryThemeProvider"> <service name="com.sun.star.gallery.GalleryThemeProvider"/> </implementation> diff --git a/svx/util/svxcore.component b/svx/util/svxcore.component index 3a9d43c229f9..8d4e1498fef0 100644 --- a/svx/util/svxcore.component +++ b/svx/util/svxcore.component @@ -36,4 +36,14 @@ <implementation name="com.sun.star.comp.svx.FontworkCharacterSpacingController"> <service name="com.sun.star.frame.ToolbarController"/> </implementation> + <implementation name="com.sun.star.comp.Svx.GraphicExportHelper" + constructor="com_sun_star_comp_Svx_GraphicExportHelper_implementation_getFactory"> + <service name="com.sun.star.document.BinaryStreamResolver"/> + <service name="com.sun.star.document.GraphicObjectResolver"/> + </implementation> + <implementation name="com.sun.star.comp.Svx.GraphicImportHelper" + constructor="com_sun_star_comp_Svx_GraphicImportHelper_implementation_getFactory"> + <service name="com.sun.star.document.BinaryStreamResolver"/> + <service name="com.sun.star.document.GraphicObjectResolver"/> + </implementation> </component> diff --git a/sw/CppunitTest_sw_ooxmlexport.mk b/sw/CppunitTest_sw_ooxmlexport.mk index eb3acbab38b3..4ebff325d6a2 100644 --- a/sw/CppunitTest_sw_ooxmlexport.mk +++ b/sw/CppunitTest_sw_ooxmlexport.mk @@ -71,6 +71,7 @@ $(eval $(call gb_CppunitTest_use_components,sw_ooxmlexport,\ svl/source/fsstor/fsstorage \ svtools/util/svt \ svx/util/svx \ + svx/util/svxcore \ toolkit/util/tk \ ucb/source/core/ucb1 \ ucb/source/ucp/file/ucpfile1 \ diff --git a/sw/CppunitTest_sw_ooxmlimport.mk b/sw/CppunitTest_sw_ooxmlimport.mk index 2c383e820f74..d72f93e930e5 100644 --- a/sw/CppunitTest_sw_ooxmlimport.mk +++ b/sw/CppunitTest_sw_ooxmlimport.mk @@ -72,6 +72,7 @@ $(eval $(call gb_CppunitTest_use_components,sw_ooxmlimport,\ svl/util/svl \ svtools/util/svt \ svx/util/svx \ + svx/util/svxcore \ toolkit/util/tk \ ucb/source/core/ucb1 \ ucb/source/ucp/file/ucpfile1 \ |