summaryrefslogtreecommitdiff
path: root/cppuhelper
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-04-09 09:37:17 +0200
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-04-09 09:37:17 +0200
commit3b61423bfa7a1749d291b93b3472b3b6d3576616 (patch)
tree62a818fb3eafb4ae9ee71d55807c6f8201515cfb /cppuhelper
parent9734c73c9a61fc5ef4e263617add17914a9b5f15 (diff)
parentd3f8cc52475c86e0b2babe0888db6a1bb8a2b244 (diff)
slidecopy: merge CWS wth MWS-m76
Diffstat (limited to 'cppuhelper')
-rw-r--r--cppuhelper/inc/cppuhelper/factory.hxx17
-rwxr-xr-xcppuhelper/source/cc5_solaris_sparc.map1
-rw-r--r--cppuhelper/source/factory.cxx11
-rw-r--r--cppuhelper/source/gcc3.map1
-rw-r--r--cppuhelper/source/gcc3os2.map1
-rw-r--r--cppuhelper/source/msvc_win32_intel.map1
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;