summaryrefslogtreecommitdiff
path: root/cppuhelper/inc
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2011-08-08 17:34:53 +0300
committerTor Lillqvist <tml@iki.fi>2011-08-08 17:39:38 +0300
commitb16ab7a751c04049b4171df412f1ef0f4f9b02f2 (patch)
tree60279050d19627adad307c653457b4f5b169232a /cppuhelper/inc
parentcf3eac39e12f85043e5beb686b9abb9e94dda34d (diff)
Add invokeStaticComponentFactory() for statically linked components
Will be used for iOS at least. Factor out the part of loadSharedLibComponentFactory() that handle the symbol that has been successfully looked up.
Diffstat (limited to 'cppuhelper/inc')
-rw-r--r--cppuhelper/inc/cppuhelper/shlib.hxx21
1 files changed, 21 insertions, 0 deletions
diff --git a/cppuhelper/inc/cppuhelper/shlib.hxx b/cppuhelper/inc/cppuhelper/shlib.hxx
index 9c12d2d039e9..21529bc8ba75 100644
--- a/cppuhelper/inc/cppuhelper/shlib.hxx
+++ b/cppuhelper/inc/cppuhelper/shlib.hxx
@@ -28,6 +28,7 @@
#ifndef _CPPUHELPER_SHLIB_HXX_
#define _CPPUHELPER_SHLIB_HXX_
+#include <osl/module.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/registry/XRegistryKey.hpp>
#include <com/sun/star/loader/CannotActivateFactoryException.hpp>
@@ -93,6 +94,26 @@ SAL_CALL loadSharedLibComponentFactory(
::rtl::OUString const & rPrefix )
SAL_THROW( (::com::sun::star::loader::CannotActivateFactoryException) );
+/** Gets the factory out of an already loaded (for instance statically linked) component.
+
+ @param pGetter the component's component_getFactory function
+ @param rImplName implementation to be retrieved from the library
+ @param xMgr service manager to be provided to the component
+ @param xKey registry key to be provided to the component
+ @param rPrefix optional component prefix
+ @return
+ factory instance (::com::sun::star::lang::XSingleComponentFactory or
+ ::com::sun::star::lang::XSingleComponentFactory)
+*/
+::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
+SAL_CALL invokeStaticComponentFactory(
+ oslGenericFunction pGetter,
+ ::rtl::OUString const & rImplName,
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > const & xMgr,
+ ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > const & xKey,
+ ::rtl::OUString const & rPrefix )
+ SAL_THROW( (::com::sun::star::loader::CannotActivateFactoryException) );
+
/** Invokes component_writeInfo() function of specified component library. You can give either
a fully qualified libname or single lib name. The libname need not be pre/postfixed
(e.g. xxx.dll). You can give parameter rPath to force lookup of the library in a specific