summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2014-01-15 13:06:35 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2014-01-15 15:11:56 +0100
commit44592540c5c3ef12875cdcab41a058092cda378d (patch)
treecb8d4eafa0c5c5c2d4ba826c92ad3bb33a242feb /sfx2
parentea301c7c1d65064bbc9588534fc21f12b8e0d752 (diff)
sfx: Constructor feature for pseudo implementations.
Change-Id: I18ab7ed8785c63688eecdcdb77289e1691ba793d
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/appl/appbaslib.cxx55
-rw-r--r--sfx2/source/appl/appuno.cxx3
-rw-r--r--sfx2/source/inc/appbaslib.hxx30
-rw-r--r--sfx2/util/sfx.component6
4 files changed, 16 insertions, 78 deletions
diff --git a/sfx2/source/appl/appbaslib.cxx b/sfx2/source/appl/appbaslib.cxx
index 15c539d4fd75..a980606c587a 100644
--- a/sfx2/source/appl/appbaslib.cxx
+++ b/sfx2/source/appl/appbaslib.cxx
@@ -154,63 +154,32 @@ SfxBasicManagerHolder::LegacyPsswdBinaryLimitExceeded( Sequence< OUString >& sMo
//============================================================================
// Service for application library container
-SFX_IMPL_ONEINSTANCEFACTORY( SfxApplicationDialogLibraryContainer )
-Sequence< OUString > SfxApplicationDialogLibraryContainer::impl_getStaticSupportedServiceNames()
-{
- static Sequence< OUString > seqServiceNames( 1 );
- static sal_Bool bNeedsInit = sal_True;
-
- MutexGuard aGuard( Mutex::getGlobalMutex() );
- if( bNeedsInit )
- {
- OUString* pSeq = seqServiceNames.getArray();
- pSeq[0] = "com.sun.star.script.ApplicationDialogLibraryContainer";
- bNeedsInit = sal_False;
- }
- return seqServiceNames;
-}
-
-OUString SfxApplicationDialogLibraryContainer::impl_getStaticImplementationName()
-{
- return OUString("com.sun.star.comp.sfx2.ApplicationDialogLibraryContainer");
-}
-
-Reference< XInterface > SAL_CALL SfxApplicationDialogLibraryContainer::impl_createInstance
- ( const Reference< XMultiServiceFactory >& )
- throw( Exception )
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
+com_sun_star_comp_sfx2_ApplicationDialogLibraryContainer_get_implementation(
+ css::uno::XComponentContext *,
+ css::uno::Sequence<css::uno::Any> const &)
{
SFX_APP()->GetBasicManager();
Reference< XInterface > xRet =
Reference< XInterface >( SFX_APP()->GetDialogContainer(), UNO_QUERY );
- return xRet;
+ xRet->acquire();
+ return xRet.get();
}
//============================================================================
// Service for application library container
-SFX_IMPL_ONEINSTANCEFACTORY( SfxApplicationScriptLibraryContainer )
-
-Sequence< OUString > SfxApplicationScriptLibraryContainer::impl_getStaticSupportedServiceNames()
-{
- Sequence< OUString > seqServiceNames( 1 );
- OUString* pSeq = seqServiceNames.getArray();
- pSeq[0] = "com.sun.star.script.ApplicationScriptLibraryContainer";
- return seqServiceNames;
-}
-
-OUString SfxApplicationScriptLibraryContainer::impl_getStaticImplementationName()
-{
- return OUString("com.sun.star.comp.sfx2.ApplicationScriptLibraryContainer");
-}
-Reference< XInterface > SAL_CALL SfxApplicationScriptLibraryContainer::impl_createInstance
- ( const Reference< XMultiServiceFactory >& )
- throw( Exception )
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
+com_sun_star_comp_sfx2_ApplicationScriptLibraryContainer_get_implementation(
+ css::uno::XComponentContext *,
+ css::uno::Sequence<css::uno::Any> const &)
{
SFX_APP()->GetBasicManager();
Reference< XInterface > xRet =
Reference< XInterface >( SFX_APP()->GetBasicContainer(), UNO_QUERY );
- return xRet;
+ xRet->acquire();
+ return xRet.get();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/appl/appuno.cxx b/sfx2/source/appl/appuno.cxx
index bc725fe0bc8e..4c9374c4d405 100644
--- a/sfx2/source/appl/appuno.cxx
+++ b/sfx2/source/appl/appuno.cxx
@@ -23,7 +23,6 @@
#include "backingcomp.hxx"
#include "SfxDocumentMetaData.hxx"
-#include "appbaslib.hxx"
#include "fltoptint.hxx"
#include "frmload.hxx"
#include "objshimp.hxx"
@@ -1799,8 +1798,6 @@ SFX2_DLLPUBLIC void* SAL_CALL sfx_component_getFactory(
IF_NAME_CREATECOMPONENTFACTORY( BackingComp )
IF_NAME_CREATECOMPONENTFACTORY( SfxFrameLoader_Impl )
IF_NAME_CREATECOMPONENTFACTORY( ShutdownIcon )
- IF_NAME_CREATECOMPONENTFACTORY( SfxApplicationScriptLibraryContainer )
- IF_NAME_CREATECOMPONENTFACTORY( SfxApplicationDialogLibraryContainer )
#ifdef TEST_HANDLERS
IF_NAME_CREATECOMPONENTFACTORY( TestKeyHandler )
IF_NAME_CREATECOMPONENTFACTORY( TestMouseClickHandler )
diff --git a/sfx2/source/inc/appbaslib.hxx b/sfx2/source/inc/appbaslib.hxx
index 8c471224574c..8f804200d20d 100644
--- a/sfx2/source/inc/appbaslib.hxx
+++ b/sfx2/source/inc/appbaslib.hxx
@@ -21,8 +21,6 @@
#define INCLUDED_SFX2_SOURCE_INC_APPBASLIB_HXX
#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
#include <com/sun/star/embed/XStorage.hpp>
@@ -95,34 +93,6 @@ private:
::com::sun::star::uno::Reference< ::com::sun::star::script::XStorageBasedLibraryContainer >& _out_rxContainer );
};
-class SfxApplicationScriptLibraryContainer
-{
-public:
- // Service
- static ::com::sun::star::uno::Sequence< OUString > impl_getStaticSupportedServiceNames();
- static OUString impl_getStaticImplementationName();
- static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL impl_createInstance
- ( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager )
- throw( ::com::sun::star::uno::Exception );
- static ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > impl_createFactory
- ( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
-
-};
-
-class SfxApplicationDialogLibraryContainer
-{
-public:
- // Service
- static ::com::sun::star::uno::Sequence< OUString > impl_getStaticSupportedServiceNames();
- static OUString impl_getStaticImplementationName();
- static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL impl_createInstance
- ( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager )
- throw( ::com::sun::star::uno::Exception );
- static ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > impl_createFactory
- ( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
-
-};
-
#endif // INCLUDED_SFX2_SOURCE_INC_APPBASLIB_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/util/sfx.component b/sfx2/util/sfx.component
index afb1bd0e40bf..d002e4b9d757 100644
--- a/sfx2/util/sfx.component
+++ b/sfx2/util/sfx.component
@@ -49,10 +49,12 @@
<service name="com.sun.star.frame.ProtocolHandler"/>
<service name="com.sun.star.frame.AppDispatchProvider"/>
</implementation>
- <implementation name="com.sun.star.comp.sfx2.ApplicationDialogLibraryContainer">
+ <implementation name="com.sun.star.comp.sfx2.ApplicationDialogLibraryContainer"
+ constructor="com.sun.star.comp.sfx2.ApplicationDialogLibraryContainer_get_implementation">
<service name="com.sun.star.script.ApplicationDialogLibraryContainer"/>
</implementation>
- <implementation name="com.sun.star.comp.sfx2.ApplicationScriptLibraryContainer">
+ <implementation name="com.sun.star.comp.sfx2.ApplicationScriptLibraryContainer"
+ constructor="com.sun.star.comp.sfx2.ApplicationScriptLibraryContainer_get_implementation">
<service name="com.sun.star.script.ApplicationScriptLibraryContainer"/>
</implementation>
<implementation name="com.sun.star.comp.sfx2.DocumentTemplates"