diff options
Diffstat (limited to 'ucb/source/ucp/package/pkgprovider.cxx')
-rw-r--r-- | ucb/source/ucp/package/pkgprovider.cxx | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/ucb/source/ucp/package/pkgprovider.cxx b/ucb/source/ucp/package/pkgprovider.cxx index 1183879b1d05..775ee6a5c692 100644 --- a/ucb/source/ucp/package/pkgprovider.cxx +++ b/ucb/source/ucp/package/pkgprovider.cxx @@ -140,38 +140,25 @@ XTYPEPROVIDER_IMPL_3( ContentProvider, // XServiceInfo methods. -XSERVICEINFO_COMMOM_IMPL( ContentProvider, - "com.sun.star.comp.ucb.PackageContentProvider" ) -/// @throws css::uno::Exception -static css::uno::Reference< css::uno::XInterface > -ContentProvider_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr ) +OUString +ContentProvider::getImplementationName() { - css::lang::XServiceInfo* pX = new ContentProvider( ucbhelper::getComponentContext(rSMgr) ); - return css::uno::Reference< css::uno::XInterface >::query( pX ); + return "com.sun.star.comp.ucb.PackageContentProvider"; } -css::uno::Sequence< OUString > -ContentProvider::getSupportedServiceNames_Static() +sal_Bool +ContentProvider::supportsService(const OUString& s) { - css::uno::Sequence< OUString > aSNS { "com.sun.star.ucb.PackageContentProvider" }; - return aSNS; + return cppu::supportsService(this, s); } -// Service factory implementation. - - -css::uno::Reference< css::lang::XSingleServiceFactory > -ContentProvider::createServiceFactory( const css::uno::Reference< css::lang::XMultiServiceFactory >& rxServiceMgr ) +css::uno::Sequence< OUString > +ContentProvider::getSupportedServiceNames() { - return cppu::createOneInstanceFactory( - rxServiceMgr, - ContentProvider::getImplementationName_Static(), - ContentProvider_CreateInstance, - ContentProvider::getSupportedServiceNames_Static() ); + return { "com.sun.star.ucb.PackageContentProvider" }; } - // XContentProvider methods. @@ -276,4 +263,13 @@ void ContentProvider::removePackage( const OUString & rName ) } } +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +ucb_package_ContentProvider_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any> const&) +{ + static rtl::Reference<ContentProvider> g_Instance(new ContentProvider(context)); + g_Instance->acquire(); + return static_cast<cppu::OWeakObject*>(g_Instance.get()); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |