diff options
Diffstat (limited to 'framework/inc/dispatch/dispatchprovider.hxx')
-rw-r--r-- | framework/inc/dispatch/dispatchprovider.hxx | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/framework/inc/dispatch/dispatchprovider.hxx b/framework/inc/dispatch/dispatchprovider.hxx index 804df44abc0c..456b1f0e2a59 100644 --- a/framework/inc/dispatch/dispatchprovider.hxx +++ b/framework/inc/dispatch/dispatchprovider.hxx @@ -74,18 +74,22 @@ class DispatchProvider final : public ::cppu::WeakImplHelper< css::frame::XDispa css::uno::WeakReference< css::frame::XFrame > m_xFrame; /// cache of some other dispatch provider which are registered inside configuration to handle special URL protocols HandlerCache m_aProtocolHandlerCache; + std::unordered_map<OUString, css::uno::Reference<css::frame::XDispatchProvider>> + m_aProtocolHandlers; /* interface */ public: - DispatchProvider( const css::uno::Reference< css::uno::XComponentContext >& xContext , - const css::uno::Reference< css::frame::XFrame >& xFrame ); + DispatchProvider( css::uno::Reference< css::uno::XComponentContext > xContext , + const css::uno::Reference< css::frame::XFrame >& xFrame ); virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch ( const css::util::URL& aURL , const OUString& sTargetFrameName , sal_Int32 nSearchFlags ) override; virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > SAL_CALL queryDispatches( const css::uno::Sequence< css::frame::DispatchDescriptor >& lDescriptions ) override; + void ClearProtocolHandlers() { m_aProtocolHandlers.clear(); } + /* helper */ private: // Let him protected! So nobody can use us as base ... @@ -95,7 +99,7 @@ class DispatchProvider final : public ::cppu::WeakImplHelper< css::frame::XDispa const css::uno::Reference< css::frame::XFrame >& xOwner , const OUString& sTarget = OUString() , sal_Int32 nSearchFlags = 0 ); - bool implts_isLoadableContent ( const css::util::URL& aURL ); + static bool implts_isLoadableContent ( const css::util::URL& aURL ); css::uno::Reference< css::frame::XDispatch > implts_queryDesktopDispatch ( const css::uno::Reference< css::frame::XFrame >& xDesktop , const css::util::URL& aURL , const OUString& sTargetFrameName , |