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 @@
#include "iahndl.hxx"
#include "interactionhandler.hxx"
#include "comphelper/namedvaluecollection.hxx"
#include "comphelper/processfactory.hxx"
#include <cppuhelper/supportsservice.hxx>
#include "com/sun/star/awt/XWindow.hpp"
......@@ -42,7 +41,7 @@ UUIInteractionHandler::~UUIInteractionHandler()
OUString SAL_CALL UUIInteractionHandler::getImplementationName()
throw (uno::RuntimeException)
{
return OUString::createFromAscii(m_aImplementationName);
return OUString("com.sun.star.comp.uui.UUIInteractionHandler");
}
sal_Bool SAL_CALL
......@@ -56,7 +55,13 @@ uno::Sequence< OUString > SAL_CALL
UUIInteractionHandler::getSupportedServiceNames()
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
......@@ -119,35 +124,12 @@ UUIInteractionHandler::handle(
}
}
char const UUIInteractionHandler::m_aImplementationName[]
= "com.sun.star.comp.uui.UUIInteractionHandler";
uno::Sequence< OUString >
UUIInteractionHandler::getSupportedServiceNames_static()
extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
com_sun_star_comp_uui_UUIInteractionHandler_get_implementation(
css::uno::XComponentContext *context,
css::uno::Sequence<css::uno::Any> const &)
{
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;
}
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);
}
return cppu::acquire(new UUIInteractionHandler(context));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -32,26 +32,13 @@ class UUIInteractionHandler:
com::sun::star::lang::XInitialization,
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:
UUIInteractionHelper * m_pImpl;
UUIInteractionHandler(UUIInteractionHandler &); // not implemented
void operator =(UUIInteractionHandler); // not implemented
public:
UUIInteractionHandler(com::sun::star::uno::Reference<
com::sun::star::uno::XComponentContext >
const & rxContext)
......
......@@ -24,7 +24,6 @@
#include <sal/types.h>
#include <uno/environment.h>
#include "interactionhandler.hxx"
#include "requeststringresolver.hxx"
#include "passwordcontainer.hxx"
......@@ -47,28 +46,11 @@ extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL uui_component_getFactory(sal_Cha
reinterpret_cast< XMultiServiceFactory * >( pServiceManager ) );
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.
//////////////////////////////////////////////////////////////////////
else if ( rtl_str_compare(pImplName,
if ( rtl_str_compare(pImplName,
UUIInteractionRequestStringResolver::m_aImplementationName)
== 0)
{
......
......@@ -23,7 +23,8 @@
name="com.sun.star.comp.uui.PasswordContainerInteractionHandler">
<service name="com.sun.star.task.PasswordContainerInteractionHandler"/>
</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.task.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