diff options
Diffstat (limited to 'patches/vba/vba-servicemacros-rework.diff')
-rw-r--r-- | patches/vba/vba-servicemacros-rework.diff | 251 |
1 files changed, 0 insertions, 251 deletions
diff --git a/patches/vba/vba-servicemacros-rework.diff b/patches/vba/vba-servicemacros-rework.diff deleted file mode 100644 index 7059edbb1..000000000 --- a/patches/vba/vba-servicemacros-rework.diff +++ /dev/null @@ -1,251 +0,0 @@ -diff --git comphelper/inc/comphelper/servicedecl.hxx comphelper/inc/comphelper/servicedecl.hxx -index bbfb1c8..bd114be 100644 ---- comphelper/inc/comphelper/servicedecl.hxx -+++ comphelper/inc/comphelper/servicedecl.hxx -@@ -169,21 +169,20 @@ template <bool> struct with_args; - - /// @internal - namespace detail { -- - template <typename ImplT> --class ServiceImpl -- : public ::cppu::ImplInheritanceHelper1<ImplT, css::lang::XServiceInfo>, -+class OwnServiceImpl -+ : public ImplT, - private ::boost::noncopyable - { -- typedef ::cppu::ImplInheritanceHelper1<ImplT,css::lang::XServiceInfo> BaseT; -+ typedef ImplT BaseT; - - public: -- ServiceImpl( -+ OwnServiceImpl( - ServiceDecl const& rServiceDecl, - css::uno::Sequence<css::uno::Any> const& args, - css::uno::Reference<css::uno::XComponentContext> const& xContext ) -- : BaseT(args, xContext), m_rServiceDecl(rServiceDecl) {} -- ServiceImpl( -+ :BaseT(args, xContext), m_rServiceDecl(rServiceDecl) {} -+ OwnServiceImpl( - ServiceDecl const& rServiceDecl, - css::uno::Reference<css::uno::XComponentContext> const& xContext ) - : BaseT(xContext), m_rServiceDecl(rServiceDecl) {} -@@ -206,6 +205,22 @@ private: - ServiceDecl const& m_rServiceDecl; - }; - -+template <typename ImplT> -+class ServiceImpl : public OwnServiceImpl< ::cppu::ImplInheritanceHelper1<ImplT,css::lang::XServiceInfo> > -+{ -+typedef OwnServiceImpl< ::cppu::ImplInheritanceHelper1<ImplT,css::lang::XServiceInfo> > ServiceImpl_BASE; -+public: -+ ServiceImpl( -+ ServiceDecl const& rServiceDecl, -+ css::uno::Sequence<css::uno::Any> const& args, -+ css::uno::Reference<css::uno::XComponentContext> const& xContext ) -+ : ServiceImpl_BASE(rServiceDecl, args, xContext) {} -+ ServiceImpl( -+ ServiceDecl const& rServiceDecl, -+ css::uno::Reference<css::uno::XComponentContext> const& xContext ) -+ : ServiceImpl_BASE(rServiceDecl, xContext) {} -+}; -+ - template <typename ServiceImplT> - struct PostProcessDefault { - css::uno::Reference<css::uno::XInterface> -@@ -230,7 +245,7 @@ struct CreateFunc<ImplT, PostProcessFuncT, with_args<false> > { - const& xContext ) const - { - return m_postProcessFunc( -- new ServiceImpl<ImplT>( rServiceDecl, xContext ) ); -+ new ImplT( rServiceDecl, xContext ) ); - } - }; - -@@ -247,7 +262,7 @@ struct CreateFunc<ImplT, PostProcessFuncT, with_args<true> > { - const& xContext ) const - { - return m_postProcessFunc( -- new ServiceImpl<ImplT>( rServiceDecl, args, xContext ) ); -+ new ImplT( rServiceDecl, args, xContext ) ); - } - }; - -@@ -261,18 +276,17 @@ struct CreateFunc<ImplT, PostProcessFuncT, with_args<true> > { - or just (uno::Reference<uno::XComponentContext>) - */ - template <typename ImplT_, typename WithArgsT = with_args<false> > --struct class_ { -+struct serviceimpl_base { - typedef ImplT_ ImplT; -- typedef detail::ServiceImpl<ImplT_> ServiceImplT; - - detail::CreateFuncF const m_createFunc; - -- typedef detail::PostProcessDefault<ServiceImplT> PostProcessDefaultT; -+ typedef detail::PostProcessDefault<ImplT> PostProcessDefaultT; - - /** Default ctor. Implementation class without args, expecting - component context as single argument. - */ -- class_() : m_createFunc( -+ serviceimpl_base() : m_createFunc( - detail::CreateFunc<ImplT, PostProcessDefaultT, WithArgsT>( - PostProcessDefaultT() ) ) {} - -@@ -284,11 +298,29 @@ struct class_ { - uno::Reference<uno::XInterface> - */ - template <typename PostProcessFuncT> -- explicit class_( PostProcessFuncT const& postProcessFunc ) -+ explicit serviceimpl_base( PostProcessFuncT const& postProcessFunc ) - : m_createFunc( detail::CreateFunc<ImplT, PostProcessFuncT, WithArgsT>( - postProcessFunc ) ) {} - }; - -+template <typename ImplT_, typename WithArgsT = with_args<false> > -+struct class_ : public serviceimpl_base< detail::ServiceImpl<ImplT_>, WithArgsT > -+{ -+ typedef serviceimpl_base< detail::ServiceImpl<ImplT_>, WithArgsT > baseT; -+ /** Default ctor. Implementation class without args, expecting -+ component context as single argument. -+ */ -+ class_() : baseT() {} -+ template <typename PostProcessFuncT> -+ /** Ctor to pass a post processing function/functor. -+ -+ @tpl PostProcessDefaultT let your compiler deduce this -+ @param postProcessFunc function/functor that gets the yet unacquired -+ ImplT_ pointer returning a -+ uno::Reference<uno::XInterface> -+ */ -+ explicit class_( PostProcessFuncT const& postProcessFunc ) : baseT( postProcessFunc ) {} -+}; - - // - // component_... helpers with arbitrary service declarations: -diff --git sc/source/ui/vba/helperdecl.hxx sc/source/ui/vba/helperdecl.hxx -index 1581e66..c3c1007 100644 ---- sc/source/ui/vba/helperdecl.hxx -+++ sc/source/ui/vba/helperdecl.hxx -@@ -32,107 +32,25 @@ - - namespace comphelper { - namespace service_decl { -- --namespace detail { --namespace css = ::com::sun::star; --template <typename ImplT> --class OwnServiceImpl -- : public ImplT, -- private ::boost::noncopyable --{ -- typedef ImplT BaseT; -- --public: -- OwnServiceImpl( -- ServiceDecl const& rServiceDecl, -- css::uno::Sequence<css::uno::Any> const& args, -- css::uno::Reference<css::uno::XComponentContext> const& xContext ) -- :BaseT(args, xContext), m_rServiceDecl(rServiceDecl) {} -- OwnServiceImpl( -- ServiceDecl const& rServiceDecl, -- css::uno::Reference<css::uno::XComponentContext> const& xContext ) -- : BaseT(xContext), m_rServiceDecl(rServiceDecl) {} -- -- // XServiceInfo -- virtual ::rtl::OUString SAL_CALL getImplementationName() -- throw (css::uno::RuntimeException) { -- return m_rServiceDecl.getImplementationName(); -- } -- virtual sal_Bool SAL_CALL supportsService( ::rtl::OUString const& name ) -- throw (css::uno::RuntimeException) { -- return m_rServiceDecl.supportsService(name); -- } -- virtual css::uno::Sequence< ::rtl::OUString> -- SAL_CALL getSupportedServiceNames() throw (css::uno::RuntimeException) { -- return m_rServiceDecl.getSupportedServiceNames(); -- } -- --private: -- ServiceDecl const& m_rServiceDecl; --}; -- -- --template <typename ImplT, typename WithArgsT> --struct OwnCreateFunc; -- --template <typename ImplT> --struct OwnCreateFunc<ImplT, with_args<false> > { -- explicit OwnCreateFunc( ) -- {} -- -- css::uno::Reference<css::uno::XInterface> -- operator()( ServiceDecl const& rServiceDecl, -- css::uno::Sequence<css::uno::Any> const&, -- css::uno::Reference<css::uno::XComponentContext> -- const& xContext ) const -- { -- return css::uno::Reference< ooo::vba::XHelperInterface >(new OwnServiceImpl<ImplT>( rServiceDecl, xContext )); -- } --}; -- --template <typename ImplT> --struct OwnCreateFunc<ImplT, with_args<true> > { -- explicit OwnCreateFunc( ) -- {} -- -- css::uno::Reference<css::uno::XInterface> -- operator()( ServiceDecl const& rServiceDecl, -- css::uno::Sequence<css::uno::Any> const& args, -- css::uno::Reference<css::uno::XComponentContext> -- const& xContext ) const -- { -- css::uno::Reference< ooo::vba::XHelperInterface > xHelp( -- new OwnServiceImpl<ImplT>( rServiceDecl, args, xContext ) ); -- css::uno::Reference< css::uno::XInterface > xIf( xHelp, css::uno::UNO_QUERY ) ; -- return xIf; -- } --}; -- --} // namespace detail -- --/** Defines a service implementation class. -- -- @tpl ImplT_ service implementation class -- @WithArgsT whether the implementation class ctor expects arguments -- (uno::Sequence<uno::Any>, uno::Reference<uno::XComponentContext>) -- or just (uno::Reference<uno::XComponentContext>) --*/ - template <typename ImplT_, typename WithArgsT = with_args<false> > --struct vba_service_class_ { -- typedef ImplT_ ImplT; -- typedef detail::OwnServiceImpl<ImplT_ > ServiceImplT; -- -- detail::CreateFuncF const m_createFunc; -- -+struct vba_service_class_ : public serviceimpl_base< detail::OwnServiceImpl<ImplT_>, WithArgsT > -+{ -+ typedef serviceimpl_base< detail::OwnServiceImpl<ImplT_>, WithArgsT > baseT; - /** Default ctor. Implementation class without args, expecting - component context as single argument. - */ -- vba_service_class_() : m_createFunc( -- detail::OwnCreateFunc<ImplT, WithArgsT>() ) {} -- -+ vba_service_class_() : baseT() {} -+ template <typename PostProcessFuncT> -+ /** Ctor to pass a post processing function/functor. -+ -+ @tpl PostProcessDefaultT let your compiler deduce this -+ @param postProcessFunc function/functor that gets the yet unacquired -+ ImplT_ pointer returning a -+ uno::Reference<uno::XInterface> -+ */ -+ explicit vba_service_class_( PostProcessFuncT const& postProcessFunc ) : baseT( postProcessFunc ) {} - }; - -- - } // namespace service_decl - } // namespace comphelper - |