From 84206b23bd2bf5abfe4d6653866a1f0a2c03cb8e Mon Sep 17 00:00:00 2001 From: Chris Sherlock Date: Mon, 2 Mar 2015 17:09:28 +1100 Subject: avmedia: use constructor syntax for avmedia.component Change-Id: Ia4572e10fb97a5e88f08341d8a1c8af87e68904c Signed-off-by: Stephan Bergmann --- avmedia/source/framework/soundhandler.cxx | 52 ++++++------------------------- avmedia/source/framework/soundhandler.hxx | 3 -- avmedia/util/avmedia.component | 3 +- 3 files changed, 11 insertions(+), 47 deletions(-) diff --git a/avmedia/source/framework/soundhandler.cxx b/avmedia/source/framework/soundhandler.cxx index f820e9c5ce37..2995acf47f4d 100644 --- a/avmedia/source/framework/soundhandler.cxx +++ b/avmedia/source/framework/soundhandler.cxx @@ -142,30 +142,6 @@ OUString SoundHandler::impl_getStaticImplementationName() return IMPLEMENTATIONNAME_SOUNDHANDLER; } -css::uno::Reference< css::uno::XInterface > SAL_CALL SoundHandler::impl_createInstance( const css::uno::Reference< css::lang::XMultiServiceFactory >& xServiceManager ) throw( css::uno::Exception ) -{ - /* create new instance of service */ - SoundHandler* pClass = new SoundHandler( xServiceManager ); - /* hold it alive by increasing his ref count!!! */ - css::uno::Reference< css::uno::XInterface > xService( static_cast< ::cppu::OWeakObject* >(pClass), css::uno::UNO_QUERY ); - /* initialize new service instance ... he can use his own refcount ... we hold it! */ - pClass->impl_initService(); - /* return new created service as reference */ - return xService; -} - -css::uno::Reference< css::lang::XSingleServiceFactory > SoundHandler::impl_createFactory( const css::uno::Reference< css::lang::XMultiServiceFactory >& xServiceManager ) -{ - css::uno::Reference< css::lang::XSingleServiceFactory > xReturn ( cppu::createSingleFactory ( - xServiceManager, - SoundHandler::impl_getStaticImplementationName(), - SoundHandler::impl_createInstance, - SoundHandler::impl_getStaticSupportedServiceNames() - ) - ); - return xReturn; -} - void SAL_CALL SoundHandler::impl_initService() { } @@ -379,27 +355,17 @@ IMPL_LINK_NOARG(SoundHandler, implts_PlayerNotify) } // namespace framework -extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL avmedia_component_getFactory(const sal_Char* pImplementationName, void* pServiceManager, void* /*pRegistryKey*/ ) + +extern "C" SAL_DLLPUBLIC_EXPORT ::com::sun::star::uno::XInterface* SAL_CALL +com_sun_star_comp_framework_SoundHandler_get_implementation(::com::sun::star::uno::XComponentContext* context, + ::com::sun::star::uno::Sequence const &) { - void* pReturn = NULL; - if (pServiceManager != NULL ) - { - /* Define variables which are used in following macros. */ - css::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > xFactory; - css::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceManager; - xServiceManager = reinterpret_cast< ::com::sun::star::lang::XMultiServiceFactory* >( pServiceManager ) ; + css::uno::Reference< css::lang::XMultiServiceFactory> xSM(context->getServiceManager(), css::uno::UNO_QUERY_THROW); + avmedia::SoundHandler* pClass = new avmedia::SoundHandler( xSM ); + pClass->impl_initService(); + return cppu::acquire( pClass ); +} - if ( avmedia::SoundHandler::impl_getStaticImplementationName().equals( OUString::createFromAscii( pImplementationName ) ) ) - xFactory = avmedia::SoundHandler::impl_createFactory( xServiceManager ); - if ( xFactory.is() ) - { - xFactory->acquire(); - pReturn = xFactory.get(); - } - } - /* Return with result of this operation. */ - return pReturn; -} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/avmedia/source/framework/soundhandler.hxx b/avmedia/source/framework/soundhandler.hxx index fd3706fcb862..2a39c9dabd13 100644 --- a/avmedia/source/framework/soundhandler.hxx +++ b/avmedia/source/framework/soundhandler.hxx @@ -91,9 +91,6 @@ class SoundHandler : // interfaces /* Helper for XServiceInfo */ static css::uno::Sequence< OUString > SAL_CALL impl_getStaticSupportedServiceNames( ); static OUString SAL_CALL impl_getStaticImplementationName ( ); - /* Helper for registry */ - static css::uno::Reference< css::uno::XInterface > SAL_CALL impl_createInstance ( const css::uno::Reference< css::lang::XMultiServiceFactory >& xServiceManager ) throw( css::uno::Exception ); - static css::uno::Reference< css::lang::XSingleServiceFactory > SAL_CALL impl_createFactory ( const css::uno::Reference< css::lang::XMultiServiceFactory >& xServiceManager ); /* Helper for initialization of service by using own reference! */ void SAL_CALL impl_initService ( ); diff --git a/avmedia/util/avmedia.component b/avmedia/util/avmedia.component index 94e46f9a7fa6..eec2b9a2ff6d 100644 --- a/avmedia/util/avmedia.component +++ b/avmedia/util/avmedia.component @@ -19,7 +19,8 @@ - + -- cgit