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.me...@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*/ ) \ { \
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice