diff options
Diffstat (limited to 'scaddins/source/datefunc/datefunc.cxx')
-rw-r--r-- | scaddins/source/datefunc/datefunc.cxx | 50 |
1 files changed, 9 insertions, 41 deletions
diff --git a/scaddins/source/datefunc/datefunc.cxx b/scaddins/source/datefunc/datefunc.cxx index 41e7437b883c..d4c1921d13f0 100644 --- a/scaddins/source/datefunc/datefunc.cxx +++ b/scaddins/source/datefunc/datefunc.cxx @@ -25,6 +25,7 @@ #include <cppuhelper/supportsservice.hxx> #include <com/sun/star/lang/XSingleServiceFactory.hpp> #include <rtl/ustrbuf.hxx> +#include <rtl/ref.hxx> #include <unotools/resmgr.hxx> #include <i18nlangtag/languagetag.hxx> #include <algorithm> @@ -85,39 +86,16 @@ static void InitScaFuncDataList(ScaFuncDataList& rList) } // entry points for service registration / instantiation -static uno::Reference< uno::XInterface > ScaDateAddIn_CreateInstance( - const uno::Reference< lang::XMultiServiceFactory >& ) -{ - return static_cast<cppu::OWeakObject*>(new ScaDateAddIn()); -} - -extern "C" { -SAL_DLLPUBLIC_EXPORT void * date_component_getFactory( - const char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ ) +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +scaddins_ScaDateAddIn_get_implementation( + css::uno::XComponentContext* , css::uno::Sequence<css::uno::Any> const&) { - void* pRet = nullptr; - - if ( pServiceManager && - OUString::createFromAscii( pImplName ) == ScaDateAddIn::getImplementationName_Static() ) - { - uno::Reference< lang::XSingleServiceFactory > xFactory( cppu::createOneInstanceFactory( - static_cast< lang::XMultiServiceFactory* >( pServiceManager ), - ScaDateAddIn::getImplementationName_Static(), - ScaDateAddIn_CreateInstance, - ScaDateAddIn::getSupportedServiceNames_Static() ) ); - - if (xFactory.is()) - { - xFactory->acquire(); - pRet = xFactory.get(); - } - } - - return pRet; + static rtl::Reference<ScaDateAddIn> g_Instance(new ScaDateAddIn()); + g_Instance->acquire(); + return static_cast<cppu::OWeakObject*>(g_Instance.get()); } -} // extern C // "normal" service implementation ScaDateAddIn::ScaDateAddIn() @@ -166,16 +144,6 @@ OUString ScaDateAddIn::GetFuncDescrStr(const char** pResId, sal_uInt16 nStrIndex return ScaResId(pResId[nStrIndex - 1]); } -OUString ScaDateAddIn::getImplementationName_Static() -{ - return MY_IMPLNAME; -} - -uno::Sequence< OUString > ScaDateAddIn::getSupportedServiceNames_Static() -{ - return { ADDIN_SERVICE, MY_SERVICE }; -} - // XServiceName OUString SAL_CALL ScaDateAddIn::getServiceName() { @@ -186,7 +154,7 @@ OUString SAL_CALL ScaDateAddIn::getServiceName() // XServiceInfo OUString SAL_CALL ScaDateAddIn::getImplementationName() { - return getImplementationName_Static(); + return MY_IMPLNAME; } sal_Bool SAL_CALL ScaDateAddIn::supportsService( const OUString& aServiceName ) @@ -196,7 +164,7 @@ sal_Bool SAL_CALL ScaDateAddIn::supportsService( const OUString& aServiceName ) uno::Sequence< OUString > SAL_CALL ScaDateAddIn::getSupportedServiceNames() { - return getSupportedServiceNames_Static(); + return { ADDIN_SERVICE, MY_SERVICE }; } // XLocalizable |