summaryrefslogtreecommitdiff
path: root/ure
diff options
context:
space:
mode:
Diffstat (limited to 'ure')
-rw-r--r--ure/prj/build.lst2
-rw-r--r--ure/prj/d.lst11
-rw-r--r--ure/source/README406
-rw-r--r--ure/source/THIRDPARTYLICENSEREADME.html556
-rw-r--r--ure/source/delzip0
-rw-r--r--ure/source/jvmfwk3.ini5
-rw-r--r--ure/source/jvmfwk3rc5
-rw-r--r--ure/source/makefile.mk69
-rw-r--r--ure/source/startup.sh47
-rw-r--r--ure/source/uno.ini6
-rw-r--r--ure/source/unorc6
-rw-r--r--ure/source/uretest/JavaClient.java72
-rw-r--r--ure/source/uretest/JavaMain.java70
-rw-r--r--ure/source/uretest/JavaNative.java41
-rw-r--r--ure/source/uretest/JavaTest.java64
-rw-r--r--ure/source/uretest/Makefile310
-rw-r--r--ure/source/uretest/Makefile.pln315
-rw-r--r--ure/source/uretest/README115
-rw-r--r--ure/source/uretest/Runner.java41
-rw-r--r--ure/source/uretest/Tester.java55
-rw-r--r--ure/source/uretest/cppmain.cc292
-rw-r--r--ure/source/uretest/cppserver.cc125
-rw-r--r--ure/source/uretest/cpptest.cc125
-rw-r--r--ure/source/uretest/javaclient.mf.template5
-rw-r--r--ure/source/uretest/javamain.mf.template5
-rw-r--r--ure/source/uretest/javanative.mf.template5
-rw-r--r--ure/source/uretest/javatest.mf.template5
-rw-r--r--ure/source/uretest/runner.mf.template5
-rw-r--r--ure/source/uretest/tester.mf.template5
-rw-r--r--ure/source/uretest/types.idl52
-rw-r--r--ure/source/uretest/types.mf.template4
-rw-r--r--ure/source/uretest/version.map41
32 files changed, 2865 insertions, 0 deletions
diff --git a/ure/prj/build.lst b/ure/prj/build.lst
new file mode 100644
index 000000000000..7618bf3299b7
--- /dev/null
+++ b/ure/prj/build.lst
@@ -0,0 +1,2 @@
+ur ure : LIBXSLT:libxslt binaryurp cli_ure io javaunohelper remotebridges solenv stoc NULL
+ur ure\source nmake - all ur_source NULL
diff --git a/ure/prj/d.lst b/ure/prj/d.lst
new file mode 100644
index 000000000000..22cfb161c19a
--- /dev/null
+++ b/ure/prj/d.lst
@@ -0,0 +1,11 @@
+mkdir: %_DEST%\bin%_EXT%\ure
+mkdir: %_DEST%\xml%_EXT%\ure
+..\%__SRC%\bin\uretest.zip %COMMON_DEST%\bin%_EXT%\uretest.zip
+..\%__SRC%\misc\services.rdb %_DEST%\xml%_EXT%\ure\services.rdb
+..\source\README %_DEST%\bin%_EXT%\ure\README
+..\source\THIRDPARTYLICENSEREADME.html %_DEST%\bin%_EXT%\ure\THIRDPARTYLICENSEREADME.html
+..\source\jvmfwk3.ini %_DEST%\bin%_EXT%\ure\jvmfwk3.ini
+..\source\jvmfwk3rc %_DEST%\bin%_EXT%\ure\jvmfwk3rc
+..\source\startup.sh %_DEST%\bin%_EXT%\ure\startup.sh
+..\source\uno.ini %_DEST%\bin%_EXT%\ure\uno.ini
+..\source\unorc %_DEST%\bin%_EXT%\ure\unorc
diff --git a/ure/source/README b/ure/source/README
new file mode 100644
index 000000000000..fdf1c7e85d9b
--- /dev/null
+++ b/ure/source/README
@@ -0,0 +1,406 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+
+Overview of URE installation
+-----------------------------
+
+Linux x86, Solaris x86, and Solaris SPARC:
+
+/opt/openoffice.org/ure/LICENSE
+/opt/openoffice.org/ure/THIRDPARTYLICENSEREADME.html
+/opt/openoffice.org/ure/README
+/opt/openoffice.org/ure/bin/uno
+/opt/openoffice.org/ure/bin/regcomp
+/opt/openoffice.org/ure/bin/regmerge
+/opt/openoffice.org/ure/bin/regview
+/opt/openoffice.org/ure/bin/javaldx
+/opt/openoffice.org/ure/lib/libuno_cppu.so.3
+/opt/openoffice.org/ure/lib/libuno_cppuhelpergcc3.so.3 [Linux x86 only]
+/opt/openoffice.org/ure/lib/libuno_cppuhelperC52.so.3 [Solaris only]
+/opt/openoffice.org/ure/lib/libuno_purpenvhelpergcc3.so.3 [Linux x86 only]
+/opt/openoffice.org/ure/lib/libuno_purpenvhelperC52.so.3 [Solaris only]
+/opt/openoffice.org/ure/lib/libuno_sal.so.3
+/opt/openoffice.org/ure/lib/libuno_salhelpergcc3.so.3 [Linux x86 only]
+/opt/openoffice.org/ure/lib/libuno_salhelperC52.so.3 [Solaris only]
+/opt/openoffice.org/ure/lib/libstlport_gcc.so [Linux x86 only]
+/opt/openoffice.org/ure/lib/libstlport_sunpro.so [Solaris only]
+/opt/openoffice.org/ure/share/java/unoloader.jar
+/opt/openoffice.org/ure/share/java/juh.jar
+/opt/openoffice.org/ure/share/java/jurt.jar
+/opt/openoffice.org/ure/share/java/ridl.jar
+/opt/openoffice.org/ure/share/misc/types.rdb
+/opt/openoffice.org/ure/share/misc/services.rdb
+/opt/openoffice.org/ure/lib/libxml2.so.2 [external]
+/opt/openoffice.org/ure/lib/libgcc_s.so.1 [external; Linux x86 only]
+/opt/openoffice.org/ure/lib/libstdc++.so.6 [external; Linux x86 only]
+/opt/openoffice.org/ure/bin/startup.sh [private]
+/opt/openoffice.org/ure/bin/uno.bin [private]
+/opt/openoffice.org/ure/bin/regcomp.bin [private]
+/opt/openoffice.org/ure/lib/unorc [private]
+/opt/openoffice.org/ure/lib/libreg.so.3 [private]
+/opt/openoffice.org/ure/lib/libstore.so.3 [private]
+/opt/openoffice.org/ure/lib/libxmlreader.so [private]
+/opt/openoffice.org/ure/lib/libjvmaccessgcc3.so.3 [private; Linux x86 only]
+/opt/openoffice.org/ure/lib/libjvmaccessC52.so.3 [private; Solaris only]
+/opt/openoffice.org/ure/lib/libjvmfwk.so.3 [private]
+/opt/openoffice.org/ure/lib/sunjavaplugin.so [private]
+/opt/openoffice.org/ure/lib/JREProperties.class [private]
+/opt/openoffice.org/ure/lib/jvmfwk3rc [private]
+/opt/openoffice.org/ure/lib/libgcc3_uno.so [private; Linux x86 only]
+/opt/openoffice.org/ure/lib/libsunpro5_uno.so [private; Solaris only]
+/opt/openoffice.org/ure/lib/libjava_uno.so [private]
+/opt/openoffice.org/ure/lib/libunsafe_uno_uno.so [private]
+/opt/openoffice.org/ure/lib/libaffine_uno_uno.so [private]
+/opt/openoffice.org/ure/lib/liblog_uno_uno.so [private]
+/opt/openoffice.org/ure/lib/libjpipe.so [private]
+/opt/openoffice.org/ure/lib/libjuh.so [private]
+/opt/openoffice.org/ure/lib/libjuhx.so [private]
+/opt/openoffice.org/ure/lib/acceptor.uno.so [private]
+/opt/openoffice.org/ure/lib/binaryurp.uno.so [private]
+/opt/openoffice.org/ure/lib/bootstrap.uno.so [private]
+/opt/openoffice.org/ure/lib/connector.uno.so [private]
+/opt/openoffice.org/ure/lib/introspection.uno.so [private]
+/opt/openoffice.org/ure/lib/invocadapt.uno.so [private]
+/opt/openoffice.org/ure/lib/invocation.uno.so [private]
+/opt/openoffice.org/ure/lib/javaloader.uno.so [private]
+/opt/openoffice.org/ure/lib/javavm.uno.so [private]
+/opt/openoffice.org/ure/lib/namingservice.uno.so [private]
+/opt/openoffice.org/ure/lib/proxyfac.uno.so [private]
+/opt/openoffice.org/ure/lib/reflection.uno.so [private]
+/opt/openoffice.org/ure/lib/streams.uno.so [private]
+/opt/openoffice.org/ure/lib/textinstream.uno.so [private]
+/opt/openoffice.org/ure/lib/textoutstream.uno.so [private]
+/opt/openoffice.org/ure/lib/stocservices.uno.so [private]
+/opt/openoffice.org/ure/lib/uuresolver.uno.so [private]
+/opt/openoffice.org/ure/share/java/java_uno.jar [private]
+/opt/openoffice.org/ure/share/misc/javavendors.xml [private]
+
+Windows:
+
+Program Files\URE\LICENSE
+Program Files\URE\THIRDPARTYLICENSEREADME.html
+Program Files\URE\README
+Program Files\URE\bin\uno.exe
+Program Files\URE\bin\regcomp.exe
+Program Files\URE\bin\regmerge.exe
+Program Files\URE\bin\regview.exe
+Program Files\URE\bin\cppu3.dll
+Program Files\URE\bin\cppuhelper3MSC.dll
+Program Files\URE\bin\purpenvhelper3MSC.dll
+Program Files\URE\bin\sal3.dll
+Program Files\URE\bin\salhelper3MSC.dll
+Program Files\URE\bin\stlport_vc7145.dll
+Program Files\URE\java\unoloader.jar
+Program Files\URE\java\juh.jar
+Program Files\URE\java\jurt.jar
+Program Files\URE\java\ridl.jar
+Program Files\URE\misc\types.rdb
+Program Files\URE\misc\services.rdb
+Program Files\URE\bin\libxml2.dll [external]
+Program Files\URE\bin\uno.ini [private]
+Program Files\URE\bin\reg3.dll [private]
+Program Files\URE\bin\store3.dll [private]
+Program Files\URE\bin\xmlreader.dll [private]
+Program Files\URE\bin\jvmaccess3MSC.dll [private]
+Program Files\URE\bin\jvmfwk3.dll [private]
+Program Files\URE\bin\sunjavaplugin.dll [private]
+Program Files\URE\bin\JREProperties.class [private]
+Program Files\URE\bin\jvmfwk3.ini [private]
+Program Files\URE\bin\msci_uno.dll [private]
+Program Files\URE\bin\java_uno.dll [private]
+Program Files\URE\bin\cli_uno.dll [private]
+Program Files\URE\bin\unsafe_uno_uno.dll [private]
+Program Files\URE\bin\affine_uno_uno.dll [private]
+Program Files\URE\bin\log_uno_uno.dll [private]
+Program Files\URE\bin\jpipe.dll [private]
+Program Files\URE\bin\jpipx.dll [private]
+Program Files\URE\bin\juh.dll [private]
+Program Files\URE\bin\juhx.dll [private]
+Program Files\URE\bin\acceptor.uno.dll [private]
+Program Files\URE\bin\binaryurp.uno.dll [private]
+Program Files\URE\bin\bootstrap.uno.dll [private]
+Program Files\URE\bin\connector.uno.dll [private]
+Program Files\URE\bin\introspection.uno.dll [private]
+Program Files\URE\bin\invocadapt.uno.dll [private]
+Program Files\URE\bin\invocation.uno.dll [private]
+Program Files\URE\bin\javaloader.uno.dll [private]
+Program Files\URE\bin\javavm.uno.dll [private]
+Program Files\URE\bin\namingservice.uno.dll [private]
+Program Files\URE\bin\proxyfac.uno.dll [private]
+Program Files\URE\bin\reflection.uno.dll [private]
+Program Files\URE\bin\streams.uno.dll [private]
+Program Files\URE\bin\textinstream.uno.dll [private]
+Program Files\URE\bin\textoutstream.uno.dll [private]
+Program Files\URE\bin\stocservices.uno.dll [private]
+Program Files\URE\bin\uuresolver.uno.dll [private]
+Program Files\URE\bin\unicows.dll [private]
+Program Files\URE\bin\uwinapi.dll [private]
+Program Files\URE\java\java_uno.jar [private]
+Program Files\URE\misc\javavendors.xml [private]
+
+%windir%\assembly\cli_basetypes.dll [GAC]
+%windir%\assembly\cli_ure.dll [GAC]
+%windir%\assembly\cli_uretypes.dll [GAC]
+%windir%\assembly\cli_cppuhelper.dll [GAC]
+%windir%\assembly\policy.1.0.cli_basetypes.dll [GAC]
+%windir%\assembly\policy.1.0.cli_ure.dll [GAC]
+%windir%\assembly\policy.1.0.cli_uretypes.dll [GAC]
+%windir%\assembly\policy.1.0.cli_cppuhelper.dll [GAC]
+
+Files marked as [external] are included in the URE installation because the URE
+needs them and it cannot be guaranteed that they are available on a given
+system. Applications using the URE may need those files too, so they are made
+available as non-private files of the URE installation. However, in an ideal
+world, those files would not need to be included in the URE installation.
+
+Files marked as [private] are private to the URE installation. To avoid
+stability issues, applications that use the URE should not access the
+functionality of these files.
+
+Files marked as [GAC] are installed in the Global Assembly Cache on Windows. The
+file path reflects the path as seen in the Explorer with the Assembly
+Cache Viewer Tool (Shfusion.dll) installed. The actual paths are different.
+
+
+Public Files in a URE Installation
+----------------------------------
+
+A URE installation contains the following public files:
+
+- uno is the executable file that runs UNO components. For more details, see
+the SDK Developer's Guide.
+
+- regcomp, regmerge, and regview are tools that work with binary registries that
+contain UNO type or UNO service information. For more details, see the SDK
+Developer's Guide.
+
+- javaldx is a helper program on Linux x86, Solaris x86, and Solaris SPARC that
+enables Java executables to use a Java VM, such as the Sun JDK/JRE. Executables
+such as uno and regcomp run this helper automatically.
+
+- cppu, cppuhelper, purpenvhelper, sal, and salhelper are the public C++ UNO
+runtime dynamic libraries that client code can call. For details on the
+functionality that these libraries offer, see the "C++ Reference" section of the
+SDK HTML documentation. The corresponding C++ header files are not in the URE,
+but rather in the SDK.
+
+- stlport is the dynamic library of STLport 4.5, which is used in the public
+interface of cppuhelper and salhelper, and thus also has to be part of the
+public interface of the URE. The corresponding C++ header files are not in the
+URE, but rather in the SDK.
+
+- unoloader.jar, juh.jar, jurt.jar, and ridl.jar are the public Java UNO runtime
+Java[tm] Archives (JARs) that client code can call. For details on the
+functionality that these files offer, see the "Java UNO Runtime Reference"
+section of the SDK HTML documentation.
+
+- types.rdb and services.rdb are preconfigured UNO type and service registries.
+For more details, see the "Deploying a URE" section of this README.
+
+
+Deploying a URE
+---------------
+
+By default, the URE is installed in /opt/openoffice.org/ure on Linux x86,
+Solaris x86, and Solaris SPARC, and in Program Files\URE on Windows. If you
+want, you can override this location when you install the URE, for example, with
+rpm --relocate on Linux. The URE is designed so that multiple instances of the
+URE can coexist on a single system in different locations.
+
+On Windows, the path to the installed URE is stored in the registry under the
+path "HKEY_CLASSES_ROOT\Software\OpenOffice.org\URE" and key "Path".
+
+
+UNO Deployment Variables
+------------------------
+
+The URE installation is preconfigured with several UNO types and UNO services.
+The available types and services are listed in the types.rdb and services.rdb
+files respectively. The location of these files is stored by two UNO deployment
+variables, namely UNO_TYPES and UNO_SERVICES. These variables are set up by a
+unorc or uno.ini that is private to the URE installation. This private file
+also contains the private deployment variables URE_INTERNAL_LIB_DIR,
+URE_INTERNAL_JAVA_DIR, and URE_INTERNAL_JAVA_CLASSPATH, which are required by
+the URE.
+
+The UNO_TYPES and UNO_SERVICES variables automatically search the following
+locations for types.rdb and services.rdb files:
+
+Linux x86, Solaris x86, and Solaris SPARC:
+
+- <URE installation>/share/misc/ types.rdb and services.rdb, respectively
+- /etc/opt/ure/ types.rdb and services.rdb, respectively
+- ~/.ure/ types.rdb and services.rdb, respectively
+- any URLs listed in the public deployment variables URE_MORE_TYPES and
+ URE_MORE_SERVICES, respectively
+
+Windows:
+
+- <URE installation>\misc\ types.rdb and services.rdb, respectively
+- Documents and Settings\<User Name>\Application Data\URE\ types.rdb and
+ services.rdb, respectively
+- any URLs listed in the public deployment variables URE_MORE_TYPES and
+ URE_MORE_SERVICES, respectively
+
+NOTE: The URE on Windows does not support a system-wide deployment of additional
+types.rdb and services.rdb files. That is, you cannot store additional
+types.rdb and services.rdb files in a Documents and Settings\All
+Users\Application Data\URE directory.
+
+The Java UNO environment needs type information in the form of Java class files
+instead of rdb files. Additional types are searched for in any URLs listed in
+the public deployment variable URE_MORE_JAVA_TYPES.
+
+For details on how to override the UNO deployment variables, see the SDK
+Developer's Guide or go to http://udk.openoffice.org/common/man/concept/
+micro_deployment.html.
+
+If you want to deploy additional UNO types and services, use regcomp.
+
+CAUTION: Do not deploy these types and services to the types.rdb and
+services.rdb in the URE installation.
+
+
+URE Java Framework
+------------------
+
+When a URE executable, such as uno, starts a Java VM, the URE Java Framework
+searches for a suitable JDK/JRE installation. For more information on the URE
+Java Framework, go to http://udk.openoffice.org/common/man/spec/
+javavendorextension.sxw. The private javavendors.xml file in a URE installation
+provides preconfigured support for various JDK/JRE versions. The private
+jvmfwk3rc or jvmfwk3.ini file specifies the location of a suitable JDK/JRE
+installation. When an executable tries to start a Java VM, the URE searches the
+relevant Java settings file for information on a suitable JDK/JRE version.
+
+NOTE: On any platform, you can delete the javasettings_${_OS}_${_ARCH}.xml file
+if the file contains problematic stale data.
+
+By default, the URE searches for a Java settings file in the following
+locations:
+
+Linux x86, Solaris x86, and Solaris SPARC:
+
+- /etc/opt/ure/javasettings_${_OS}_${_ARCH}.xml
+- ~/.ure/javasettings_${_OS}_${_ARCH}.xml
+
+NOTE: If these files do not contain information about a JDK/JRE, the URE
+searches for a suitable JDK/JRE installation and stores the relevant information
+in the ~/.ure/javasettings_${_OS}_${_ARCH}.xml file. If you want all users to
+access the same JDK/JRE, log on as root and copy an existing
+~/.ure/javasettings_${_OS}_${_ARCH}.xml to
+/etc/opt/ure/javasettings_${_OS}_${_ARCH}.xml.
+
+Windows:
+
+- Documents and Settings\<User Name>\Application
+ Data\URE\javasettings_${_OS}_${_ARCH}.xml
+
+NOTE: If this file does not contain information about a JDK/JRE, the URE
+searches for a suitable JDK/JRE installation and stores the relevant information
+in the Documents and Settings\<User Name>\Application
+Data\URE\javasettings_${_OS}_${_ARCH}.xml file. The URE on Windows does not
+by default support a system-wide deployment of the Java settings file. That is,
+you cannot store the file in a Documents and Settings\All Users\Application
+Data\URE directory.
+
+You can override these paths by setting the URE_OVERRIDE_JAVA_JFW_SHARED_DATA
+and URE_OVERRIDE_JAVA_JFW_USER_DATA deployment variables. You can also use the
+UNO_JAVA_JFW_JREHOME deployment variable to specify the location of a JDK/JRE
+installation. For more information on this variable, see
+http://udk.openoffice.org/common/man/spec/javavendorextension.sxw.
+
+The URE allows clients to extend the content of UNO_JAVA_JFW_CLASSPATH_URLS (see
+http://udk.openoffice.org/common/man/spec/javavendorextension.sxw): The content
+of the public deployment variable URE_MORE_JAVA_CLASSPATH_URLS, if set, is
+added to the end of the URE's UNO_JAVA_JFW_CLASSPATH_URLS list.
+
+You might experience problems in an SDK environment that uses different JDK/JRE
+versions for the SDK and the URE. This problem arises when the OO_SDK_JAVA_HOME
+SDK environment variable specifies a different Java VM than the Java VM that is
+used in the URE Java Framework. See the "Installation Guide" section of the SDK
+HTML documentation to find out how to set the OO_SDK_JAVA_HOME environment
+variable.
+
+
+GNU Compiler Collection on Linux x86
+------------------------------------
+
+On Linux x86, the URE uses libgcc_s.so.1 to run binary UNO components that were
+compiled with the GNU Compiler Collection (GCC). The libgcc_s.so.1 corresponds
+to GCC 3.4.1 as built on a glibc 2.2.4 system. To avoid GCC compatibility
+issues, use the same GCC version (or later) when you compile the UNO binaries.
+Otherwise, use LD_PRELOAD to replace the libgcc_s.so.1 in URE with a matching
+version.
+
+
+C++ and Java UNO Components
+---------------------------
+
+C++ UNO components run from within the uno executable can depend on an
+environment in which the public C++ UNO runtime dynamic libraries (cppu,
+cppuhelper, purpenvhelper, sal, salhelper, stlport) and the external dynamic
+libraries (libxml2 etc.) are already available (that is, on Linux x86, Solaris
+x86, and Solaris SPARC, a component dynamic library need not make sure that the
+UNO runtime dynamic libraries it needs can be found on its RPATH).
+
+Similarly, Java UNO components can depend on an environment in which the public
+Java UNO runtime JARs are already available (that is, a component JAR need not
+list in its manifest Class-Path the UNO runtime JARs it needs).
+
+If a Java UNO component requires additional UNO types, use the UNO-Type-Path
+manifest entry to specify the location of the UNO types. The UNO-Type-Path is
+similar to the Class-Path manifest entry and can contain URLs of JARs and
+directories that contain the Java classes that represent additional UNO types.
+The UnoClassLoader evaluates the UNO-Type-Path manifest entry to ensure that the
+additional UNO types are available to the Java UNO environment.
+
+The UNO-Type-Path can have the following entries:
+
+- UNO-Type-Path:
+Current JAR does not contain UNO types.
+
+- UNO-Type-Path: <>
+Current JAR contains UNO types.
+
+- UNO-Type-Path: any/other/jar.jar yet/another/jar.jar
+Current JAR brings other JARs that contain UNO types.
+
+- UNO-Type-Path: any/other/jar.jar <> yet/another/jar.jar
+Current JAR and other JARs that the current JARs uses contain UNO types.
+
+NOTE: If you do not include the UNO-Type-Path manifest entry, the URE assumes
+that the current JAR contains UNO types.
+
+If a Java application requires the Java UNO environment, the UnoClassLoader must
+be set up to load the relevant Java classes. For example, Runner.java in the
+uretest bundle is packed as runner.jar, which the makefiles use to launch the
+javaclient.jar application. For more information, see
+com.sun.star.lib.unoloader.UnoClassLoader and
+com.sun.star.lib.unoloader.UnoLoader in the "Java UNO Runtime Reference" section
+of the SDK HTML documentation.
diff --git a/ure/source/THIRDPARTYLICENSEREADME.html b/ure/source/THIRDPARTYLICENSEREADME.html
new file mode 100644
index 000000000000..eeacd59bbea7
--- /dev/null
+++ b/ure/source/THIRDPARTYLICENSEREADME.html
@@ -0,0 +1,556 @@
+DO NOT TRANSLATE OR LOCALIZE
+
+***************************************************************************
+
+%%The following software may be included in this product:
+libxml2
+
+Use of any of this software is governed by the terms of the license below:
+
+Copyright (c)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Additional License(s)
+
+Except where otherwise noted in the source code (trio files, hash.c and list.c)
+covered by a similar licence but with different Copyright notices:
+
+ Copyright (C) 1998-2002 Daniel Veillard. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Daniel Veillard shall not
+be used in advertising or otherwise to promote the sale, use or other deal-
+ings in this Software without prior written authorization from him.
+
+***************************************************************************
+
+%%The following software may be included in this product:
+STLport
+
+Use of any of this software is governed by the terms of the license below:
+
+License Agreement
+
+Boris Fomitchev grants Licensee a non-exclusive, non-transferable, royalty-free
+license to use STLport and its documentation without fee.
+
+By downloading, using, or copying STLport or any portion thereof, Licensee
+agrees to abide by the intellectual property laws and all other applicable laws
+of the United States of America, and to all of the terms and conditions of this
+Agreement.
+
+Licensee shall maintain the following copyright and permission notices on
+STLport sources and its documentation unchanged :
+Copyright 1999,2000 Boris Fomitchev
+
+This material is provided "as is", with absolutely no warranty expressed or
+implied. Any use is at your own risk.
+Permission to use or copy this software for any purpose is hereby granted
+without fee, provided the above notices are retained on all copies. Permission
+to modify the code and to distribute modified code is granted, provided the
+above notices are retained, and a notice that the code was modified is included
+with the above copyright notice.
+
+The Licensee may distribute binaries compiled with STLport (whether original or
+modified) without any royalties or restrictions.
+
+The Licensee may distribute original or modified STLport sources, provided that:
+
+ * The conditions indicated in the above permission notice are met;
+ * The following copyright notices are retained when present, and conditions
+provided in accompanying permission notices are met :
+
+Copyright 1994 Hewlett-Packard Company
+
+Copyright 1996,97 Silicon Graphics Computer Systems, Inc.
+
+Copyright 1997 Moscow Center for SPARC Technology.
+
+ Permission to use, copy, modify, distribute and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that the
+above copyright notice appear in all copies and that both that copyright notice
+and this permission notice appear in supporting documentation. Hewlett-Packard
+Company makes no representations about the suitability of this software for any
+purpose. It is provided "as is" without express or implied warranty.
+
+ Permission to use, copy, modify, distribute and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that the
+above copyright notice appear in all copies and that both that copyright notice
+and this permission notice appear in supporting documentation. Silicon Graphics
+makes no representations about the suitability of this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+ Permission to use, copy, modify, distribute and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that the
+above copyright notice appear in all copies and that both that copyright notice
+and this permission notice appear in supporting documentation. Moscow Center for
+SPARC Technology makes no representations about the suitability of this
+software for any purpose. It is provided "as is" without express or implied
+warranty.
+
+***************************************************************************
+
+%%The following software may be included in this product:
+libstdc++
+
+Use of any of this software is governed by the terms of the license below:
+
+GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
+Additional License(s)
+
+I didn't search the source code, our program is dynamically linking
+against the libstdc++ library installed on the system. However, here
+is the additional Licenses info from opensource review#1994:
+
+
+here is header one of the source files from the libstdc++ directory
+
+// Explicit instantiation file.
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+// Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free
+software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you
+compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be
+covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882:
+//
+
+
+
+And here is a header from a file from libgcc, they look the same
+version to me
+
+/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Contributed by Jakub Jelinek .
+
+ This file is part of GNU CC.
+
+ GNU CC is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GNU CC is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU CC; see the file COPYING. If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, if you link this library with other files,
+ some of which are compiled with GCC, to produce an executable,
+ this library does not by itself cause the resulting executable
+ to be covered by the GNU General Public License.
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public
+License. */
+
+/* Locate the FDE entry for a given address, using PT_GNU_EH_FRAME ELF
+ segment and dl_iterate_phdr to avoid register/deregister calls at
+ DSO load/unload. */
+
+***************************************************************************
+
diff --git a/ure/source/delzip b/ure/source/delzip
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/ure/source/delzip
diff --git a/ure/source/jvmfwk3.ini b/ure/source/jvmfwk3.ini
new file mode 100644
index 000000000000..55c029dd4021
--- /dev/null
+++ b/ure/source/jvmfwk3.ini
@@ -0,0 +1,5 @@
+[Bootstrap]
+UNO_JAVA_JFW_VENDOR_SETTINGS=${ORIGIN}/../misc/javavendors.xml
+UNO_JAVA_JFW_SHARED_DATA=${URE_OVERRIDE_JAVA_JFW_SHARED_DATA} ${SYSUSERCONFIG}/URE/javasettings_${_OS}_${_ARCH}.xml
+UNO_JAVA_JFW_USER_DATA=${URE_OVERRIDE_JAVA_JFW_USER_DATA} ${SYSUSERCONFIG}/URE/javasettings_${_OS}_${_ARCH}.xml
+UNO_JAVA_JFW_CLASSPATH_URLS=${URE_MORE_JAVA_CLASSPATH_URLS}
diff --git a/ure/source/jvmfwk3rc b/ure/source/jvmfwk3rc
new file mode 100644
index 000000000000..d0b09f89058b
--- /dev/null
+++ b/ure/source/jvmfwk3rc
@@ -0,0 +1,5 @@
+[Bootstrap]
+UNO_JAVA_JFW_VENDOR_SETTINGS=${ORIGIN}/../share/misc/javavendors.xml
+UNO_JAVA_JFW_SHARED_DATA=${URE_OVERRIDE_JAVA_JFW_SHARED_DATA} file:///etc/opt/ure/javasettings_${_OS}_${_ARCH}.xml
+UNO_JAVA_JFW_USER_DATA=${URE_OVERRIDE_JAVA_JFW_USER_DATA} ${SYSUSERHOME}/.ure/javasettings_${_OS}_${_ARCH}.xml
+UNO_JAVA_JFW_CLASSPATH_URLS=${URE_MORE_JAVA_CLASSPATH_URLS}
diff --git a/ure/source/makefile.mk b/ure/source/makefile.mk
new file mode 100644
index 000000000000..bdd43656b32c
--- /dev/null
+++ b/ure/source/makefile.mk
@@ -0,0 +1,69 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ = ..
+PRJNAME = ure
+TARGET = source
+
+ZIP1TARGET = uretest
+ZIP1FLAGS = -r
+ZIP1LIST = uretest
+
+my_components = \
+ acceptor \
+ binaryurp \
+ bootstrap \
+ connector \
+ introspection \
+ invocadapt \
+ invocation \
+ javaloader \
+ javavm \
+ juh \
+ namingservice \
+ proxyfac \
+ reflection \
+ stocservices \
+ streams \
+ textinstream \
+ textoutstream \
+ uuresolver
+
+.INCLUDE: settings.mk
+.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/services.rdb
+
+$(MISC)/services.rdb .ERRREMOVE : $(SOLARENV)/bin/packcomponents.xslt \
+ $(MISC)/services.input $(my_components:^"$(SOLARXMLDIR)/":+".component")
+ $(XSLTPROC) --nonet --stringparam prefix $(SOLARXMLDIR)/ -o $@ \
+ $(SOLARENV)/bin/packcomponents.xslt $(MISC)/services.input
+
+$(MISC)/services.input :
+ echo \
+ '<list>$(my_components:^"<filename>":+".component</filename>")</list>' \
+ > $@
diff --git a/ure/source/startup.sh b/ure/source/startup.sh
new file mode 100644
index 000000000000..7130d172809b
--- /dev/null
+++ b/ure/source/startup.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+# Pass -env arguments on to javaldx; needs to be fixed:
+my_envargs=
+for my_arg in "$@" ; do
+ case ${my_arg} in
+ -env:*) my_envargs="${my_envargs} ${my_arg}" ;;
+ esac
+done
+
+# Extend the LD_LIBRARY_PATH for Java:
+epath=`dirname "$0"`
+if [ -x "${epath}/javaldx" ] ; then
+ jpath=`"${epath}/javaldx" $my_envargs`
+ if [ -n "${jpath}" ]; then
+ LD_LIBRARY_PATH=${jpath}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
+ export LD_LIBRARY_PATH
+ fi
+fi
+
+exec "$0.bin" "$@"
diff --git a/ure/source/uno.ini b/ure/source/uno.ini
new file mode 100644
index 000000000000..590125f8193f
--- /dev/null
+++ b/ure/source/uno.ini
@@ -0,0 +1,6 @@
+[Bootstrap]
+URE_INTERNAL_LIB_DIR=${ORIGIN}
+URE_INTERNAL_JAVA_DIR=${ORIGIN}/../java
+URE_INTERNAL_JAVA_CLASSPATH=${URE_MORE_JAVA_TYPES}
+UNO_TYPES=${ORIGIN}/../misc/types.rdb ?${SYSUSERCONFIG}/URE/types.rdb ${URE_MORE_TYPES}
+UNO_SERVICES=${ORIGIN}/../misc/services.rdb ?${SYSUSERCONFIG}/URE/services.rdb ${URE_MORE_SERVICES}
diff --git a/ure/source/unorc b/ure/source/unorc
new file mode 100644
index 000000000000..50b8e8f1fe80
--- /dev/null
+++ b/ure/source/unorc
@@ -0,0 +1,6 @@
+[Bootstrap]
+URE_INTERNAL_LIB_DIR=${ORIGIN}
+URE_INTERNAL_JAVA_DIR=${ORIGIN}/../share/java
+URE_INTERNAL_JAVA_CLASSPATH=${URE_MORE_JAVA_TYPES}
+UNO_TYPES=${ORIGIN}/../share/misc/types.rdb ?file:///etc/opt/ure/types.rdb ?${SYSUSERHOME}/.ure/types.rdb ${URE_MORE_TYPES}
+UNO_SERVICES=${ORIGIN}/../share/misc/services.rdb ?file:///etc/opt/ure/services.rdb ?${SYSUSERHOME}/.ure/services.rdb ${URE_MORE_SERVICES}
diff --git a/ure/source/uretest/JavaClient.java b/ure/source/uretest/JavaClient.java
new file mode 100644
index 000000000000..71b3113372ed
--- /dev/null
+++ b/ure/source/uretest/JavaClient.java
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+package test.java.javaclient;
+
+import com.sun.star.bridge.XBridge;
+import com.sun.star.bridge.XBridgeFactory;
+import com.sun.star.comp.helper.Bootstrap;
+import com.sun.star.connection.Connector;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.lib.uno.helper.UnoUrl;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import test.types.Data;
+import test.types.XServer;
+
+public final class JavaClient {
+ public static void main(String[] arguments) throws Exception {
+ XComponentContext context = Bootstrap.createInitialComponentContext(
+ null);
+ XMultiComponentFactory manager = context.getServiceManager();
+ if (manager == null) {
+ throw new NullPointerException("no service manager");
+ }
+ XBridgeFactory factory = UnoRuntime.queryInterface(
+ XBridgeFactory.class,
+ manager.createInstanceWithContext(
+ "com.sun.star.bridge.BridgeFactory", context));
+ if (factory == null) {
+ throw new NullPointerException("no bridge factory");
+ }
+ UnoUrl url = UnoUrl.parseUnoUrl(arguments[0]);
+ XBridge bridge = factory.createBridge(
+ "", url.getProtocolAndParametersAsString(),
+ Connector.create(context).connect(
+ url.getConnectionAndParametersAsString()),
+ null);
+ Data d = UnoRuntime.queryInterface(
+ XServer.class, bridge.getInstance(url.getRootOid())).getData();
+ UnoRuntime.queryInterface(XComponent.class, bridge).dispose();
+ if (!d.m1.equals("Hello") || d.m2 != 42) {
+ throw new RuntimeException("Data object contains bad values");
+ }
+ }
+
+ private JavaClient() {}
+}
diff --git a/ure/source/uretest/JavaMain.java b/ure/source/uretest/JavaMain.java
new file mode 100644
index 000000000000..a6054b26ea1c
--- /dev/null
+++ b/ure/source/uretest/JavaMain.java
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+package test.java.javamain;
+
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.lang.XMain;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.uno.XComponentContext;
+import test.java.tester.Tester;
+
+public final class JavaMain implements XMain {
+ public JavaMain(XComponentContext context) {
+ this.context = context;
+ }
+
+ public int run(String[] arguments) {
+ Tester.test(context);
+ return 0;
+ }
+
+ public static boolean __writeRegistryServiceInfo(XRegistryKey key) {
+ return
+ FactoryHelper.writeRegistryServiceInfo(
+ IMPLEMENTATION_NAME, SERVICE_NAME, key);
+ }
+
+ public static XSingleServiceFactory __getServiceFactory(
+ String name, XMultiServiceFactory factory, XRegistryKey key)
+ {
+ if (name.equals(IMPLEMENTATION_NAME)) {
+ return FactoryHelper.getServiceFactory(
+ JavaMain.class, SERVICE_NAME, factory, key);
+ } else {
+ return null;
+ }
+ }
+
+ private static final String IMPLEMENTATION_NAME
+ = "test.java.javamain.Component";
+ private static final String SERVICE_NAME = "test.dummy.JavaMain";
+
+ private final XComponentContext context;
+}
diff --git a/ure/source/uretest/JavaNative.java b/ure/source/uretest/JavaNative.java
new file mode 100644
index 000000000000..cbbb988f5e69
--- /dev/null
+++ b/ure/source/uretest/JavaNative.java
@@ -0,0 +1,41 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+package test.java.javanative;
+
+import com.sun.star.comp.helper.Bootstrap;
+import test.java.tester.Tester;
+
+public final class JavaNative {
+ public static void main(String[] arguments) throws Exception {
+ Tester.test(
+ Bootstrap.defaultBootstrap_InitialComponentContext(
+ arguments[0], null));
+ }
+
+ private JavaNative() {}
+}
diff --git a/ure/source/uretest/JavaTest.java b/ure/source/uretest/JavaTest.java
new file mode 100644
index 000000000000..307ec3453096
--- /dev/null
+++ b/ure/source/uretest/JavaTest.java
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+package test.java.javatest;
+
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.registry.XRegistryKey;
+import test.types.TestException;
+import test.types.XTest;
+
+public final class JavaTest implements XTest {
+ public JavaTest() {}
+
+ public void throwException() throws TestException {
+ throw new TestException("test", this);
+ }
+
+ public static boolean __writeRegistryServiceInfo(XRegistryKey key) {
+ return
+ FactoryHelper.writeRegistryServiceInfo(
+ IMPLEMENTATION_NAME, SERVICE_NAME, key);
+ }
+
+ public static XSingleServiceFactory __getServiceFactory(
+ String name, XMultiServiceFactory factory, XRegistryKey key)
+ {
+ if (name.equals(IMPLEMENTATION_NAME)) {
+ return FactoryHelper.getServiceFactory(
+ JavaTest.class, SERVICE_NAME, factory, key);
+ } else {
+ return null;
+ }
+ }
+
+ private static final String IMPLEMENTATION_NAME
+ = "test.java.javatest.Component";
+ private static final String SERVICE_NAME = "test.types.JavaTest";
+}
diff --git a/ure/source/uretest/Makefile b/ure/source/uretest/Makefile
new file mode 100644
index 000000000000..7aaf580eb642
--- /dev/null
+++ b/ure/source/uretest/Makefile
@@ -0,0 +1,310 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+# The following variable can be set, if necessary (see README):
+#GCCS_COMPAT := LD_PRELOAD=/lib/libgcc_s.so.1
+
+
+.DELETE_ON_ERROR:
+
+
+PRJ = $(OO_SDK_HOME)
+
+include $(PRJ)/settings/settings.mk
+include $(PRJ)/settings/std.mk
+
+ifeq "$(PLATFORM)" "windows"
+qt = "
+qt2 =
+cwd = $(subst \,/,$(shell cd))
+link_output_switch = -out:
+link_std_libs = kernel32.lib msvcrt.lib
+ure_java_url = $(subst $(subst .,., ),%%20,$(subst \,/,$(URLPREFIX)$(OO_SDK_URE_JAVA_DIR)))
+ure_unorc_url = $(subst $(subst .,., ),%%20,$(subst \,/,$(URLPREFIX)$(OO_SDK_URE_LIB_DIR)/uno.ini))
+else
+qt = '
+qt2 = '
+cwd = $(PWD)
+link_output_switch = $(subst .,.,-o )
+link_std_libs =
+ure_java_url = $(URLPREFIX)$(OO_SDK_URE_JAVA_DIR)
+ure_unorc_url = $(URLPREFIX)$(OO_SDK_URE_LIB_DIR)/unorc
+endif
+
+
+.PHONY: ALL
+ALL: test
+
+include $(PRJ)/settings/stdtarget.mk
+
+
+.PHONY: test
+test: test-cpptest test-javatest test-javanative test-clientserver
+
+.PHONY: test-cpptest
+test-cpptest: out.sdk/cppmain.uno.$(SHAREDLIB_EXT) out.sdk/types.rdb \
+ out.sdk/services.rdb
+ $(GCCS_COMPAT) uno \
+ -c test.cpp.cppmain.Component -l $(URLPREFIX)$(cwd)/$< \
+ -ro "$(subst \,/,$(URLPREFIX)$(URE_TYPES))" -ro out.sdk/types.rdb \
+ -ro "$(subst \,/,$(URLPREFIX)$(URE_SERVICES))" \
+ -ro out.sdk/services.rdb
+
+.PHONY: test-javatest
+test-javatest: out.sdk/javamain.uno.jar out.sdk/types.rdb out.sdk/services.rdb
+ $(GCCS_COMPAT) uno \
+ -c test.java.javamain.Component -l $(URLPREFIX)$(cwd)/$< \
+ -ro "$(subst \,/,$(URLPREFIX)$(URE_TYPES))" -ro out.sdk/types.rdb \
+ -ro "$(subst \,/,$(URLPREFIX)$(URE_SERVICES))" \
+ -ro out.sdk/services.rdb
+
+.PHONY: test-javanative
+test-javanative: out.sdk/runner.jar out.sdk/javanative.jar \
+ out.sdk/javanative.rc out.sdk/services.rdb out.sdk/types.rdb
+ $(GCCS_COMPAT) $(SDK_JAVA) -jar out.sdk/runner.jar $(ure_java_url)/ \
+ $(URLPREFIX)$(cwd)/out.sdk/javanative.jar \
+ $(URLPREFIX)$(cwd)/out.sdk/javanative.rc
+
+do_server = $(GCCS_COMPAT) uno -c test.cpp.cppserver.Component \
+ -l $(URLPREFIX)$(cwd)/out.sdk/cppserver.uno.$(SHAREDLIB_EXT) \
+ -ro "$(subst \,/,$(URLPREFIX)$(URE_TYPES))" -ro out.sdk/types.rdb \
+ -ro "$(subst \,/,$(URLPREFIX)$(URE_SERVICES))" -ro out.sdk/services.rdb \
+ -u "uno:pipe,name=ure_test;urp;server" --singleaccept
+do_client = $(SDK_JAVA) -jar out.sdk/runner.jar $(ure_java_url)/ \
+ $(URLPREFIX)$(cwd)/out.sdk/javaclient.jar \
+ "uno:pipe,name=ure_test;urp;server"
+.PHONY: test-clientserver
+test-clientserver: out.sdk/cppserver.uno.$(SHAREDLIB_EXT) out.sdk/runner.jar \
+ out.sdk/javaclient.jar
+ifeq "$(PLATFORM)" "windows"
+ echo $(subst %,%%,$(do_server)) > out.sdk/server.bat
+ echo $(subst %,%%,$(do_client)) > out.sdk/client.bat
+ @ echo Execute test-clientserver manually: start out.sdk\server.bat
+ @ echo and then simultaneously start out.sdk\client.bat
+else
+ $(do_server) &
+ sleep 5 && $(do_client)
+endif
+
+
+.PHONY: clean
+clean:
+ $(DELRECURSIVE) $(subst /,$(PS),out.sdk)
+
+
+out.sdk/cppmain.uno.$(SHAREDLIB_EXT): out.sdk/cppmain.$(OBJ_EXT) version.map | \
+ out.sdk
+ $(LINK) $(COMP_LINK_FLAGS) $(link_output_switch)$@ $< $(LINK_LIBS) \
+ $(CPPULIB) $(CPPUHELPERLIB) $(SALLIB) $(SALHELPERLIB) \
+ $(STLPORTLIB) $(link_std_libs)
+
+out.sdk/cppmain.$(OBJ_EXT): cppmain.cc out.sdk/cpputypes.cppumaker.flag \
+ out.sdk/types.cppumaker.flag | out.sdk
+ $(CC) $(CC_FLAGS) $(CC_OUTPUT_SWITCH)$@ -I$(PRJ)/include/stl \
+ $(CC_INCLUDES) -Iout.sdk/include/cpputypes -Iout.sdk/include/types \
+ $(CC_DEFINES) $<
+
+
+out.sdk/cpptest.uno.$(SHAREDLIB_EXT): out.sdk/cpptest.$(OBJ_EXT) version.map | \
+ out.sdk
+ $(LINK) $(COMP_LINK_FLAGS) $(link_output_switch)$@ $< $(LINK_LIBS) \
+ $(CPPULIB) $(CPPUHELPERLIB) $(SALLIB) $(link_std_libs)
+
+out.sdk/cpptest.$(OBJ_EXT): cpptest.cc out.sdk/cpputypes.cppumaker.flag \
+ out.sdk/types.cppumaker.flag | out.sdk
+ $(CC) $(CC_FLAGS) $(CC_OUTPUT_SWITCH)$@ -I$(PRJ)/include/stl \
+ $(CC_INCLUDES) -Iout.sdk/include/cpputypes -Iout.sdk/include/types \
+ $(CC_DEFINES) $<
+
+
+out.sdk/cppserver.uno.$(SHAREDLIB_EXT): out.sdk/cppserver.$(OBJ_EXT) \
+ version.map | out.sdk
+ $(LINK) $(COMP_LINK_FLAGS) $(link_output_switch)$@ $< $(LINK_LIBS) \
+ $(CPPULIB) $(CPPUHELPERLIB) $(SALLIB) $(link_std_libs)
+
+out.sdk/cppserver.$(OBJ_EXT): cppserver.cc out.sdk/cpputypes.cppumaker.flag \
+ out.sdk/types.cppumaker.flag | out.sdk
+ $(CC) $(CC_FLAGS) $(CC_OUTPUT_SWITCH)$@ -I$(PRJ)/include/stl \
+ $(CC_INCLUDES) -Iout.sdk/include/cpputypes -Iout.sdk/include/types \
+ $(CC_DEFINES) $<
+
+
+out.sdk/cpputypes.cppumaker.flag: | out.sdk
+ $(CPPUMAKER) -O./out.sdk/include/cpputypes \
+ "-Tcom.sun.star.lang.DisposedException;com.sun.star.lang.EventObject;com.sun.star.lang.XMain;com.sun.star.lang.XMultiComponentFactory;com.sun.star.lang.XMultiServiceFactory;com.sun.star.lang.XSingleComponentFactory;com.sun.star.lang.XSingleServiceFactory;com.sun.star.lang.XTypeProvider;com.sun.star.registry.XRegistryKey;com.sun.star.uno.DeploymentException;com.sun.star.uno.Exception;com.sun.star.uno.RuntimeException;com.sun.star.uno.XAggregation;com.sun.star.uno.XComponentContext;com.sun.star.uno.XCurrentContext;com.sun.star.uno.XInterface;com.sun.star.uno.XWeak" \
+ -B/UCR "$(URE_TYPES)"
+ touch $@
+
+out.sdk/types.cppumaker.flag: out.sdk/types.rdb | out.sdk
+ $(CPPUMAKER) -O./out.sdk/include/types -B/UCR $< "-X$(URE_TYPES)"
+ touch $@
+
+
+out.sdk/javamain.uno.jar: \
+ out.sdk/class/javamain/test/java/javamain/JavaMain.class \
+ out.sdk/javamain.mf | out.sdk
+ $(SDK_JAR) cfm $@ out.sdk/javamain.mf -C out.sdk/class/javamain test
+
+out.sdk/javamain.mf: javamain.mf.template | out.sdk
+ sed -e $(qt)s~^Class-Path:$$~& tester.jar~$(qt) \
+ -e $(qt)s~^UNO-Type-Path:$$~& types.jar~$(qt) $< > $@
+
+out.sdk/class/javamain/test/java/javamain/JavaMain.class: JavaMain.java \
+ out.sdk/tester.jar | out.sdk/class
+ - $(DELRECURSIVE) $(subst /,$(PS),out.sdk/class/javamain)
+ $(MKDIR) $(subst /,$(PS),out.sdk/class/javamain)
+ $(SDK_JAVAC) $(JAVAC_FLAGS) \
+ -classpath "$(CLASSPATH)$(PATH_SEPARATOR)out.sdk/tester.jar" \
+ -sourcepath . -d out.sdk/class/javamain $<
+
+
+out.sdk/runner.jar: out.sdk/class/runner/test/java/runner/Runner.class \
+ out.sdk/runner.mf | out.sdk
+ $(SDK_JAR) cfm $@ out.sdk/runner.mf -C out.sdk/class/runner test
+
+out.sdk/runner.mf: runner.mf.template | out.sdk
+ sed -e \
+ $(qt)s~^Class-Path:$$~& $(ure_java_url)/unoloader.jar~$(qt) \
+ -e $(qt)s~^UNO-Type-Path:$$~& ~$(qt) $< > $@
+
+out.sdk/class/runner/test/java/runner/Runner.class: Runner.java | out.sdk/class
+ - $(DELRECURSIVE) $(subst /,$(PS),out.sdk/class/runner)
+ $(MKDIR) $(subst /,$(PS),out.sdk/class/runner)
+ $(SDK_JAVAC) $(JAVAC_FLAGS) -sourcepath . -d out.sdk/class/runner $<
+
+
+out.sdk/tester.jar: out.sdk/class/tester/test/java/tester/Tester.class \
+ out.sdk/tester.mf | out.sdk
+ $(SDK_JAR) cfm $@ out.sdk/tester.mf -C out.sdk/class/tester test
+
+out.sdk/tester.mf: tester.mf.template | out.sdk
+ sed -e $(qt)s~^Class-Path:$$~& types.jar~$(qt) \
+ -e $(qt)s~^UNO-Type-Path:$$~& types.jar~$(qt) $< > $@
+
+out.sdk/class/tester/test/java/tester/Tester.class: Tester.java \
+ out.sdk/types.jar | out.sdk/class
+ - $(DELRECURSIVE) $(subst /,$(PS),out.sdk/class/tester)
+ $(MKDIR) $(subst /,$(PS),out.sdk/class/tester)
+ $(SDK_JAVAC) $(JAVAC_FLAGS) \
+ -classpath "$(CLASSPATH)$(PATH_SEPARATOR)out.sdk/types.jar" \
+ -sourcepath . -d out.sdk/class/tester $<
+
+
+out.sdk/javatest.uno.jar: \
+ out.sdk/class/javatest/test/java/javatest/JavaTest.class \
+ out.sdk/javatest.mf | out.sdk
+ $(SDK_JAR) cfm $@ out.sdk/javatest.mf -C out.sdk/class/javatest test
+
+out.sdk/javatest.mf: javatest.mf.template | out.sdk
+ sed -e $(qt)s~^Class-Path:$$~& types.jar~$(qt) \
+ -e $(qt)s~^UNO-Type-Path:$$~& types.jar~$(qt) $< > $@
+
+out.sdk/class/javatest/test/java/javatest/JavaTest.class: JavaTest.java \
+ out.sdk/types.jar | out.sdk/class
+ - $(DELRECURSIVE) $(subst /,$(PS),out.sdk/class/javatest)
+ $(MKDIR) $(subst /,$(PS),out.sdk/class/javatest)
+ $(SDK_JAVAC) $(JAVAC_FLAGS) \
+ -classpath "$(CLASSPATH)$(PATH_SEPARATOR)out.sdk/types.jar" \
+ -sourcepath . -d out.sdk/class/javatest $<
+
+
+out.sdk/javanative.jar: \
+ out.sdk/class/javanative/test/java/javanative/JavaNative.class \
+ out.sdk/javanative.mf | out.sdk
+ $(SDK_JAR) cfm $@ out.sdk/javanative.mf -C out.sdk/class/javanative test
+
+out.sdk/javanative.mf: javanative.mf.template | out.sdk
+ sed -e $(qt)s~^Class-Path:$$~& tester.jar~$(qt) \
+ -e $(qt)s~^UNO-Type-Path:$$~& types.jar~$(qt) $< > $@
+
+out.sdk/class/javanative/test/java/javanative/JavaNative.class: \
+ JavaNative.java out.sdk/tester.jar | out.sdk/class
+ - $(DELRECURSIVE) $(subst /,$(PS),out.sdk/class/javanative)
+ $(MKDIR) $(subst /,$(PS),out.sdk/class/javanative)
+ $(SDK_JAVAC) $(JAVAC_FLAGS) \
+ -classpath "$(CLASSPATH)$(PATH_SEPARATOR)out.sdk/tester.jar" \
+ -sourcepath . -d out.sdk/class/javanative $<
+
+out.sdk/javanative.rc: | out.sdk
+ echo $(qt2)URE_INTERNAL_LIB_DIR=$${$(subst :,\u003A,$(ure_unorc_url)):URE_INTERNAL_LIB_DIR}$(qt2) > $@
+ echo $(qt2)URE_INTERNAL_JAVA_DIR=$${$(subst :,\u003A,$(ure_unorc_url)):URE_INTERNAL_JAVA_DIR}$(qt2) >> $@
+ echo $(qt2)UNO_TYPES=$${$(subst :,\u003A,$(ure_unorc_url)):UNO_TYPES} $(URLPREFIX)$(cwd)/out.sdk/types.rdb$(qt2) >> $@
+ echo $(qt2)UNO_SERVICES=$${$(subst :,\u003A,$(ure_unorc_url)):UNO_SERVICES} $(URLPREFIX)$(cwd)/out.sdk/services.rdb$(qt2) >> $@
+
+
+out.sdk/javaclient.jar: \
+ out.sdk/class/javaclient/test/java/javaclient/JavaClient.class \
+ out.sdk/javaclient.mf | out.sdk
+ $(SDK_JAR) cfm $@ out.sdk/javaclient.mf -C out.sdk/class/javaclient test
+
+out.sdk/javaclient.mf: javaclient.mf.template | out.sdk
+ sed -e $(qt)s~^Class-Path:$$~& types.jar~$(qt) \
+ -e $(qt)s~^UNO-Type-Path:$$~& types.jar~$(qt) $< > $@
+
+out.sdk/class/javaclient/test/java/javaclient/JavaClient.class: \
+ JavaClient.java out.sdk/types.jar | out.sdk/class
+ - $(DELRECURSIVE) $(subst /,$(PS),out.sdk/class/javaclient)
+ $(MKDIR) $(subst /,$(PS),out.sdk/class/javaclient)
+ $(SDK_JAVAC) $(JAVAC_FLAGS) \
+ -classpath "$(CLASSPATH)$(PATH_SEPARATOR)out.sdk/types.jar" \
+ -sourcepath . -d out.sdk/class/javaclient $<
+
+
+out.sdk/types.jar: out.sdk/types.javamaker.flag out.sdk/types.mf | out.sdk
+ $(SDK_JAR) cfm $@ out.sdk/types.mf -C out.sdk/class/types test
+
+out.sdk/types.mf: types.mf.template | out.sdk
+ sed -e $(qt)s~^Class-Path:$$~& ~$(qt) \
+ -e $(qt)s~^UNO-Type-Path:$$~& \<\>~$(qt) $< > $@
+
+out.sdk/types.javamaker.flag: out.sdk/types.rdb | out.sdk out.sdk/class
+ - $(DELRECURSIVE) $(subst /,$(PS),out.sdk/class/types)
+ $(JAVAMAKER) -O./out.sdk/class/types -B/UCR $< "-X$(URE_TYPES)"
+ touch $@
+
+
+out.sdk/types.rdb: out.sdk/types.urd | out.sdk
+ $(REGMERGE) $@ /UCR $<
+
+out.sdk/types.urd: types.idl | out.sdk
+ $(IDLC) -O$(@D) -I$(IDL_DIR) -cid -we $<
+
+
+out.sdk/services.rdb: out.sdk/cpptest.uno.$(SHAREDLIB_EXT) \
+ out.sdk/javatest.uno.jar | out.sdk
+ $(DEL) $(subst /,$(PS),$@)
+ $(REGCOMP) -register -r $@ \
+ -c $(URLPREFIX)$(cwd)/out.sdk/cpptest.uno.$(SHAREDLIB_EXT)
+ $(REGCOMP) -register -br "$(URE_TYPES)" -br "$(URE_SERVICES)" -r $@ \
+ -c $(URLPREFIX)$(cwd)/out.sdk/javatest.uno.jar
+
+
+out.sdk:
+ $(MKDIR) $(subst /,$(PS),$@)
+
+out.sdk/class: | out.sdk
+ $(MKDIR) $(subst /,$(PS),$@)
diff --git a/ure/source/uretest/Makefile.pln b/ure/source/uretest/Makefile.pln
new file mode 100644
index 000000000000..d5062a56810d
--- /dev/null
+++ b/ure/source/uretest/Makefile.pln
@@ -0,0 +1,315 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+# The following variable must be set (see README):
+#SDK_HOME := /opt/openoffice.org/basis3.1/sdk
+
+# The following variables can be set, if necessary (see README):
+#URE_HOME := /opt/openoffice.org/ure
+#GXX_INCLUDE_PATH := /usr/include/g++
+#GCCS_COMPAT := LD_PRELOAD=/lib/libgcc_s.so.1
+
+
+URE_HOME ?= /opt/openoffice.org/ure
+GXX_INCLUDE_PATH ?= /usr/include/g++
+
+.DELETE_ON_ERROR:
+
+
+.PHONY: test
+test: test-regview test-cpptest test-javatest test-javanative test-clientserver
+
+.PHONY: test-regview
+test-regview: out.pln/services.rdb
+ $(URE_HOME)/bin/regview $< > /dev/null
+
+.PHONY: test-cpptest
+test-cpptest: out.pln/cppmain.uno.so out.pln/types.rdb out.pln/services.rdb
+ $(GCCS_COMPAT) $(URE_HOME)/bin/uno \
+ -c test.cpp.cppmain.Component -l file://$(PWD)/$< \
+ -ro $(URE_HOME)/share/misc/types.rdb -ro out.pln/types.rdb \
+ -ro $(URE_HOME)/share/misc/services.rdb -ro out.pln/services.rdb
+
+.PHONY: test-javatest
+test-javatest: out.pln/javamain.uno.jar out.pln/types.rdb out.pln/services.rdb
+ $(GCCS_COMPAT) $(URE_HOME)/bin/uno \
+ -c test.java.javamain.Component -l file://$(PWD)/$< \
+ -ro $(URE_HOME)/share/misc/types.rdb -ro out.pln/types.rdb \
+ -ro $(URE_HOME)/share/misc/services.rdb -ro out.pln/services.rdb
+
+.PHONY: test-javanative
+test-javanative: out.pln/runner.jar out.pln/javanative.jar \
+ out.pln/javanative.rc out.pln/services.rdb out.pln/types.rdb
+ $(GCCS_COMPAT) LD_LIBRARY_PATH=$(URE_HOME)/lib java \
+ -jar out.pln/runner.jar file://$(URE_HOME)/share/java/ \
+ file://$(PWD)/out.pln/javanative.jar \
+ file://$(PWD)/out.pln/javanative.rc
+
+.PHONY: test-clientserver
+test-clientserver: out.pln/cppserver.uno.so out.pln/runner.jar \
+ out.pln/javaclient.jar
+ $(GCCS_COMPAT) $(URE_HOME)/bin/uno -c test.cpp.cppserver.Component \
+ -l file://$(PWD)/out.pln/cppserver.uno.so \
+ -ro $(URE_HOME)/share/misc/types.rdb -ro out.pln/types.rdb \
+ -ro $(URE_HOME)/share/misc/services.rdb \
+ -u 'uno:pipe,name=ure_test;urp;server' --singleaccept &
+ sleep 5 && \
+ java -jar out.pln/runner.jar file://$(URE_HOME)/share/java/ \
+ file://$(PWD)/out.pln/javaclient.jar \
+ 'uno:pipe,name=ure_test;urp;server'
+
+
+.PHONY: clean
+clean:
+ rm -rf out.pln
+
+
+out.pln/cppmain.uno.so: out.pln/cppmain.o version.map | out.pln \
+ out.pln/lib/libuno_cppu.so out.pln/lib/libuno_cppuhelpergcc3.so \
+ out.pln/lib/libuno_sal.so out.pln/lib/libuno_salhelpergcc3.so \
+ out.pln/lib/libstlport_gcc.so
+ g++ -shared -o $@ -Wl,-z,defs -Wl,--fatal-warnings \
+ -Wl,--version-script=version.map $< -Lout.pln/lib -luno_cppu \
+ -luno_cppuhelpergcc3 -luno_sal -luno_salhelpergcc3 -lstlport_gcc
+
+out.pln/cppmain.o: cppmain.cc out.pln/cpputypes.cppumaker.flag \
+ out.pln/types.cppumaker.flag | out.pln
+ g++ -c -o $@ -fpic -Wall -Wno-ctor-dtor-privacy -I $(SDK_HOME)/include/stl \
+ -I $(SDK_HOME)/include -I out.pln/include/cpputypes \
+ -I out.pln/include/types -DCPPU_ENV=gcc3 \
+ -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) -DLINUX -DUNX $<
+
+
+out.pln/cpptest.uno.so: out.pln/cpptest.o version.map | out.pln \
+ out.pln/lib/libuno_cppu.so out.pln/lib/libuno_cppuhelpergcc3.so \
+ out.pln/lib/libuno_sal.so
+ g++ -shared -o $@ -Wl,-z,defs -Wl,--fatal-warnings \
+ -Wl,--version-script=version.map $< -Lout.pln/lib -luno_cppu \
+ -luno_cppuhelpergcc3 -luno_sal
+
+out.pln/cpptest.o: cpptest.cc out.pln/cpputypes.cppumaker.flag \
+ out.pln/types.cppumaker.flag | out.pln
+ g++ -c -o $@ -fpic -Wall -Wno-ctor-dtor-privacy -I $(SDK_HOME)/include/stl \
+ -I $(SDK_HOME)/include -I out.pln/include/cpputypes \
+ -I out.pln/include/types -DCPPU_ENV=gcc3 \
+ -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) -DLINUX -DUNX $<
+
+
+out.pln/cppserver.uno.so: out.pln/cppserver.o version.map | out.pln \
+ out.pln/lib/libuno_cppu.so out.pln/lib/libuno_cppuhelpergcc3.so \
+ out.pln/lib/libuno_sal.so
+ g++ -shared -o $@ -Wl,-z,defs -Wl,--fatal-warnings \
+ -Wl,--version-script=version.map $< -Lout.pln/lib -luno_cppu \
+ -luno_cppuhelpergcc3 -luno_sal
+
+out.pln/cppserver.o: cppserver.cc out.pln/cpputypes.cppumaker.flag \
+ out.pln/types.cppumaker.flag | out.pln
+ g++ -c -o $@ -fpic -Wall -Wno-ctor-dtor-privacy -I $(SDK_HOME)/include/stl \
+ -I $(SDK_HOME)/include -I out.pln/include/cpputypes \
+ -I out.pln/include/types -DCPPU_ENV=gcc3 \
+ -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) -DLINUX -DUNX $<
+
+
+out.pln/cpputypes.cppumaker.flag: | out.pln
+ LD_LIBRARY_PATH=$(URE_HOME)/lib $(SDK_HOME)/bin/cppumaker \
+ -O./out.pln/include/cpputypes \
+ '-Tcom.sun.star.lang.DisposedException;com.sun.star.lang.EventObject;com.sun.star.lang.XMain;com.sun.star.lang.XMultiComponentFactory;com.sun.star.lang.XMultiServiceFactory;com.sun.star.lang.XSingleComponentFactory;com.sun.star.lang.XSingleServiceFactory;com.sun.star.lang.XTypeProvider;com.sun.star.registry.XRegistryKey;com.sun.star.uno.DeploymentException;com.sun.star.uno.Exception;com.sun.star.uno.RuntimeException;com.sun.star.uno.XAggregation;com.sun.star.uno.XComponentContext;com.sun.star.uno.XCurrentContext;com.sun.star.uno.XInterface;com.sun.star.uno.XWeak' \
+ -B/UCR $(URE_HOME)/share/misc/types.rdb
+ touch $@
+
+out.pln/types.cppumaker.flag: out.pln/types.rdb | out.pln
+ LD_LIBRARY_PATH=$(URE_HOME)/lib $(SDK_HOME)/bin/cppumaker \
+ -O./out.pln/include/types -B/UCR $< \
+ -X$(URE_HOME)/share/misc/types.rdb
+ touch $@
+
+
+out.pln/javamain.uno.jar: \
+ out.pln/class/javamain/test/java/javamain/JavaMain.class \
+ out.pln/javamain.mf | out.pln
+ jar cfm $@ out.pln/javamain.mf -C out.pln/class/javamain test
+
+out.pln/javamain.mf: javamain.mf.template | out.pln
+ sed -e 's~^Class-Path:$$~& tester.jar~' \
+ -e 's~^UNO-Type-Path:$$~& types.jar~' $< > $@
+
+out.pln/class/javamain/test/java/javamain/JavaMain.class: JavaMain.java \
+ out.pln/tester.jar | out.pln/class
+ rm -rf out.pln/class/javamain
+ mkdir out.pln/class/javamain
+ javac -classpath \
+ $(URE_HOME)/share/java/jurt.jar:$(URE_HOME)/share/java/ridl.jar:out.pln/tester.jar \
+ -sourcepath . -d out.pln/class/javamain $<
+
+
+out.pln/runner.jar: out.pln/class/runner/test/java/runner/Runner.class \
+ out.pln/runner.mf | out.pln
+ jar cfm $@ out.pln/runner.mf -C out.pln/class/runner test
+
+out.pln/runner.mf: runner.mf.template | out.pln
+ sed -e \
+ 's~^Class-Path:$$~& file://$(URE_HOME)/share/java/unoloader.jar~' \
+ -e 's~^UNO-Type-Path:$$~& ~' $< > $@
+
+out.pln/class/runner/test/java/runner/Runner.class: Runner.java | out.pln/class
+ rm -rf out.pln/class/runner
+ mkdir out.pln/class/runner
+ javac -classpath $(URE_HOME)/share/java/unoloader.jar -sourcepath . \
+ -d out.pln/class/runner $<
+
+
+out.pln/tester.jar: out.pln/class/tester/test/java/tester/Tester.class \
+ out.pln/tester.mf | out.pln
+ jar cfm $@ out.pln/tester.mf -C out.pln/class/tester test
+
+out.pln/tester.mf: tester.mf.template | out.pln
+ sed -e 's~^Class-Path:$$~& types.jar~' \
+ -e 's~^UNO-Type-Path:$$~& types.jar~' $< > $@
+
+out.pln/class/tester/test/java/tester/Tester.class: Tester.java \
+ out.pln/types.jar | out.pln/class
+ rm -rf out.pln/class/tester
+ mkdir out.pln/class/tester
+ javac -classpath $(URE_HOME)/share/java/ridl.jar:out.pln/types.jar \
+ -sourcepath . -d out.pln/class/tester $<
+
+
+out.pln/javatest.uno.jar: \
+ out.pln/class/javatest/test/java/javatest/JavaTest.class \
+ out.pln/javatest.mf | out.pln
+ jar cfm $@ out.pln/javatest.mf -C out.pln/class/javatest test
+
+out.pln/javatest.mf: javatest.mf.template | out.pln
+ sed -e 's~^Class-Path:$$~& types.jar~' \
+ -e 's~^UNO-Type-Path:$$~& types.jar~' $< > $@
+
+out.pln/class/javatest/test/java/javatest/JavaTest.class: JavaTest.java \
+ out.pln/types.jar | out.pln/class
+ rm -rf out.pln/class/javatest
+ mkdir out.pln/class/javatest
+ javac -classpath \
+ $(URE_HOME)/share/java/jurt.jar:$(URE_HOME)/share/java/ridl.jar:out.pln/types.jar \
+ -sourcepath . -d out.pln/class/javatest $<
+
+
+out.pln/javanative.jar: \
+ out.pln/class/javanative/test/java/javanative/JavaNative.class \
+ out.pln/javanative.mf | out.pln
+ jar cfm $@ out.pln/javanative.mf -C out.pln/class/javanative test
+
+out.pln/javanative.mf: javanative.mf.template | out.pln
+ sed -e 's~^Class-Path:$$~& tester.jar~' \
+ -e 's~^UNO-Type-Path:$$~& types.jar~' $< > $@
+
+out.pln/class/javanative/test/java/javanative/JavaNative.class: \
+ JavaNative.java out.pln/tester.jar | out.pln/class
+ rm -rf out.pln/class/javanative
+ mkdir out.pln/class/javanative
+ javac -classpath \
+ $(URE_HOME)/share/java/juh.jar:$(URE_HOME)/share/java/ridl.jar:out.pln/tester.jar \
+ -sourcepath . -d out.pln/class/javanative $<
+
+out.pln/javanative.rc: | out.pln
+ echo 'URE_INTERNAL_LIB_DIR=$${file\u003A//$(URE_HOME)/lib/unorc:URE_INTERNAL_LIB_DIR}' > $@
+ echo 'URE_INTERNAL_JAVA_DIR=$${file\u003A//$(URE_HOME)/lib/unorc:URE_INTERNAL_JAVA_DIR}' >> $@
+ echo 'UNO_TYPES=$${file\u003A//$(URE_HOME)/lib/unorc:UNO_TYPES} file://$(PWD)/out.pln/types.rdb' >> $@
+ echo 'UNO_SERVICES=$${file\u003A//$(URE_HOME)/lib/unorc:UNO_SERVICES} file://$(PWD)/out.pln/services.rdb' >> $@
+
+
+out.pln/javaclient.jar: \
+ out.pln/class/javaclient/test/java/javaclient/JavaClient.class \
+ out.pln/javaclient.mf | out.pln
+ jar cfm $@ out.pln/javaclient.mf -C out.pln/class/javaclient test
+
+out.pln/javaclient.mf: javaclient.mf.template | out.pln
+ sed -e 's~^Class-Path:$$~& types.jar~' \
+ -e 's~^UNO-Type-Path:$$~& types.jar~' $< > $@
+
+out.pln/class/javaclient/test/java/javaclient/JavaClient.class: \
+ JavaClient.java out.pln/types.jar | out.pln/class
+ rm -rf out.pln/class/javaclient
+ mkdir out.pln/class/javaclient
+ javac -classpath \
+ $(URE_HOME)/share/java/juh.jar:$(URE_HOME)/share/java/ridl.jar:out.pln/types.jar \
+ -sourcepath . -d out.pln/class/javaclient $<
+
+
+out.pln/types.jar: out.pln/types.javamaker.flag out.pln/types.mf | out.pln
+ jar cfm $@ out.pln/types.mf -C out.pln/class/types test
+
+out.pln/types.mf: types.mf.template | out.pln
+ sed -e 's~^Class-Path:$$~& ~' -e 's~^UNO-Type-Path:$$~& \<\>~' $< > $@
+
+out.pln/types.javamaker.flag: out.pln/types.rdb | out.pln out.pln/class
+ rm -rf out.pln/class/types
+ LD_LIBRARY_PATH=$(URE_HOME)/lib $(SDK_HOME)/bin/javamaker \
+ -O./out.pln/class/types -B/UCR $< -X$(URE_HOME)/share/misc/types.rdb
+ touch $@
+
+
+out.pln/types.rdb: out.pln/types.urd | out.pln
+ $(URE_HOME)/bin/regmerge $@ /UCR $<
+
+out.pln/types.urd: types.idl | out.pln
+ LD_LIBRARY_PATH=$(URE_HOME)/lib $(SDK_HOME)/bin/idlc -O$(@D) \
+ -I$(SDK_HOME)/idl -cid -we $<
+
+
+out.pln/services.rdb: out.pln/cpptest.uno.so out.pln/javatest.uno.jar | out.pln
+ rm -f $@
+ $(URE_HOME)/bin/regcomp -register -r $@ \
+ -c file://$(PWD)/out.pln/cpptest.uno.so
+ $(URE_HOME)/bin/regcomp -register \
+ -br $(URE_HOME)/share/misc/types.rdb \
+ -br $(URE_HOME)/share/misc/services.rdb -r $@ \
+ -c file://$(PWD)/out.pln/javatest.uno.jar
+
+
+out.pln/lib/libuno_cppu.so: | out.pln/lib
+ ln -fs $(URE_HOME)/lib/libuno_cppu.so.3 $@
+
+out.pln/lib/libuno_cppuhelpergcc3.so: | out.pln/lib
+ ln -fs $(URE_HOME)/lib/libuno_cppuhelpergcc3.so.3 $@
+
+out.pln/lib/libuno_sal.so: | out.pln/lib
+ ln -fs $(URE_HOME)/lib/libuno_sal.so.3 $@
+
+out.pln/lib/libuno_salhelpergcc3.so: | out.pln/lib
+ ln -fs $(URE_HOME)/lib/libuno_salhelpergcc3.so.3 $@
+
+out.pln/lib/libstlport_gcc.so: | out.pln/lib
+ ln -fs $(URE_HOME)/lib/libstlport_gcc.so $@
+
+
+out.pln:
+ mkdir $@
+
+out.pln/class: | out.pln
+ mkdir $@
+
+out.pln/lib: | out.pln
+ mkdir $@
diff --git a/ure/source/uretest/README b/ure/source/uretest/README
new file mode 100644
index 000000000000..9545667c96bf
--- /dev/null
+++ b/ure/source/uretest/README
@@ -0,0 +1,115 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+
+This directory contains test files for the UNO Runtime Environment (URE) as well
+as the Makefile and Makefile.pln makefiles. To execute the makefiles, you need
+GNU make 3.80 or later.
+
+
+Makefile
+--------
+
+Before you execute Makefile, you need to configure the Software Development Kit
+(SDK) environment to work with a URE installation, a C++ compiler, and a JDK.
+For more information, read the .../docs/install.html file in the SDK
+installation.
+
+NOTE: On Linux x86, if the Makefile accesses a GCC that is incompatible with the
+GCC that was used to build the URE, use the GCCS_COMPAT environment variable as
+a workaround. For more details, see the UDK README file.
+
+
+Makefile.pln
+------------
+
+You can only run Makefile.pln on Linux x86. You do not need to configure your
+SDK environment to use this makefile, however, you do need to set the following
+environment variables:
+
+- SDK_HOME
+Points to the base directory of an OpenOffice.org SDK so that you can access UNO
+programming tools and files that are not part of the URE. For example, idlc,
+cppumaker, javamaker, UNOIDL files, and C++ headers.
+
+- PATH
+Points to a GCC installation (including g++) as well as a JDK installation that
+contains the java, javac, and jar executables. For the minimum version
+requirements, see the SDK Installation Guide ($SDK_HOME/docs/install.html).
+
+- URE_HOME (optional)
+Overwrites the default URE location, that is, /opt/openoffice.org/ure.
+
+- GXX_INCLUDE_PATH (optional)
+Overwrites the default location of the GCC C++ headers (/usr/include/g++). This
+information is needed by the STLport included in the URE.
+
+- GCCS_COMPAT (optional)
+Fixes incompatibility issues between the GCC that was used to build the URE and
+the GCC that Makefile.pln accesses. For more details, see the UDK README file.
+
+
+Tests
+-----
+
+Makefile and Makefile.pln can execute the following tests:
+
+- test-cpptest
+Builds a C++ UNO component, cppmain.uno, and runs the component with the uno
+executable. The component first attempts to instantiate all the UNO services
+and singletons that are part of the URE installation. The component then tries
+to instantiate and to call another C++ UNO component (ccptest.uno) as well as a
+Java UNO component (javatest.uno). The test completes when these components
+throw a special exception that is caught by cppmain.uno.
+
+- test-javatest
+Builds a Java UNO component, javamain.uno, and runs the component with the uno
+executable. The component tries to instantiate and to call a C++ UNO component
+(cpptest.uno) as well as a Java UNO component (javatest.uno). The test
+completes when these components throw a special exception that is caught by
+javamain.uno.
+
+- test-javanative
+Builds a Java UNO application, javanative.jar, and runs the application with the
+java executable. The application bootstraps a native UNO environment, and then
+tries to instantiate and to call a C++ UNO component (cpptest.uno) as well as a
+Java UNO component( javatest.uno). The test completes when these components
+throw a special exception that is caught by javanative.jar.
+
+- test-clientserver
+Builds a server C++ UNO component, cppserver.uno, and a Java UNO application,
+javaclient.uno. The uno executable runs the cppserver.uno component which
+listens on a pipe connection. The java executable runs the javaclient.uno
+component which connects to the server after a five second pause so that the
+server has enough time to start.
+
+- test-regview (Makefile.pln only)
+Checks that the regview executable of the URE installation works reliably.
+
+NOTE: The files that are generated when Makefile and Makefile.pln execute are
+saved to different local directories. Makefile outputs the generated files to
+./out.sdk whereas Makefile.pln outputs the files to ./out.pln.
diff --git a/ure/source/uretest/Runner.java b/ure/source/uretest/Runner.java
new file mode 100644
index 000000000000..dc6abcabd0ce
--- /dev/null
+++ b/ure/source/uretest/Runner.java
@@ -0,0 +1,41 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+package test.java.runner;
+
+import java.net.URL;
+import com.sun.star.lib.unoloader.UnoLoader;
+
+public final class Runner {
+ public static void main(String[] arguments) throws Exception {
+ String[] args = new String[arguments.length - 2];
+ System.arraycopy(arguments, 2, args, 0, args.length);
+ UnoLoader.execute(new URL(arguments[0]), new URL(arguments[1]), args);
+ }
+
+ private Runner() {}
+}
diff --git a/ure/source/uretest/Tester.java b/ure/source/uretest/Tester.java
new file mode 100644
index 000000000000..39fd9545987e
--- /dev/null
+++ b/ure/source/uretest/Tester.java
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+package test.java.tester;
+
+import com.sun.star.uno.XComponentContext;
+import test.types.CppTest;
+import test.types.JavaTest;
+import test.types.TestException;
+import test.types.XTest;
+
+public final class Tester {
+ public static void test(XComponentContext context) {
+ testService(CppTest.create(context), CppTest.class.getName());
+ testService(JavaTest.create(context), JavaTest.class.getName());
+ }
+
+ private static void testService(XTest test, String name) {
+ boolean ok = false;
+ try {
+ test.throwException();
+ } catch (TestException e) {
+ ok = true;
+ }
+ if (!ok) {
+ throw new RuntimeException(name + ".throwException failed");
+ }
+ }
+
+ private Tester() {}
+}
diff --git a/ure/source/uretest/cppmain.cc b/ure/source/uretest/cppmain.cc
new file mode 100644
index 000000000000..0be81b637053
--- /dev/null
+++ b/ure/source/uretest/cppmain.cc
@@ -0,0 +1,292 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "sal/config.h"
+
+#include <cstddef>
+#include <functional>
+#include <memory>
+#include <new>
+#include <hash_map>
+
+#include "com/sun/star/lang/XMain.hpp"
+#include "com/sun/star/lang/XMultiComponentFactory.hpp"
+#include "com/sun/star/uno/Exception.hpp"
+#include "com/sun/star/uno/Reference.hxx"
+#include "com/sun/star/uno/RuntimeException.hpp"
+#include "com/sun/star/uno/Sequence.hxx"
+#include "com/sun/star/uno/XComponentContext.hpp"
+#include "com/sun/star/uno/XInterface.hpp"
+#include "cppuhelper/factory.hxx"
+#include "cppuhelper/implbase1.hxx"
+#include "cppuhelper/implementationentry.hxx"
+#include "cppuhelper/interfacecontainer.hxx"
+#include "cppuhelper/unourl.hxx"
+#include "cppuhelper/weak.hxx"
+#include "osl/mutex.hxx"
+#include "osl/thread.h"
+#include "rtl/malformeduriexception.hxx"
+#include "rtl/string.h"
+#include "rtl/ustrbuf.hxx"
+#include "rtl/ustring.h"
+#include "rtl/ustring.hxx"
+#include "sal/types.h"
+#include "salhelper/simplereferenceobject.hxx"
+#include "uno/current_context.hxx"
+#include "uno/environment.h"
+#include "uno/lbnames.h"
+
+#include "test/types/CppTest.hpp"
+#include "test/types/JavaTest.hpp"
+#include "test/types/TestException.hpp"
+#include "test/types/XTest.hpp"
+
+namespace css = ::com::sun::star;
+
+namespace {
+
+class Service: public ::cppu::WeakImplHelper1< ::css::lang::XMain > {
+public:
+ explicit Service(
+ ::css::uno::Reference< ::css::uno::XComponentContext > const & context):
+ context_(context) {}
+
+ virtual ::sal_Int32 SAL_CALL run(
+ ::css::uno::Sequence< ::rtl::OUString > const &)
+ throw (::css::uno::RuntimeException);
+
+private:
+ Service(Service &); // not defined
+ void operator =(Service &); // not defined
+
+ virtual ~Service() {}
+
+ void test(
+ ::css::uno::Reference< test::types::XTest > const & test,
+ ::rtl::OUString const & name);
+
+ ::css::uno::Reference< ::css::uno::XComponentContext > context_;
+};
+
+::sal_Int32 Service::run(::css::uno::Sequence< ::rtl::OUString > const &)
+ throw (::css::uno::RuntimeException)
+{
+ osl_getThreadIdentifier(0); // check for sal
+ (new salhelper::SimpleReferenceObject)->release(); // check for salhelper
+ css::uno::getCurrentContext(); // check for cppu
+ try { // check for cppuhelper
+ std::auto_ptr< cppu::UnoUrl > dummy(new cppu::UnoUrl(rtl::OUString()));
+ } catch (rtl::MalformedUriException &) {}
+ { // check for stlport
+ osl::Mutex m;
+ std::auto_ptr< cppu::OMultiTypeInterfaceContainerHelperVar<
+ int, std::hash< int >, std::equal_to< int > > > dummy(
+ new cppu::OMultiTypeInterfaceContainerHelperVar<
+ int, std::hash< int >, std::equal_to< int > >(m));
+ }
+ static char const * const services[] = {
+ "com.sun.star.beans.Introspection",
+ "com.sun.star.bridge.Bridge",
+ "com.sun.star.bridge.BridgeFactory",
+ "com.sun.star.bridge.IiopBridge",
+ "com.sun.star.bridge.UnoUrlResolver",
+ "com.sun.star.bridge.UrpBridge",
+ "com.sun.star.connection.Acceptor",
+ "com.sun.star.connection.Connector",
+ "com.sun.star.io.DataInputStream",
+ "com.sun.star.io.DataOutputStream",
+ "com.sun.star.io.MarkableInputStream",
+ "com.sun.star.io.MarkableOutputStream",
+ "com.sun.star.io.ObjectInputStream",
+ "com.sun.star.io.ObjectOutputStream",
+ "com.sun.star.io.Pipe",
+ "com.sun.star.io.Pump",
+ "com.sun.star.io.TextInputStream",
+ "com.sun.star.io.TextOutputStream",
+ "com.sun.star.java.JavaVirtualMachine",
+ "com.sun.star.lang.MultiServiceFactory",
+ "com.sun.star.lang.RegistryServiceManager",
+ "com.sun.star.lang.ServiceManager",
+ "com.sun.star.loader.Java",
+ "com.sun.star.loader.Java2",
+ "com.sun.star.loader.SharedLibrary",
+ "com.sun.star.reflection.CoreReflection",
+ "com.sun.star.reflection.ProxyFactory",
+ "com.sun.star.reflection.TypeDescriptionManager",
+ "com.sun.star.reflection.TypeDescriptionProvider",
+ "com.sun.star.registry.ImplementationRegistration",
+ "com.sun.star.registry.NestedRegistry",
+ "com.sun.star.registry.SimpleRegistry",
+ "com.sun.star.script.Converter",
+ "com.sun.star.script.Invocation",
+ "com.sun.star.script.InvocationAdapterFactory",
+ "com.sun.star.security.AccessController",
+ "com.sun.star.security.Policy",
+ "com.sun.star.uno.NamingService",
+ "com.sun.star.uri.ExternalUriReferenceTranslator",
+ "com.sun.star.uri.UriReferenceFactory",
+ "com.sun.star.uri.UriSchemeParser_vndDOTsunDOTstarDOTscript",
+ "com.sun.star.uri.VndSunStarPkgUrlReferenceFactory"
+ // "com.sun.star.beans.PropertyBag",
+ // "com.sun.star.beans.PropertySet",
+ // "com.sun.star.bridge.OleApplicationRegistration",
+ // "com.sun.star.bridge.OleBridgeSupplier",
+ // "com.sun.star.bridge.OleBridgeSupplier2",
+ // "com.sun.star.bridge.OleBridgeSupplierVar1",
+ // "com.sun.star.bridge.OleObjectFactory",
+ // "com.sun.star.bridge.oleautomation.ApplicationRegistration",
+ // "com.sun.star.bridge.oleautomation.BridgeSupplier",
+ // "com.sun.star.bridge.oleautomation.Factory",
+ // "com.sun.star.loader.Dynamic",
+ // "com.sun.star.registry.DefaultRegistry",
+ // "com.sun.star.script.AllListenerAdapter",
+ // "com.sun.star.script.Engine",
+ // "com.sun.star.script.JavaScript",
+ // "com.sun.star.test.TestFactory",
+ // "com.sun.star.util.BootstrapMacroExpander",
+ // "com.sun.star.util.MacroExpander",
+ // "com.sun.star.util.logging.Logger",
+ // "com.sun.star.util.logging.LoggerRemote"
+ };
+ ::css::uno::Reference< ::css::lang::XMultiComponentFactory > manager(
+ context_->getServiceManager());
+ if (!manager.is()) {
+ throw ::css::uno::RuntimeException(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("no service manager")),
+ static_cast< ::cppu::OWeakObject * >(this));
+ }
+ for (::std::size_t i = 0; i < sizeof services / sizeof services[0]; ++i) {
+ ::css::uno::Reference< ::css::uno::XInterface > instance;
+ try {
+ instance = manager->createInstanceWithContext(
+ ::rtl::OUString::createFromAscii(services[i]), context_);
+ } catch (::css::uno::RuntimeException &) {
+ throw;
+ } catch (::css::uno::Exception &) {
+ throw ::css::uno::RuntimeException(
+ ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("error creating instance")),
+ static_cast< ::cppu::OWeakObject * >(this));
+ }
+ if (!instance.is()) {
+ throw ::css::uno::RuntimeException(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("no instance")),
+ static_cast< ::cppu::OWeakObject * >(this));
+ }
+ }
+ static char const * const singletons[] = {
+ "com.sun.star.util.theMacroExpander" };
+ for (::std::size_t i = 0; i < sizeof singletons / sizeof singletons[0]; ++i)
+ {
+ ::rtl::OUStringBuffer b;
+ b.appendAscii(RTL_CONSTASCII_STRINGPARAM("/singletons/"));
+ b.appendAscii(singletons[i]);
+ ::css::uno::Reference< ::css::uno::XInterface > instance(
+ context_->getValueByName(b.makeStringAndClear()),
+ ::css::uno::UNO_QUERY_THROW);
+ }
+ test(
+ ::test::types::CppTest::create(context_),
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("test.types.CppTest")));
+ test(
+ ::test::types::JavaTest::create(context_),
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("test.types.JavaTest")));
+ return 0;
+}
+
+void Service::test(
+ ::css::uno::Reference< test::types::XTest > const & test,
+ ::rtl::OUString const & name)
+{
+ bool ok = false;
+ try {
+ test->throwException();
+ } catch (::test::types::TestException &) {
+ ok = true;
+ }
+ if (!ok) {
+ throw ::css::uno::RuntimeException(
+ (name
+ + ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(".throwException failed"))),
+ static_cast< ::cppu::OWeakObject * >(this));
+ }
+}
+
+namespace CppMain {
+
+::css::uno::Reference< ::css::uno::XInterface > create(
+ ::css::uno::Reference< ::css::uno::XComponentContext > const & context)
+ SAL_THROW((::css::uno::Exception))
+{
+ try {
+ return static_cast< ::cppu::OWeakObject * >(new Service(context));
+ } catch (::std::bad_alloc &) {
+ throw ::css::uno::RuntimeException(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("std::bad_alloc")),
+ ::css::uno::Reference< ::css::uno::XInterface >());
+ }
+}
+
+::rtl::OUString getImplementationName() {
+ return ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("test.cpp.cppmain.Component"));
+}
+
+::css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames() {
+ return ::css::uno::Sequence< ::rtl::OUString >();
+}
+
+}
+
+::cppu::ImplementationEntry entries[] = {
+ { CppMain::create, CppMain::getImplementationName,
+ CppMain::getSupportedServiceNames, ::cppu::createSingleComponentFactory,
+ 0, 0 },
+ { 0, 0, 0, 0, 0, 0 } };
+
+}
+
+extern "C" ::sal_Bool SAL_CALL component_writeInfo(
+ void * serviceManager, void * registryKey)
+{
+ return ::cppu::component_writeInfoHelper(
+ serviceManager, registryKey, entries);
+}
+
+extern "C" void * SAL_CALL component_getFactory(
+ char const * implName, void * serviceManager, void * registryKey)
+{
+ return ::cppu::component_getFactoryHelper(
+ implName, serviceManager, registryKey, entries);
+}
+
+extern "C" void SAL_CALL component_getImplementationEnvironment(
+ char const ** envTypeName, ::uno_Environment **)
+{
+ *envTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
+}
diff --git a/ure/source/uretest/cppserver.cc b/ure/source/uretest/cppserver.cc
new file mode 100644
index 000000000000..e4e72e3933c7
--- /dev/null
+++ b/ure/source/uretest/cppserver.cc
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "sal/config.h"
+
+#include <new>
+
+#include "com/sun/star/uno/Exception.hpp"
+#include "com/sun/star/uno/Reference.hxx"
+#include "com/sun/star/uno/RuntimeException.hpp"
+#include "com/sun/star/uno/Sequence.hxx"
+#include "com/sun/star/uno/XComponentContext.hpp"
+#include "com/sun/star/uno/XInterface.hpp"
+#include "cppuhelper/factory.hxx"
+#include "cppuhelper/implbase1.hxx"
+#include "cppuhelper/implementationentry.hxx"
+#include "cppuhelper/weak.hxx"
+#include "rtl/ustring.h"
+#include "rtl/ustring.hxx"
+#include "sal/types.h"
+#include "uno/environment.h"
+#include "uno/lbnames.h"
+
+#include "test/types/Data.hpp"
+#include "test/types/XServer.hpp"
+
+namespace css = ::com::sun::star;
+
+namespace {
+
+class Service: public ::cppu::WeakImplHelper1< ::test::types::XServer > {
+public:
+ Service() {}
+
+ virtual ::test::types::Data SAL_CALL getData()
+ throw (::css::uno::RuntimeException)
+ {
+ return ::test::types::Data(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Hello")), 42);
+ }
+
+private:
+ Service(Service &); // not defined
+ void operator =(Service &); // not defined
+
+ virtual ~Service() {}
+};
+
+namespace CppServer {
+
+::css::uno::Reference< ::css::uno::XInterface > create(
+ ::css::uno::Reference< ::css::uno::XComponentContext > const &)
+ SAL_THROW((::css::uno::Exception))
+{
+ try {
+ return static_cast< ::cppu::OWeakObject * >(new Service);
+ } catch (::std::bad_alloc &) {
+ throw ::css::uno::RuntimeException(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("std::bad_alloc")),
+ ::css::uno::Reference< ::css::uno::XInterface >());
+ }
+}
+
+::rtl::OUString getImplementationName() {
+ return ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("test.cpp.cppserver.Component"));
+}
+
+::css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames() {
+ return ::css::uno::Sequence< ::rtl::OUString >();
+}
+
+}
+
+::cppu::ImplementationEntry entries[] = {
+ { CppServer::create, CppServer::getImplementationName,
+ CppServer::getSupportedServiceNames, ::cppu::createSingleComponentFactory,
+ 0, 0 },
+ { 0, 0, 0, 0, 0, 0 } };
+
+}
+
+extern "C" ::sal_Bool SAL_CALL component_writeInfo(
+ void * serviceManager, void * registryKey)
+{
+ return ::cppu::component_writeInfoHelper(
+ serviceManager, registryKey, entries);
+}
+
+extern "C" void * SAL_CALL component_getFactory(
+ char const * implName, void * serviceManager, void * registryKey)
+{
+ return ::cppu::component_getFactoryHelper(
+ implName, serviceManager, registryKey, entries);
+}
+
+extern "C" void SAL_CALL component_getImplementationEnvironment(
+ char const ** envTypeName, ::uno_Environment **)
+{
+ *envTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
+}
diff --git a/ure/source/uretest/cpptest.cc b/ure/source/uretest/cpptest.cc
new file mode 100644
index 000000000000..c93050bd836b
--- /dev/null
+++ b/ure/source/uretest/cpptest.cc
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "sal/config.h"
+
+#include "com/sun/star/uno/Exception.hpp"
+#include "com/sun/star/uno/Reference.hxx"
+#include "com/sun/star/uno/RuntimeException.hpp"
+#include "com/sun/star/uno/Sequence.hxx"
+#include "com/sun/star/uno/XComponentContext.hpp"
+#include "com/sun/star/uno/XInterface.hpp"
+#include "cppuhelper/factory.hxx"
+#include "cppuhelper/implbase1.hxx"
+#include "cppuhelper/implementationentry.hxx"
+#include "cppuhelper/weak.hxx"
+#include "rtl/ustring.h"
+#include "rtl/ustring.hxx"
+#include "sal/types.h"
+#include "uno/environment.h"
+#include "uno/lbnames.h"
+
+#include "test/types/TestException.hpp"
+#include "test/types/XTest.hpp"
+
+namespace css = com::sun::star;
+
+namespace {
+
+class Service: public cppu::WeakImplHelper1< test::types::XTest > {
+public:
+ Service() {}
+
+ virtual void SAL_CALL throwException()
+ throw (test::types::TestException, css::uno::RuntimeException)
+ {
+ throw test::types::TestException(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("test")),
+ static_cast< cppu::OWeakObject * >(this));
+ }
+
+private:
+ Service(Service &); // not defined
+ void operator =(Service &); // not defined
+
+ virtual ~Service() {}
+};
+
+namespace CppTest {
+
+css::uno::Reference< css::uno::XInterface > create(
+ css::uno::Reference< css::uno::XComponentContext > const &)
+ SAL_THROW((css::uno::Exception))
+{
+ try {
+ return static_cast< cppu::OWeakObject * >(new Service);
+ } catch (std::bad_alloc &) {
+ throw css::uno::RuntimeException(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("std::bad_alloc")),
+ css::uno::Reference< css::uno::XInterface >());
+ }
+}
+
+rtl::OUString getImplementationName() {
+ return rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("test.cpp.cpptest.Component"));
+}
+
+css::uno::Sequence< rtl::OUString > getSupportedServiceNames() {
+ rtl::OUString s(RTL_CONSTASCII_USTRINGPARAM("test.types.CppTest"));
+ return css::uno::Sequence< rtl::OUString >(&s, 1);
+}
+
+}
+
+cppu::ImplementationEntry entries[] = {
+ { CppTest::create, CppTest::getImplementationName,
+ CppTest::getSupportedServiceNames, cppu::createSingleComponentFactory, 0,
+ 0 },
+ { 0, 0, 0, 0, 0, 0 } };
+
+}
+
+extern "C" sal_Bool SAL_CALL component_writeInfo(
+ void * serviceManager, void * registryKey)
+{
+ return cppu::component_writeInfoHelper(
+ serviceManager, registryKey, entries);
+}
+
+extern "C" void * SAL_CALL component_getFactory(
+ char const * implName, void * serviceManager, void * registryKey)
+{
+ return cppu::component_getFactoryHelper(
+ implName, serviceManager, registryKey, entries);
+}
+
+extern "C" void SAL_CALL component_getImplementationEnvironment(
+ char const ** envTypeName, uno_Environment **)
+{
+ *envTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
+}
diff --git a/ure/source/uretest/javaclient.mf.template b/ure/source/uretest/javaclient.mf.template
new file mode 100644
index 000000000000..745d23afbc2f
--- /dev/null
+++ b/ure/source/uretest/javaclient.mf.template
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Class-Path:
+Main-Class: test/java/javaclient/JavaClient
+Sealed: true
+UNO-Type-Path:
diff --git a/ure/source/uretest/javamain.mf.template b/ure/source/uretest/javamain.mf.template
new file mode 100644
index 000000000000..8ef4aa210c7c
--- /dev/null
+++ b/ure/source/uretest/javamain.mf.template
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Class-Path:
+Sealed: true
+UNO-Type-Path:
+RegistrationClassName: test.java.javamain.JavaMain
diff --git a/ure/source/uretest/javanative.mf.template b/ure/source/uretest/javanative.mf.template
new file mode 100644
index 000000000000..bb1103e025c8
--- /dev/null
+++ b/ure/source/uretest/javanative.mf.template
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Class-Path:
+Main-Class: test/java/javanative/JavaNative
+Sealed: true
+UNO-Type-Path:
diff --git a/ure/source/uretest/javatest.mf.template b/ure/source/uretest/javatest.mf.template
new file mode 100644
index 000000000000..8fc858aece29
--- /dev/null
+++ b/ure/source/uretest/javatest.mf.template
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Class-Path:
+Sealed: true
+UNO-Type-Path:
+RegistrationClassName: test.java.javatest.JavaTest
diff --git a/ure/source/uretest/runner.mf.template b/ure/source/uretest/runner.mf.template
new file mode 100644
index 000000000000..dc9c26613558
--- /dev/null
+++ b/ure/source/uretest/runner.mf.template
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Class-Path:
+Main-Class: test/java/runner/Runner
+Sealed: true
+UNO-Type-Path:
diff --git a/ure/source/uretest/tester.mf.template b/ure/source/uretest/tester.mf.template
new file mode 100644
index 000000000000..fc483bc7dae3
--- /dev/null
+++ b/ure/source/uretest/tester.mf.template
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Class-Path:
+Main-Class: test/java/tester/Tester
+Sealed: true
+UNO-Type-Path:
diff --git a/ure/source/uretest/types.idl b/ure/source/uretest/types.idl
new file mode 100644
index 000000000000..8d454801c38c
--- /dev/null
+++ b/ure/source/uretest/types.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "com/sun/star/uno/Exception.idl"
+#include "com/sun/star/uno/XInterface.idl"
+
+module test { module types {
+
+exception TestException: com::sun::star::uno::Exception {};
+
+interface XTest {
+ void throwException() raises (TestException);
+};
+
+service CppTest: XTest;
+
+service JavaTest: XTest;
+
+struct Data {
+ string m1;
+ long m2;
+};
+
+interface XServer {
+ Data getData();
+};
+
+}; };
diff --git a/ure/source/uretest/types.mf.template b/ure/source/uretest/types.mf.template
new file mode 100644
index 000000000000..c8fcee4b169b
--- /dev/null
+++ b/ure/source/uretest/types.mf.template
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Class-Path:
+Sealed: true
+UNO-Type-Path:
diff --git a/ure/source/uretest/version.map b/ure/source/uretest/version.map
new file mode 100644
index 000000000000..82a89b6b28fc
--- /dev/null
+++ b/ure/source/uretest/version.map
@@ -0,0 +1,41 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+UDK_3_0_0 {
+ global:
+ component_getFactory;
+ component_getImplementationEnvironment;
+ component_writeInfo;
+
+ _ZTI*;
+ _ZTS*;
+
+ _ZN4_STL7num_put*; # for STLport
+
+ local:
+ *;
+};