Hi Matus,
On Wed, 2011-06-22 at 09:57 +0200, Matúš Kukan wrote:
I'm sending some patches to allow prefixes for components and also
I've done prefixing for some components. It hope it will work also for
others. I've done make from clean. But when I tried to add prefix
for comphelper's component, make check was unsuccessful.
Fun - perhaps there is a mapfile problem - whereby we are punching a
hole through the map file for the old component_getFactory name, and not
for the new foo_component_getFactory; at least I added a unit test to
cppuhelper and struggled with this for a bit myself ;-)
Anyhow - I've merged your core patches, reverted the ABI break in
cppuhelper and done that another way (with a polymorphic impl. instead
of a default argument type). I attach a 'redo.diff' - this doesn't
really solve the problem I think, we need to add a 'prefix' parameter to
this framework macro so we can specify that as being different for each
component I think - can you hack that up ?
It looks good to me, though 'make check' no longer passes - but then,
perhaps it didn't beforehand (hard to say without a far-too-substantial
wait). I'm running some more smoketests before pushing all the new
prefix updates around the place.
And about merging libraries. Maybe we should do this in new branch.
Not in master.
Right - I think perhaps we'll need to do some preparatory work to get
more gnumake usage out there. Also, of course we need to tweak all the
libraries that we plan to merge into one to have prefixed component
factories :-)
HTH,
Michael.
--
michael.meeks@novell.com <><, Pseudo Engineer, itinerant idiot
diff --git a/framework/util/fwk.component b/framework/util/fwk.component
index c460ecb..139dd06 100755
--- a/framework/util/fwk.component
+++ b/framework/util/fwk.component
@@ -26,7 +26,7 @@
*
**********************************************************************-->
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="fw"
xmlns="http://openoffice.org/2010/uno-components">
<implementation name="com.sun.star.comp.frame.SessionListener">
<service name="com.sun.star.frame.SessionListener"/>
diff --git a/framework/util/fwl.component b/framework/util/fwl.component
index 99c5ca7..5708efa 100755
--- a/framework/util/fwl.component
+++ b/framework/util/fwl.component
@@ -26,7 +26,7 @@
*
**********************************************************************-->
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="fw"
xmlns="http://openoffice.org/2010/uno-components">
<implementation name="com.sum.star.comp.framework.LanguageSelectionMenuController">
<service name="com.sun.star.frame.PopupMenuController"/>
diff --git a/framework/util/fwm.component b/framework/util/fwm.component
index 624249f..58ddc91 100755
--- a/framework/util/fwm.component
+++ b/framework/util/fwm.component
@@ -26,7 +26,7 @@
*
**********************************************************************-->
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="fw"
xmlns="http://openoffice.org/2010/uno-components">
<implementation name="com.sun.star.comp.framework.HelpOnStartup">
<service name="com.sun.star.task.Job"/>
diff --git a/framework/inc/macros/debug/registration.hxx
b/framework/inc/macros/debug/registration.hxx
index bbb328e..a199fcf 100644
--- a/framework/inc/macros/debug/registration.hxx
+++ b/framework/inc/macros/debug/registration.hxx
@@ -57,7 +57,7 @@
#define LOG_REGISTRATION_GETFACTORY( SINFOTEXT )
\
{
\
::rtl::OStringBuffer sOut( 1024 );
\
- sOut.append( "component_getFactory():" );
\
+ sOut.append( "fw_component_getFactory():" );
\
sOut.append( SINFOTEXT );
\
WRITE_LOGFILE( LOGFILE_REGISTRATION, sOut.makeStringAndClear() )
\
}
diff --git a/framework/inc/macros/registration.hxx b/framework/inc/macros/registration.hxx
index f5510af..0de6a2e 100644
--- a/framework/inc/macros/registration.hxx
+++ b/framework/inc/macros/registration.hxx
@@ -57,8 +57,8 @@
Please use follow public macros only!
IFFACTORY( CLASS ) => use it as parameter for
COMPONENT_GETFACTORY( IFFACTORIES )
- COMPONENTGETIMPLEMENTATIONENVIRONMENT => use it to define exported function
component_getImplementationEnvironment()
- COMPONENTGETFACTORY( IFFACTORIES ) => use it to define exported function
component_getFactory()
+ COMPONENTGETIMPLEMENTATIONENVIRONMENT => use it to define exported function
fw_component_getImplementationEnvironment()
+ COMPONENTGETFACTORY( IFFACTORIES ) => use it to define exported function
fw_component_getFactory()
_________________________________________________________________________________________________________________*/
@@ -82,7 +82,7 @@ ________________________________________________________________________________
// define helper to get information about service environment
//*****************************************************************************************************************
#define COMPONENTGETIMPLEMENTATIONENVIRONMENT
\
- extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const
sal_Char** ppEnvironmentTypeName , \
+ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL fw_component_getImplementationEnvironment( const
sal_Char** ppEnvironmentTypeName , \
uno_Environment**
) \
{
\
*ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
\
@@ -93,7 +93,7 @@ ________________________________________________________________________________
// define method to instanciate new services
//*****************************************************************************************************************
#define COMPONENTGETFACTORY( IFFACTORIES )
\
- extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char*
pImplementationName ,
\
+ extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL fw_component_getFactory( const sal_Char*
pImplementationName ,
\
void* pServiceManager
, \
void* /*pRegistryKey*/
) \
{
\
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.