summaryrefslogtreecommitdiffstats
path: root/framework/inc/dispatch/dispatchprovider.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'framework/inc/dispatch/dispatchprovider.hxx')
-rw-r--r--framework/inc/dispatch/dispatchprovider.hxx10
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 ,