21#include <osl/mutex.hxx>
22#include <rtl/ustring.hxx>
25#include <com/sun/star/lang/XEventListener.hpp>
27#include <com/sun/star/script/provider/XScriptProvider.hpp>
28#include <com/sun/star/document/XScriptInvocationContext.hpp>
29#include <com/sun/star/uno/XComponentContext.hpp>
32#include <unordered_map>
38typedef std::map < css::uno::Reference< css::uno::XInterface >
39 , css::uno::Reference< css::script::provider::XScriptProvider >
42typedef std::unordered_map< OUString,
43 css::uno::Reference< css::script::provider::XScriptProvider > >
Msp_hash;
47class ActiveMSPList :
public ::cppu::WeakImplHelper< css::lang::XEventListener >
53 css::uno::XComponentContext > & xContext );
56 css::uno::Reference< css::script::provider::XScriptProvider >
59 css::uno::Reference< css::script::provider::XScriptProvider >
62 css::uno::Reference< css::script::provider::XScriptProvider >
68 virtual void SAL_CALL
disposing(
const css::lang::EventObject&
Source )
override;
71 void addActiveMSP(
const css::uno::Reference< css::uno::XInterface >& xComponent,
72 const css::uno::Reference< css::script::provider::XScriptProvider >& msp );
73 css::uno::Reference< css::script::provider::XScriptProvider >
75 css::uno::Reference< css::script::provider::XScriptProvider >
90 css::uno::Reference< css::uno::XComponentContext >
m_xContext;
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
virtual ~ActiveMSPList() override
css::uno::Reference< css::script::provider::XScriptProvider > getMSPFromStringContext(const OUString &context)
css::uno::Reference< css::script::provider::XScriptProvider > createNewMSP(const OUString &context)
ActiveMSPList(const css::uno::Reference< css::uno::XComponentContext > &xContext)
OUString bundledDirString
css::uno::Reference< css::script::provider::XScriptProvider > getMSPFromAnyContext(const css::uno::Any &context)
css::uno::Reference< css::script::provider::XScriptProvider > getMSPFromInvocationContext(const css::uno::Reference< css::document::XScriptInvocationContext > &context)
css::uno::Reference< css::script::provider::XScriptProvider > createNewMSP(const css::uno::Any &context)
css::uno::Reference< css::uno::XComponentContext > m_xContext
ScriptComponent_map m_mScriptComponents
void addActiveMSP(const css::uno::Reference< css::uno::XInterface > &xComponent, const css::uno::Reference< css::script::provider::XScriptProvider > &msp)
std::unordered_map< OUString, css::uno::Reference< css::script::provider::XScriptProvider > > Msp_hash
std::map< css::uno::Reference< css::uno::XInterface >, css::uno::Reference< css::script::provider::XScriptProvider > > ScriptComponent_map