You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by da...@apache.org on 2018/12/03 17:49:04 UTC

svn commit: r1848075 - in /openoffice/trunk/main/cppuhelper: inc/cppuhelper/ prj/ source/

Author: damjan
Date: Mon Dec  3 17:49:04 2018
New Revision: 1848075

URL: http://svn.apache.org/viewvc?rev=1848075&view=rev
Log:
Re-commit r1847839 and r1847840, with future patches on the way that
will get the module building in gbuild and using source-level attributes
to control symbol visibility. The original commit was worded as:


Change default symbol visibility to hidden in main/cppuhelper, and export
symbols using source-level attributes (SAL_DLLPUBLIC_EXPORT) instead.

Stop using the .map file for Windows, and rely only on the above to control
symbol visibility.

This is not a perfect solution, as the exported symbols lack some typeinfos
compared to before, but it doesn't seem to break anything, and a full symbol
audit needs to be done later to fix other modules anyway.

Also added some files to get it to build with gbuild, which are currently
unused, as the gbuild build seems to break in main/i18npool.

Patch by: me


Removed:
    openoffice/trunk/main/cppuhelper/source/msvc_win32_intel.map
Modified:
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/access_control.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/bootstrap.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/compbase_ex.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/component.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/component_context.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/exc_hlp.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/factory.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase_ex.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/implementationentry.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/interfacecontainer.h
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/propertysetmixin.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/propshlp.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/servicefactory.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/shlib.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/stdidlclass.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/typeprovider.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/unourl.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/weak.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakagg.hxx
    openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakref.hxx
    openoffice/trunk/main/cppuhelper/prj/d.lst
    openoffice/trunk/main/cppuhelper/source/makefile.mk
    openoffice/trunk/main/cppuhelper/source/servicefactory.cxx

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/access_control.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/access_control.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/access_control.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/access_control.hxx Mon Dec  3 17:49:04 2018
@@ -26,13 +26,15 @@
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/security/XAccessController.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 
 namespace cppu
 {
 
 /** Helper class retriving access controller singleton from component context.
 */
-class AccessControl
+class CPPUHELPER_DLLPUBLIC AccessControl
 {
     ::com::sun::star::uno::Reference< ::com::sun::star::security::XAccessController > m_xController;
     

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/bootstrap.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/bootstrap.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/bootstrap.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/bootstrap.hxx Mon Dec  3 17:49:04 2018
@@ -29,6 +29,8 @@
 #include "rtl/ustring.hxx"
 #include "sal/types.h"
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 namespace com { namespace sun { namespace star {
     namespace container { class XHierarchicalNameAccess; }
     namespace registry { class XSimpleRegistry; }
@@ -43,6 +45,7 @@ namespace cppu
     @rBootstrapPath optional bootstrap path for initial components
     @return simple registry service instance
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::registry::XSimpleRegistry >
 SAL_CALL createSimpleRegistry(
 	const ::rtl::OUString & rBootstrapPath = ::rtl::OUString() )
@@ -53,6 +56,7 @@ SAL_CALL createSimpleRegistry(
     @rBootstrapPath optional bootstrap path for initial components
     @return nested registry service instance
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::registry::XSimpleRegistry >
 SAL_CALL createNestedRegistry(
 	const ::rtl::OUString & rBootstrapPath = ::rtl::OUString() )
@@ -63,6 +67,7 @@ SAL_CALL createNestedRegistry(
     @param xTDMgr manager instance
     @return true, if successfully registered
 */
+CPPUHELPER_DLLPUBLIC
 sal_Bool SAL_CALL installTypeDescriptionManager(
     ::com::sun::star::uno::Reference< ::com::sun::star::container::XHierarchicalNameAccess > const & xTDMgr )
     SAL_THROW( () );
@@ -78,6 +83,7 @@ sal_Bool SAL_CALL installTypeDescription
     @param rBootstrapPath optional bootstrap path for initial components
     @return component context
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > SAL_CALL
 bootstrap_InitialComponentContext(
     ::com::sun::star::uno::Reference< ::com::sun::star::registry::XSimpleRegistry > const & xRegistry,
@@ -104,6 +110,7 @@ bootstrap_InitialComponentContext(
     
     @return component context
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > SAL_CALL
 defaultBootstrap_InitialComponentContext() SAL_THROW( (::com::sun::star::uno::Exception) );
 
@@ -128,6 +135,7 @@ defaultBootstrap_InitialComponentContext
     @param iniFile ini filename to get bootstrap variables
     @return component context
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > SAL_CALL
 defaultBootstrap_InitialComponentContext(const ::rtl::OUString & iniFile) SAL_THROW( (::com::sun::star::uno::Exception) );
 
@@ -136,7 +144,7 @@ defaultBootstrap_InitialComponentContext
  *
  * @since UDK 3.2.0
  */
-class BootstrapException
+class CPPUHELPER_DLLPUBLIC BootstrapException
 {
 public:
     /**
@@ -189,6 +197,7 @@ private:
  *
  * @since UDK 3.2.0
  */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > 
 SAL_CALL bootstrap();
 
@@ -211,6 +220,7 @@ SAL_CALL bootstrap();
  *
  * @since UDK 3.2.8
  */
+CPPUHELPER_DLLPUBLIC
 ::rtl::OUString
 SAL_CALL bootstrap_expandUri(::rtl::OUString const & uri);
 

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/compbase_ex.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/compbase_ex.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/compbase_ex.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/compbase_ex.hxx Mon Dec  3 17:49:04 2018
@@ -27,7 +27,7 @@
 #include <cppuhelper/implbase_ex.hxx>
 #include <cppuhelper/interfacecontainer.hxx>
 #include <com/sun/star/lang/XComponent.hpp>
-
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -36,7 +36,7 @@ namespace cppu
     ::com::sun::star::lang::XComponent.
     @internal
 */
-class SAL_NO_VTABLE WeakComponentImplHelperBase
+class CPPUHELPER_DLLPUBLIC SAL_NO_VTABLE WeakComponentImplHelperBase
 	: public ::cppu::OWeakObject
 	, public ::com::sun::star::lang::XComponent
 {
@@ -90,7 +90,7 @@ public:
     ::com::sun::star::lang::XComponent.
     @internal
 */
-class SAL_NO_VTABLE WeakAggComponentImplHelperBase
+class CPPUHELPER_DLLPUBLIC SAL_NO_VTABLE WeakAggComponentImplHelperBase
     : public ::cppu::OWeakAggObject
     , public ::com::sun::star::lang::XComponent
 {
@@ -138,6 +138,7 @@ public:
 /** WeakComponentImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Any SAL_CALL WeakComponentImplHelper_query(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
@@ -147,6 +148,7 @@ public:
 /** WeakComponentImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL WeakComponentImplHelper_getTypes(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
@@ -154,6 +156,7 @@ public:
 /** WeakAggComponentImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Any SAL_CALL WeakAggComponentImplHelper_queryAgg(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
@@ -163,6 +166,7 @@ public:
 /** WeakAggComponentImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL WeakAggComponentImplHelper_getTypes(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/component.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/component.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/component.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/component.hxx Mon Dec  3 17:49:04 2018
@@ -34,6 +34,7 @@
 #include <com/sun/star/lang/XComponent.hpp>
 #include <com/sun/star/lang/XEventListener.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {    
@@ -47,7 +48,7 @@ namespace cppu
     The life-cycle of the passed mutex reference has to be longer than objects of this class.
     @deprecated
 */
-class OComponentHelper
+class CPPUHELPER_DLLPUBLIC OComponentHelper
     : public ::cppu::OWeakAggObject
     , public ::com::sun::star::lang::XTypeProvider
     , public ::com::sun::star::lang::XComponent

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/component_context.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/component_context.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/component_context.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/component_context.hxx Mon Dec  3 17:49:04 2018
@@ -26,6 +26,7 @@
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/lang/XSingleComponentFactory.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -80,6 +81,7 @@ struct ContextEntry_Init
     @param xDelegate delegation to further context, if value was not found
     @return new context object
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
 SAL_CALL createComponentContext(
     ContextEntry_Init const * pEntries, sal_Int32 nEntries,

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/cppuhelperdllapi.h Mon Dec  3 17:49:04 2018
@@ -0,0 +1,37 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+
+
+#ifndef INCLUDED_CPPUHELPERDLLAPI_H
+#define INCLUDED_CPPUHELPERDLLAPI_H
+                                                                                                                             
+#include "sal/types.h"
+
+#if defined(CPPUHELPER_DLLIMPLEMENTATION)
+#define CPPUHELPER_DLLPUBLIC  SAL_DLLPUBLIC_EXPORT
+#else
+#define CPPUHELPER_DLLPUBLIC  SAL_DLLPUBLIC_IMPORT
+#endif
+#define CPPUHELPER_DLLPRIVATE SAL_DLLPRIVATE
+                                                                                    
+#endif /* INCLUDED_CPPUHELPERDLLAPI_H */
+

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/exc_hlp.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/exc_hlp.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/exc_hlp.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/exc_hlp.hxx Mon Dec  3 17:49:04 2018
@@ -26,6 +26,8 @@
 
 #include <com/sun/star/uno/Any.hxx>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 namespace cppu
 {    
 
@@ -36,7 +38,7 @@ namespace cppu
     @param rExc
            exception to be thrown.
 */
-void SAL_CALL throwException( const ::com::sun::star::uno::Any & rExc )
+CPPUHELPER_DLLPUBLIC void SAL_CALL throwException( const ::com::sun::star::uno::Any & rExc )
 	SAL_THROW( (::com::sun::star::uno::Exception) );
 
 /** Use this function to get the dynamic type of a caught C++-UNO exception;
@@ -86,7 +88,7 @@ void SAL_CALL throwException( const ::co
               development, because the whole OOo code base is compiled using the
               same C++ compiler (and linking against one runtime library).
 */
-::com::sun::star::uno::Any SAL_CALL getCaughtException();
+CPPUHELPER_DLLPUBLIC ::com::sun::star::uno::Any SAL_CALL getCaughtException();
 
 }
 

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/factory.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/factory.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/factory.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/factory.hxx Mon Dec  3 17:49:04 2018
@@ -33,6 +33,8 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/registry/XRegistryKey.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 //##################################################################################################
 
 #define COMPONENT_GETENV			"component_getImplementationEnvironment"
@@ -138,6 +140,7 @@ typedef ::com::sun::star::uno::Reference
     @param rServiceNames supported services
 	@param pModCount for future extension (library unloading concept).
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory >
 SAL_CALL createSingleComponentFactory(
 	ComponentFactoryFunc fptr,
@@ -155,6 +158,7 @@ SAL_CALL createSingleComponentFactory(
     
     @see createSingleComponentFactory
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > SAL_CALL
 createOneInstanceComponentFactory(
 	ComponentFactoryFunc fptr,
@@ -185,6 +189,7 @@ typedef ::com::sun::star::uno::Reference
     @see createOneInstanceFactory
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > SAL_CALL
 createSingleFactory(
 	const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager,
@@ -208,6 +213,7 @@ createSingleFactory(
     @see createSingleFactory
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > SAL_CALL
 createFactoryProxy(
 	const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager,
@@ -227,6 +233,7 @@ createFactoryProxy(
     @see createSingleFactory
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > SAL_CALL
 createOneInstanceFactory(
 	const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager,
@@ -245,6 +252,7 @@ createOneInstanceFactory(
     XSingleServiceFactory and XComponent.
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > SAL_CALL createSingleRegistryFactory(
 	const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager,
 	const ::rtl::OUString & rImplementationName, 
@@ -263,6 +271,7 @@ createOneInstanceFactory(
     @see createSingleRegistryFactory
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > SAL_CALL createOneInstanceRegistryFactory(
 	const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager,
 	const ::rtl::OUString & rComponentName, 

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase.hxx Mon Dec  3 17:49:04 2018
@@ -31,6 +31,8 @@
 #include <com/sun/star/lang/XTypeProvider.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 /* This header should not be used anymore.
    @deprecated
 */
@@ -55,7 +57,7 @@ struct Type_Offset
     Not for plublic use.
     @internal
 */
-struct ClassDataBase
+struct CPPUHELPER_DLLPUBLIC ClassDataBase
 {
     /** determines whether the class data has been statically initialized
     */
@@ -100,7 +102,7 @@ struct ClassDataBase
     Not for plublic use.
     @internal
 */
-struct ClassData : public ClassDataBase
+struct CPPUHELPER_DLLPUBLIC ClassData : public ClassDataBase
 {
     /** type entries array
     */
@@ -144,7 +146,7 @@ struct ClassData : public ClassDataBase
     Not for public use.
     @internal
 */
-::osl::Mutex & SAL_CALL getImplHelperInitMutex(void) SAL_THROW( () );
+CPPUHELPER_DLLPUBLIC ::osl::Mutex & SAL_CALL getImplHelperInitMutex(void) SAL_THROW( () );
 }
 
 //

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase_ex.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase_ex.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase_ex.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/implbase_ex.hxx Mon Dec  3 17:49:04 2018
@@ -27,6 +27,8 @@
 #include <cppuhelper/weakagg.hxx>
 #include <com/sun/star/lang/XTypeProvider.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 // Despite the fact that the following include is not used in this header, it has to remain,
 // because it is expected by files including cppuhelper/implbaseN.hxx.
 // So maybe we can omit it some time in the future...
@@ -100,6 +102,7 @@ struct class_data
 /** ImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Any SAL_CALL ImplHelper_query(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
@@ -108,7 +111,7 @@ struct class_data
 /** ImplHelper
     @internal
 */
-::com::sun::star::uno::Any SAL_CALL ImplHelper_queryNoXInterface(
+CPPUHELPER_DLLPUBLIC ::com::sun::star::uno::Any SAL_CALL ImplHelper_queryNoXInterface(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
     void * that )
@@ -116,26 +119,27 @@ struct class_data
 /** ImplHelper
     @internal
 */
-::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL ImplHelper_getTypes(
+CPPUHELPER_DLLPUBLIC ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL ImplHelper_getTypes(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
 /** ImplHelper
     @internal
 */
-::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL ImplInhHelper_getTypes(
+CPPUHELPER_DLLPUBLIC ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL ImplInhHelper_getTypes(
     class_data * cd,
     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > const & rAddTypes )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
 /** ImplHelper
     @internal
 */
-::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL ImplHelper_getImplementationId(
+CPPUHELPER_DLLPUBLIC ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL ImplHelper_getImplementationId(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
 
 /** WeakImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Any SAL_CALL WeakImplHelper_query(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
@@ -145,6 +149,7 @@ struct class_data
 /** WeakImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL WeakImplHelper_getTypes(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );
@@ -152,6 +157,7 @@ struct class_data
 /** WeakAggImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Any SAL_CALL WeakAggImplHelper_queryAgg(
     ::com::sun::star::uno::Type const & rType,
     class_data * cd,
@@ -161,6 +167,7 @@ struct class_data
 /** WeakAggImplHelper
     @internal
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL WeakAggImplHelper_getTypes(
     class_data * cd )
     SAL_THROW( (::com::sun::star::uno::RuntimeException) );

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/implementationentry.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/implementationentry.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/implementationentry.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/implementationentry.hxx Mon Dec  3 17:49:04 2018
@@ -24,6 +24,7 @@
 #define _CPPUHELPER_IMPLEMENATIONENTRY_HXX_
 
 #include <cppuhelper/factory.hxx>
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -80,7 +81,7 @@ struct ImplementationEntry
 	                       must be marked with a 0 entry in the create-function.
 	@return sal_True, if all implementations could be registered, otherwise sal_False.
  */
-sal_Bool component_writeInfoHelper(
+CPPUHELPER_DLLPUBLIC sal_Bool component_writeInfoHelper(
 	void *pServiceManager, void *pRegistryKey , const struct ImplementationEntry entries[] );
 
 /** Helper function for implementation of the component_getFactory()-function,
@@ -99,7 +100,7 @@ sal_Bool component_writeInfoHelper(
     @return 0 if the helper failed to instantiate a factory, otherwise an acquired pointer
 	        to a factory.
  */
-void *component_getFactoryHelper(
+CPPUHELPER_DLLPUBLIC void *component_getFactoryHelper(
 	const sal_Char * pImplName,
 	void * pServiceManager,
 	void * pRegistryKey,

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/interfacecontainer.h
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/interfacecontainer.h?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/interfacecontainer.h (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/interfacecontainer.h Mon Dec  3 17:49:04 2018
@@ -36,6 +36,8 @@
 #include "com/sun/star/lang/DisposedException.hpp"
 #endif
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 /** */ //for docpp
 namespace cppu
 {     
@@ -60,7 +62,7 @@ class OInterfaceContainerHelper;
   
   @see OInterfaceContainerHelper
  */
-class OInterfaceIteratorHelper
+class CPPUHELPER_DLLPUBLIC OInterfaceIteratorHelper
 {
 public:
 	/**
@@ -118,7 +120,7 @@ private:
  
   @see OInterfaceIteratorHelper
  */
-class OInterfaceContainerHelper
+class CPPUHELPER_DLLPUBLIC OInterfaceContainerHelper
 {
 public:
 	// these are here to force memory de/allocation to sal lib.
@@ -510,7 +512,7 @@ struct hashType_Impl
 /** Specialized class for key type com::sun::star::uno::Type,
     without explicit usage of STL symbols.
 */
-class OMultiTypeInterfaceContainerHelper
+class CPPUHELPER_DLLPUBLIC OMultiTypeInterfaceContainerHelper
 {
 public:
 	// these are here to force memory de/allocation to sal lib.

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/propertysetmixin.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/propertysetmixin.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/propertysetmixin.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/propertysetmixin.hxx Mon Dec  3 17:49:04 2018
@@ -37,6 +37,7 @@
 #include "com/sun/star/uno/RuntimeException.hpp"
 #include "com/sun/star/uno/Sequence.hxx"
 #include "sal/types.h"
+#include "cppuhelper/cppuhelperdllapi.h"
 
 /// @HTML
 
@@ -83,7 +84,7 @@ template< typename T > class PropertySet
 
    @since UDK 3.2.1
 */
-class PropertySetMixinImpl:
+class CPPUHELPER_DLLPUBLIC PropertySetMixinImpl:
     public com::sun::star::beans::XPropertySet,
     public com::sun::star::beans::XFastPropertySet,
     public com::sun::star::beans::XPropertyAccess

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/propshlp.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/propshlp.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/propshlp.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/propshlp.hxx Mon Dec  3 17:49:04 2018
@@ -27,6 +27,7 @@
 #include <rtl/alloc.h>
 
 #include <cppuhelper/interfacecontainer.hxx>
+#include "cppuhelper/cppuhelperdllapi.h"
 
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/beans/XMultiPropertySet.hpp>
@@ -46,7 +47,7 @@ namespace cppu
 /**
    This interface is used by the OPropertyHelper, to access the property description.
  */
-class IPropertyArrayHelper
+class CPPUHELPER_DLLPUBLIC IPropertyArrayHelper
 {
 public:
 	// these are here to force memory de/allocation to sal lib.
@@ -113,7 +114,7 @@ public:
    You can use this helper class to map a XPropertySet-Interface to a XFast-
    or a XMultiPropertySet interface.
  */
-class OPropertyArrayHelper : public IPropertyArrayHelper
+class CPPUHELPER_DLLPUBLIC OPropertyArrayHelper : public IPropertyArrayHelper
 {
 public:
      /**
@@ -226,7 +227,7 @@ struct hashInt32_Impl
 /** Specialized class for key type sal_Int32,
     without explicit usage of STL symbols.
 */
-class OMultiTypeInterfaceContainerHelperInt32
+class CPPUHELPER_DLLPUBLIC OMultiTypeInterfaceContainerHelperInt32
 {
 public:
 	// these are here to force memory de/allocation to sal lib.
@@ -343,7 +344,7 @@ public:
    the connection point interfaces. But only listeners that listen to all property changes.
   
  */
-class OPropertySetHelper : public ::com::sun::star::beans::XMultiPropertySet,
+class CPPUHELPER_DLLPUBLIC OPropertySetHelper : public ::com::sun::star::beans::XMultiPropertySet,
 						   public ::com::sun::star::beans::XFastPropertySet,
 						   public ::com::sun::star::beans::XPropertySet
 {

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/servicefactory.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/servicefactory.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/servicefactory.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/servicefactory.hxx Mon Dec  3 17:49:04 2018
@@ -28,6 +28,7 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/lang/XMultiComponentFactory.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -56,6 +57,7 @@ namespace cppu
     path.
     @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > SAL_CALL
 createRegistryServiceFactory(
 	const ::rtl::OUString & rWriteRegistryFile, 

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/shlib.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/shlib.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/shlib.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/shlib.hxx Mon Dec  3 17:49:04 2018
@@ -28,6 +28,7 @@
 #include <com/sun/star/loader/CannotActivateFactoryException.hpp>
 #include <com/sun/star/registry/CannotRegisterImplementationException.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -47,6 +48,7 @@ namespace cppu
     factory instance (::com::sun::star::lang::XSingleComponentFactory or
     ::com::sun::star::lang::XSingleComponentFactory)
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
 SAL_CALL loadSharedLibComponentFactory(
 	::rtl::OUString const & rLibName, ::rtl::OUString const & rPath,
@@ -68,6 +70,7 @@ SAL_CALL loadSharedLibComponentFactory(
 	@param xMgr service manager to be provided to the component
 	@param xKey registry key to be provided to the component
 */
+CPPUHELPER_DLLPUBLIC
 void
 SAL_CALL writeSharedLibComponentInfo(
 	::rtl::OUString const & rLibName, ::rtl::OUString const & rPath,

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/stdidlclass.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/stdidlclass.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/stdidlclass.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/stdidlclass.hxx Mon Dec  3 17:49:04 2018
@@ -26,12 +26,14 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/reflection/XIdlClass.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu {
 
 /*
   @deprecated
 */
+CPPUHELPER_DLLPUBLIC
 ::com::sun::star::reflection::XIdlClass * SAL_CALL createStandardClassWithSequence(
 	const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr , 
 	const ::rtl::OUString & sImplementationName , 

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/typeprovider.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/typeprovider.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/typeprovider.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/typeprovider.hxx Mon Dec  3 17:49:04 2018
@@ -27,6 +27,7 @@
 #include <rtl/uuid.h>
 #include <com/sun/star/uno/Sequence.hxx>
 
+#include "cppuhelper/cppuhelperdllapi.h"
 
 namespace cppu
 {
@@ -34,7 +35,7 @@ namespace cppu
 /** Helper class to implement ::com::sun::star::lang::XTypeProvider.  Construct a static object
     of this class with your UNO object's supported types.
 */
-class OTypeCollection
+class CPPUHELPER_DLLPUBLIC OTypeCollection
 {
 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > _aTypes;
 	
@@ -183,7 +184,7 @@ public:
 /** Helper class to implement ::com::sun::star::lang::XTypeProvider.  Construct a static object
     of this class for your UNO object's implementation id.
 */
-class OImplementationId
+class CPPUHELPER_DLLPUBLIC OImplementationId
 {
     /** @internal */
 	mutable ::com::sun::star::uno::Sequence< sal_Int8 > * _pSeq;

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/unourl.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/unourl.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/unourl.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/unourl.hxx Mon Dec  3 17:49:04 2018
@@ -26,6 +26,8 @@
 
 #include <memory>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 namespace rtl { class OUString; }
 
 namespace cppu {
@@ -37,7 +39,7 @@ namespace cppu {
     For example, some functions take a string representing a connection or
     protocol descriptor as input, and can use this class to parse the string.
  */
-class UnoUrlDescriptor
+class CPPUHELPER_DLLPUBLIC UnoUrlDescriptor
 {
 public:
     /** @internal
@@ -134,7 +136,7 @@ private:
     invalid UTF-16 entities in the resulting output (e.g., a high surrogate not
     followed by a low surrogate) are not detected.
  */
-class UnoUrl
+class CPPUHELPER_DLLPUBLIC UnoUrl
 {
 public:
     /** Construct a UNO URL from a string representation.

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/weak.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/weak.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/weak.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/weak.hxx Mon Dec  3 17:49:04 2018
@@ -27,6 +27,7 @@
 #include <rtl/alloc.h>
 #include <cppuhelper/weakref.hxx>
 #include <cppuhelper/queryinterface.hxx>
+#include "cppuhelper/cppuhelperdllapi.h"
 #ifndef _COM_SUN_STAR_UNO_WEAK_HPP_
 #include <com/sun/star/uno/XWeak.hpp>
 #endif
@@ -46,7 +47,7 @@ class OWeakConnectionPoint;
     @derive
     Inherit from this class and delegate acquire()/ release() calls.
 */
-class OWeakObject : public ::com::sun::star::uno::XWeak
+class CPPUHELPER_DLLPUBLIC OWeakObject : public ::com::sun::star::uno::XWeak
 {
     /** @internal */
 	friend class OWeakConnectionPoint;

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakagg.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakagg.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakagg.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakagg.hxx Mon Dec  3 17:49:04 2018
@@ -24,6 +24,7 @@
 #define _CPPUHELPER_WEAKAGG_HXX_
 
 #include <cppuhelper/weak.hxx>
+#include "cppuhelper/cppuhelperdllapi.h"
 #include <com/sun/star/uno/XAggregation.hpp>
 
 
@@ -40,7 +41,7 @@ namespace cppu
     Inherit from this class and delegate acquire()/ release() calls.  Re-implement
     XAggregation::queryInterface().
 */
-class OWeakAggObject
+class CPPUHELPER_DLLPUBLIC OWeakAggObject
 	: public ::cppu::OWeakObject
 	, public ::com::sun::star::uno::XAggregation
 {

Modified: openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakref.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakref.hxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakref.hxx (original)
+++ openoffice/trunk/main/cppuhelper/inc/cppuhelper/weakref.hxx Mon Dec  3 17:49:04 2018
@@ -25,6 +25,8 @@
 
 #include <com/sun/star/uno/XInterface.hpp>
 
+#include "cppuhelper/cppuhelperdllapi.h"
+
 
 namespace com
 {    
@@ -41,7 +43,7 @@ class OWeakRefListener;
 /** The WeakReferenceHelper holds a weak reference to an object. This object must implement
     the ::com::sun::star::uno::XWeak interface.  The implementation is thread safe.
 */
-class WeakReferenceHelper
+class CPPUHELPER_DLLPUBLIC WeakReferenceHelper
 {
 public:
 	/** Default ctor.  Creates an empty weak reference.

Modified: openoffice/trunk/main/cppuhelper/prj/d.lst
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/prj/d.lst?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/prj/d.lst (original)
+++ openoffice/trunk/main/cppuhelper/prj/d.lst Mon Dec  3 17:49:04 2018
@@ -1,5 +1,6 @@
 mkdir: %_DEST%\inc%_EXT%\cppuhelper
 
+..\inc\cppuhelper\cppuhelperdllapi.h %_DEST%\inc%_EXT%\cppuhelper\cppuhelperdllapi.h
 ..\inc\cppuhelper\implbase.hxx %_DEST%\inc%_EXT%\cppuhelper\implbase.hxx
 ..\inc\cppuhelper\implbase_ex.hxx %_DEST%\inc%_EXT%\cppuhelper\implbase_ex.hxx
 ..\inc\cppuhelper\implbase_ex_pre.hxx %_DEST%\inc%_EXT%\cppuhelper\implbase_ex_pre.hxx

Modified: openoffice/trunk/main/cppuhelper/source/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/source/makefile.mk?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/source/makefile.mk (original)
+++ openoffice/trunk/main/cppuhelper/source/makefile.mk Mon Dec  3 17:49:04 2018
@@ -27,6 +27,7 @@ TARGET=cppuhelper
 
 ENABLE_EXCEPTIONS=TRUE
 USE_DEFFILE=TRUE
+VISIBILITY_HIDDEN=TRUE
 
 # not strictly a bootstrap service but containing
 # bootstrap code that may require generated files
@@ -121,6 +122,8 @@ CFLAGS += -Ob0
 .ENDIF
 .ENDIF
 
+CFLAGS += -DCPPUHELPER_DLLIMPLEMENTATION
+
 SLOFILES= \
 		$(SLO)$/typeprovider.obj 	\
 		$(SLO)$/exc_thrower.obj 	\
@@ -173,7 +176,7 @@ SHL1DEF=$(MISC)$/$(SHL1TARGET).def
 DEF1NAME=$(SHL1TARGET)
 
 .IF "$(COMNAME)"=="msci"
-SHL1VERSIONMAP=msvc_win32_intel.map
+.ELIF "$(COMNAME)"=="mscx"
 .ELIF "$(COMNAME)"=="sunpro5"
 SHL1VERSIONMAP=cc5_solaris_sparc.map
 .ELIF "$(GUI)$(COMNAME)"=="OS2gcc3"

Modified: openoffice/trunk/main/cppuhelper/source/servicefactory.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/cppuhelper/source/servicefactory.cxx?rev=1848075&r1=1848074&r2=1848075&view=diff
==============================================================================
--- openoffice/trunk/main/cppuhelper/source/servicefactory.cxx (original)
+++ openoffice/trunk/main/cppuhelper/source/servicefactory.cxx Mon Dec  3 17:49:04 2018
@@ -316,6 +316,7 @@ static void add_access_control_entries(
     context_values.push_back( entry );
 }
 
+SAL_DLLPUBLIC_EXPORT
 Reference< lang::XMultiComponentFactory > bootstrapInitialSF(
     OUString const & rBootstrapPath )
     SAL_THROW( (Exception) )