Kaydet (Commit) fe537786 authored tarafından Matúš Kukan's avatar Matúš Kukan

uui: Ctor feature for com.sun.star.comp.uui.UUIInteractionHandler.

Change-Id: I94858cef5402e88ddcc3e0e9e4383f7be8443e77
üst 1d77f5ce
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
#include "iahndl.hxx" #include "iahndl.hxx"
#include "interactionhandler.hxx" #include "interactionhandler.hxx"
#include "comphelper/namedvaluecollection.hxx" #include "comphelper/namedvaluecollection.hxx"
#include "comphelper/processfactory.hxx"
#include <cppuhelper/supportsservice.hxx> #include <cppuhelper/supportsservice.hxx>
#include "com/sun/star/awt/XWindow.hpp" #include "com/sun/star/awt/XWindow.hpp"
...@@ -42,7 +41,7 @@ UUIInteractionHandler::~UUIInteractionHandler() ...@@ -42,7 +41,7 @@ UUIInteractionHandler::~UUIInteractionHandler()
OUString SAL_CALL UUIInteractionHandler::getImplementationName() OUString SAL_CALL UUIInteractionHandler::getImplementationName()
throw (uno::RuntimeException) throw (uno::RuntimeException)
{ {
return OUString::createFromAscii(m_aImplementationName); return OUString("com.sun.star.comp.uui.UUIInteractionHandler");
} }
sal_Bool SAL_CALL sal_Bool SAL_CALL
...@@ -56,7 +55,13 @@ uno::Sequence< OUString > SAL_CALL ...@@ -56,7 +55,13 @@ uno::Sequence< OUString > SAL_CALL
UUIInteractionHandler::getSupportedServiceNames() UUIInteractionHandler::getSupportedServiceNames()
throw (uno::RuntimeException) throw (uno::RuntimeException)
{ {
return getSupportedServiceNames_static(); uno::Sequence< OUString > aNames(3);
aNames[0] = "com.sun.star.task.InteractionHandler";
// added to indicate support for configuration.backend.MergeRecoveryRequest
aNames[1] = "com.sun.star.configuration.backend.InteractionHandler";
aNames[2] = "com.sun.star.uui.InteractionHandler";
// for backwards compatibility
return aNames;
} }
void SAL_CALL void SAL_CALL
...@@ -119,35 +124,12 @@ UUIInteractionHandler::handle( ...@@ -119,35 +124,12 @@ UUIInteractionHandler::handle(
} }
} }
char const UUIInteractionHandler::m_aImplementationName[] extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
= "com.sun.star.comp.uui.UUIInteractionHandler"; com_sun_star_comp_uui_UUIInteractionHandler_get_implementation(
css::uno::XComponentContext *context,
uno::Sequence< OUString > css::uno::Sequence<css::uno::Any> const &)
UUIInteractionHandler::getSupportedServiceNames_static()
{ {
uno::Sequence< OUString > aNames(3); return cppu::acquire(new UUIInteractionHandler(context));
aNames[0] = "com.sun.star.task.InteractionHandler";
// added to indicate support for configuration.backend.MergeRecoveryRequest
aNames[1] = "com.sun.star.configuration.backend.InteractionHandler";
aNames[2] = "com.sun.star.uui.InteractionHandler";
// for backwards compatibility
return aNames;
}
uno::Reference< uno::XInterface > SAL_CALL
UUIInteractionHandler::createInstance(
uno::Reference< lang::XMultiServiceFactory > const &
rServiceFactory)
SAL_THROW((uno::Exception))
{
try
{
return *new UUIInteractionHandler(comphelper::getComponentContext(rServiceFactory));
}
catch (std::bad_alloc const &)
{
throw uno::RuntimeException("out of memory", 0);
}
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -32,26 +32,13 @@ class UUIInteractionHandler: ...@@ -32,26 +32,13 @@ class UUIInteractionHandler:
com::sun::star::lang::XInitialization, com::sun::star::lang::XInitialization,
com::sun::star::task::XInteractionHandler2 > com::sun::star::task::XInteractionHandler2 >
{ {
public:
static char const m_aImplementationName[];
static com::sun::star::uno::Sequence< OUString >
getSupportedServiceNames_static();
static com::sun::star::uno::Reference< com::sun::star::uno::XInterface >
SAL_CALL
createInstance(
com::sun::star::uno::Reference<
com::sun::star::lang::XMultiServiceFactory > const &
rServiceFactory)
SAL_THROW((com::sun::star::uno::Exception));
private: private:
UUIInteractionHelper * m_pImpl; UUIInteractionHelper * m_pImpl;
UUIInteractionHandler(UUIInteractionHandler &); // not implemented UUIInteractionHandler(UUIInteractionHandler &); // not implemented
void operator =(UUIInteractionHandler); // not implemented void operator =(UUIInteractionHandler); // not implemented
public:
UUIInteractionHandler(com::sun::star::uno::Reference< UUIInteractionHandler(com::sun::star::uno::Reference<
com::sun::star::uno::XComponentContext > com::sun::star::uno::XComponentContext >
const & rxContext) const & rxContext)
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
#include <sal/types.h> #include <sal/types.h>
#include <uno/environment.h> #include <uno/environment.h>
#include "interactionhandler.hxx"
#include "requeststringresolver.hxx" #include "requeststringresolver.hxx"
#include "passwordcontainer.hxx" #include "passwordcontainer.hxx"
...@@ -47,28 +46,11 @@ extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL uui_component_getFactory(sal_Cha ...@@ -47,28 +46,11 @@ extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL uui_component_getFactory(sal_Cha
reinterpret_cast< XMultiServiceFactory * >( pServiceManager ) ); reinterpret_cast< XMultiServiceFactory * >( pServiceManager ) );
Reference< XSingleServiceFactory > xFactory; Reference< XSingleServiceFactory > xFactory;
//////////////////////////////////////////////////////////////////////
// UUI Interaction Handler.
//////////////////////////////////////////////////////////////////////
if ( rtl_str_compare(pImplName,
UUIInteractionHandler::m_aImplementationName)
== 0)
{
xFactory =
cppu::createSingleFactory(
static_cast< XMultiServiceFactory * >(pServiceManager),
OUString::createFromAscii(
UUIInteractionHandler::m_aImplementationName),
&UUIInteractionHandler::createInstance,
UUIInteractionHandler::getSupportedServiceNames_static());
}
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// UUI Interaction Request String Resolver. // UUI Interaction Request String Resolver.
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
else if ( rtl_str_compare(pImplName, if ( rtl_str_compare(pImplName,
UUIInteractionRequestStringResolver::m_aImplementationName) UUIInteractionRequestStringResolver::m_aImplementationName)
== 0) == 0)
{ {
......
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
name="com.sun.star.comp.uui.PasswordContainerInteractionHandler"> name="com.sun.star.comp.uui.PasswordContainerInteractionHandler">
<service name="com.sun.star.task.PasswordContainerInteractionHandler"/> <service name="com.sun.star.task.PasswordContainerInteractionHandler"/>
</implementation> </implementation>
<implementation name="com.sun.star.comp.uui.UUIInteractionHandler"> <implementation name="com.sun.star.comp.uui.UUIInteractionHandler"
constructor="com_sun_star_comp_uui_UUIInteractionHandler_get_implementation">
<service name="com.sun.star.configuration.backend.InteractionHandler"/> <service name="com.sun.star.configuration.backend.InteractionHandler"/>
<service name="com.sun.star.task.InteractionHandler"/> <service name="com.sun.star.task.InteractionHandler"/>
<service name="com.sun.star.uui.InteractionHandler"/> <service name="com.sun.star.uui.InteractionHandler"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment