Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


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.