diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-04-09 09:37:17 +0200 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-04-09 09:37:17 +0200 |
commit | 3b61423bfa7a1749d291b93b3472b3b6d3576616 (patch) | |
tree | 62a818fb3eafb4ae9ee71d55807c6f8201515cfb /cppuhelper | |
parent | 9734c73c9a61fc5ef4e263617add17914a9b5f15 (diff) | |
parent | d3f8cc52475c86e0b2babe0888db6a1bb8a2b244 (diff) |
slidecopy: merge CWS wth MWS-m76
Diffstat (limited to 'cppuhelper')
-rw-r--r-- | cppuhelper/inc/cppuhelper/factory.hxx | 17 | ||||
-rwxr-xr-x | cppuhelper/source/cc5_solaris_sparc.map | 1 | ||||
-rw-r--r-- | cppuhelper/source/factory.cxx | 11 | ||||
-rw-r--r-- | cppuhelper/source/gcc3.map | 1 | ||||
-rw-r--r-- | cppuhelper/source/gcc3os2.map | 1 | ||||
-rw-r--r-- | cppuhelper/source/msvc_win32_intel.map | 1 |
6 files changed, 32 insertions, 0 deletions
diff --git a/cppuhelper/inc/cppuhelper/factory.hxx b/cppuhelper/inc/cppuhelper/factory.hxx index 8ebc6b4467c2..1b733d7a9170 100644 --- a/cppuhelper/inc/cppuhelper/factory.hxx +++ b/cppuhelper/inc/cppuhelper/factory.hxx @@ -149,6 +149,23 @@ SAL_CALL createSingleComponentFactory( rtl_ModuleCount * pModCount = 0 ) SAL_THROW( () ); +/** Creates a single service factory which holds the instance created only once. + + @param fptr function pointer for instanciating the object + @param rImplementationName implementation name of service + @param rServiceNames supported services + @param pModCount for future extension (library unloading concept). + + @see createSingleComponentFactory +*/ +::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > SAL_CALL +createOneInstanceComponentFactory( + ComponentFactoryFunc fptr, + ::rtl::OUString const & rImplementationName, + ::com::sun::star::uno::Sequence< ::rtl::OUString > const & rServiceNames, + rtl_ModuleCount * pModCount = 0 ) + SAL_THROW( () ); + /** Deprecated. The type of the instanciate function used as argument of the create*Fcatory functions. @see createSingleFactory diff --git a/cppuhelper/source/cc5_solaris_sparc.map b/cppuhelper/source/cc5_solaris_sparc.map index 941465519a08..d43ea690e11a 100755 --- a/cppuhelper/source/cc5_solaris_sparc.map +++ b/cppuhelper/source/cc5_solaris_sparc.map @@ -385,4 +385,5 @@ UDK_3.7 { # OOo 3.3 __1cEcppuLOWeakObjectbAdisposeWeakConnectionPoint6M_v_; __1cDcomDsunEstarDunoTWeakReferenceHelper2G6Mrkn0DJReference4n0DKXInterface____r4_; __1cDcomDsunEstarDunoTWeakReferenceHelperFclear6M_v_; + __1cEcppubHcreateOneInstanceComponentFactory6FpFrknDcomDsunEstarDunoJReference4n0ERXComponentContext____n0EJReference4n0EKXInterface___rknDrtlIOUString_rkn0EISequence4n0K___pnQ_rtl_ModuleCount__n0EJReference4n0DElangXXSingleComponentFactory____; } UDK_3.6; diff --git a/cppuhelper/source/factory.cxx b/cppuhelper/source/factory.cxx index b1d473c061af..96faf2272231 100644 --- a/cppuhelper/source/factory.cxx +++ b/cppuhelper/source/factory.cxx @@ -1124,6 +1124,17 @@ Reference< lang::XSingleComponentFactory > SAL_CALL createSingleComponentFactory Reference< XMultiServiceFactory >(), rImplementationName, 0, fptr, &rServiceNames, pModCount, sal_False ); } +Reference< lang::XSingleComponentFactory > SAL_CALL createOneInstanceComponentFactory( + ComponentFactoryFunc fptr, + OUString const & rImplementationName, + Sequence< OUString > const & rServiceNames, + rtl_ModuleCount * pModCount) + SAL_THROW( () ) +{ + return new OFactoryComponentHelper( + Reference< XMultiServiceFactory >(), rImplementationName, 0, fptr, &rServiceNames, pModCount, sal_True ); +} + } diff --git a/cppuhelper/source/gcc3.map b/cppuhelper/source/gcc3.map index 099373b2e220..59ab83e34e82 100644 --- a/cppuhelper/source/gcc3.map +++ b/cppuhelper/source/gcc3.map @@ -379,5 +379,6 @@ UDK_3.6 { # OOo 3.3 _ZN4cppu11OWeakObject26disposeWeakConnectionPointEv; _ZN3com3sun4star3uno19WeakReferenceHelperaSERKNS2_9ReferenceINS2_10XInterfaceEEE; _ZN3com3sun4star3uno19WeakReferenceHelper5clearEv; + _ZN4cppu33createOneInstanceComponentFactoryEPFN3com3sun4star3uno9ReferenceINS3_10XInterfaceEEERKNS4_INS3_17XComponentContextEEEERKN3rtl8OUStringERKNS3_8SequenceISE_EEP16_rtl_ModuleCount; } UDK_3.5; diff --git a/cppuhelper/source/gcc3os2.map b/cppuhelper/source/gcc3os2.map index 6aada0273d59..681a076cee79 100644 --- a/cppuhelper/source/gcc3os2.map +++ b/cppuhelper/source/gcc3os2.map @@ -373,4 +373,5 @@ UDK_3.5 { # OOo 3.0 global: _ZN4cppu18OPropertySetHelperC1ERNS_19OBroadcastHelperVarINS_34OMultiTypeInterfaceContainerHelperEN3com3sun4star3uno4TypeEEEPNS_22IEventNotificationHookEb; _ZN4cppu18OPropertySetHelperC2ERNS_19OBroadcastHelperVarINS_34OMultiTypeInterfaceContainerHelperEN3com3sun4star3uno4TypeEEEPNS_22IEventNotificationHookEb; + _ZN4cppu28createOneInstanceComponentFactoryEPFN3com3sun4star3uno9ReferenceINS3_10XInterfaceEEERKNS4_INS3_17XComponentContextEEEERKN3rtl8OUStringERKNS3_8SequenceISE_EEP16_rtl_ModuleCount; } UDK_3.4; diff --git a/cppuhelper/source/msvc_win32_intel.map b/cppuhelper/source/msvc_win32_intel.map index 6bc10cb175c2..6d5a491ab925 100644 --- a/cppuhelper/source/msvc_win32_intel.map +++ b/cppuhelper/source/msvc_win32_intel.map @@ -276,4 +276,5 @@ UDK_3.6 { # OOo 3.3 global: ?disposeWeakConnectionPoint@OWeakObject@cppu@@IAEXXZ; ?clear@WeakReferenceHelper@uno@star@sun@com@@QAAXXZ; + ?createOneInstanceComponentFactory@cppu@@YA?AV?$Reference@VXSingleComponentFactory@lang@star@sun@com@@@uno@star@sun@com@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@ABV?$Reference@VXComponentContext@uno@star@sun@com@@@3456@@ZABVOUString@rtl@@ABV?$Sequence@VOUString@rtl@@@3456@PAU_rtl_ModuleCount@@@Z; } UDK_3.5; |