summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Skottke [jsk] <jsk@openoffice.org>2010-06-09 08:31:12 +0200
committerJoerg Skottke [jsk] <jsk@openoffice.org>2010-06-09 08:31:12 +0200
commitc447df7c86e2b4ca74ad5acf8d0e6607cfeba4f5 (patch)
tree4e3e6ded05cc652afa8486aeaada70918f6f937a
parent52d983cc7fcc5259f11ff48e538148e7cedfec9a (diff)
parenta42036353ad2a1a8c1b9f1344ad27547786dfd1f (diff)
jl152: Local branch merge
-rw-r--r--bridges/prj/build.lst21
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_alpha/cpp2uno.cxx676
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_alpha/except.cxx287
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_alpha/makefile.mk (renamed from cppu/test/alignment/makefile.mk)67
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_alpha/share.hxx98
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_alpha/uno2cpp.cxx532
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S38
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s22
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx54
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/except.cxx6
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk2
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/share.hxx7
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx113
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_hppa/cpp2uno.cxx6
-rw-r--r--bridges/source/jni_uno/jni_uno2java.cxx2
-rwxr-xr-xcppu/test/AffineBridge/AffineBridge.test.pl72
-rw-r--r--cppu/test/AffineBridge/makefile.mk42
-rw-r--r--cppu/test/AntiEnvGuard/AntiEnvGuard.test.cxx131
-rw-r--r--cppu/test/AntiEnvGuard/makefile.mk46
-rw-r--r--cppu/test/EnvDcp/EnvDcp.test.cxx111
-rw-r--r--cppu/test/EnvGuard/EnvGuard.test.cxx152
-rw-r--r--cppu/test/EnvGuard/makefile.mk46
-rwxr-xr-xcppu/test/EnvStack/EnvStack.test.pl89
-rw-r--r--cppu/test/EnvStack/makefile.mk47
-rw-r--r--cppu/test/EnvStack_tester/EnvStack.tester.cxx200
-rw-r--r--cppu/test/EnvStack_tester/ProbeEnv.cxx148
-rw-r--r--cppu/test/EnvStack_tester/ProbeEnv.def8
-rw-r--r--cppu/test/EnvStack_tester/makefile.mk126
-rw-r--r--cppu/test/Environment.test.cxx75
-rw-r--r--cppu/test/FreeReference/FreeReference.test.cxx414
-rw-r--r--cppu/test/FreeReference/makefile.mk55
-rw-r--r--cppu/test/IdentityMapping.test.cxx77
-rw-r--r--cppu/test/Map/Map.test.cxx258
-rw-r--r--cppu/test/Map/makefile.mk55
-rw-r--r--cppu/test/Mapping.test.cxx77
-rw-r--r--cppu/test/ObjectFactory/CppObject.cxx103
-rw-r--r--cppu/test/ObjectFactory/ObjectFactory.cxx69
-rw-r--r--cppu/test/ObjectFactory/UnoObject.cxx227
-rw-r--r--cppu/test/ObjectFactory/callee.hxx39
-rw-r--r--cppu/test/ObjectFactory/empty.def5
-rw-r--r--cppu/test/ObjectFactory/makefile.mk48
-rw-r--r--cppu/test/Shield/Shield.test.cxx249
-rw-r--r--cppu/test/Shield/makefile.mk55
-rwxr-xr-xcppu/test/UnsafeBridge/UnsafeBridge.test.pl72
-rw-r--r--cppu/test/UnsafeBridge/makefile.mk42
-rw-r--r--cppu/test/alignment.idl205
-rw-r--r--cppu/test/alignment/diagnose.h67
-rw-r--r--cppu/test/alignment/pass1.cxx240
-rw-r--r--cppu/test/cascade_mapping/TestMapping.cxx194
-rw-r--r--cppu/test/cascade_mapping/TestMapping.def11
-rw-r--r--cppu/test/cascade_mapping/TestProxy.cxx179
-rw-r--r--cppu/test/cascade_mapping/TestProxy.hxx70
-rwxr-xr-xcppu/test/cascade_mapping/cascade_mapping.test.pl91
-rw-r--r--cppu/test/cascade_mapping/makefile.mk90
-rw-r--r--cppu/test/cascade_mapping/path.test.cxx60
-rw-r--r--cppu/test/cascade_mapping/path.test.def8
-rw-r--r--cppu/test/cpputest.idl94
-rw-r--r--cppu/test/env_substs/env_subst.test.cxx95
-rw-r--r--cppu/test/env_substs/makefile.mk46
-rw-r--r--cppu/test/env_tester/TestEnvironment.cxx37
-rw-r--r--cppu/test/env_tester/TestEnvironment.def7
-rw-r--r--cppu/test/env_tester/env.tester.cxx104
-rw-r--r--cppu/test/env_tester/makefile.mk67
-rw-r--r--cppu/test/env_tester/purpenv.test.cxx401
-rw-r--r--cppu/test/env_tester/register.test.cxx234
-rw-r--r--cppu/test/language_binding.idl239
-rw-r--r--cppu/test/makefile.mk156
-rw-r--r--cppu/test/mapping_tester/Mapping.tester.hxx75
-rw-r--r--cppu/test/mapping_tester/makefile.mk63
-rw-r--r--cppu/test/mapping_tester/mapping.tester.cxx456
-rw-r--r--cppu/test/purpenvhelper/TestEnv.cxx129
-rw-r--r--cppu/test/purpenvhelper/TestEnv.def8
-rw-r--r--cppu/test/purpenvhelper/makefile.mk54
-rwxr-xr-xcppu/test/purpenvhelper/purpenvhelper.test.pl67
-rw-r--r--cppu/test/purpose_envs/makefile.mk44
-rwxr-xr-xcppu/test/purpose_envs/purpose_envs.test.pl67
-rw-r--r--cppu/test/surrogate.hxx155
-rw-r--r--cppu/test/test_Cincludes.c9
-rw-r--r--cppu/test/test_cuno.c784
-rw-r--r--cppu/test/test_di.cxx888
-rw-r--r--cppu/test/test_sec.cxx211
-rw-r--r--cppu/test/testcppu.cxx1241
-rw-r--r--cppu/test/testthreadpool.cxx193
-rw-r--r--idlc/source/preproc/cpp.h3
-rw-r--r--jurt/com/sun/star/lib/connections/pipe/PipeConnection.java24
-rw-r--r--jurt/prj/build.lst1
-rw-r--r--jurt/prj/d.lst3
-rw-r--r--jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection.c47
-rw-r--r--jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection.h53
-rw-r--r--jurt/source/pipe/jpipe.dxp5
-rw-r--r--jurt/source/pipe/makefile.mk96
-rw-r--r--jurt/source/pipe/wrapper/makefile.mk (renamed from cppu/test/EnvDcp/makefile.mk)36
-rw-r--r--jurt/source/pipe/wrapper/wrapper.c99
-rw-r--r--jvmfwk/plugins/sunmajor/pluginlib/vendorbase.hxx6
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRole.idl27
-rw-r--r--offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl1
-rw-r--r--offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/GridColumn.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/GridColumnEvent.idl17
-rw-r--r--offapi/com/sun/star/awt/grid/GridDataEvent.idl7
-rw-r--r--offapi/com/sun/star/awt/grid/GridInvalidDataException.idl (renamed from cppu/test/ObjectFactory/CppObject.hxx)44
-rw-r--r--offapi/com/sun/star/awt/grid/GridInvalidModelException.idl (renamed from cppu/test/ObjectFactory/UnoObject.hxx)32
-rw-r--r--offapi/com/sun/star/awt/grid/GridSelectionEvent.idl13
-rw-r--r--offapi/com/sun/star/awt/grid/SelectionEventType.idl8
-rw-r--r--offapi/com/sun/star/awt/grid/UnoControlGrid.idl1
-rw-r--r--offapi/com/sun/star/awt/grid/UnoControlGridModel.idl65
-rw-r--r--offapi/com/sun/star/awt/grid/XGridCell.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/XGridCellRenderer.idl5
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumn.idl50
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumnListener.idl22
-rw-r--r--offapi/com/sun/star/awt/grid/XGridColumnModel.idl38
-rw-r--r--offapi/com/sun/star/awt/grid/XGridControl.idl27
-rw-r--r--offapi/com/sun/star/awt/grid/XGridControlListener.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/XGridDataListener.idl2
-rw-r--r--offapi/com/sun/star/awt/grid/XGridDataModel.idl31
-rw-r--r--offapi/com/sun/star/awt/grid/XGridSelection.idl38
-rw-r--r--offapi/com/sun/star/awt/grid/makefile.mk4
-rw-r--r--offapi/com/sun/star/deployment/ExtensionManager.idl8
-rw-r--r--offapi/com/sun/star/deployment/XExtensionManager.idl73
-rw-r--r--offapi/com/sun/star/deployment/XPackage.idl6
-rw-r--r--offapi/com/sun/star/deployment/XPackageManager.idl5
-rwxr-xr-xoffapi/com/sun/star/document/DocumentProperties.idl2
-rw-r--r--offapi/com/sun/star/document/MediaDescriptor.idl9
-rw-r--r--offapi/com/sun/star/document/OfficeDocument.idl13
-rwxr-xr-xoffapi/com/sun/star/document/XDocumentProperties.idl30
-rw-r--r--offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl2
-rw-r--r--offapi/com/sun/star/embed/Actions.idl2
-rw-r--r--offapi/com/sun/star/embed/Aspects.idl2
-rw-r--r--offapi/com/sun/star/embed/BaseStorage.idl2
-rw-r--r--offapi/com/sun/star/embed/DocumentCloser.idl2
-rw-r--r--offapi/com/sun/star/embed/ElementModes.idl2
-rw-r--r--offapi/com/sun/star/embed/EmbedMapUnits.idl2
-rw-r--r--offapi/com/sun/star/embed/EmbedMisc.idl2
-rw-r--r--offapi/com/sun/star/embed/EmbedStates.idl2
-rw-r--r--offapi/com/sun/star/embed/EmbedUpdateModes.idl2
-rw-r--r--offapi/com/sun/star/embed/EmbedVerbs.idl2
-rw-r--r--offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl2
-rw-r--r--offapi/com/sun/star/embed/EntryInitModes.idl2
-rw-r--r--offapi/com/sun/star/embed/FileSystemStorage.idl2
-rw-r--r--offapi/com/sun/star/embed/FileSystemStorageFactory.idl2
-rw-r--r--offapi/com/sun/star/embed/InsertedObjectInfo.idl2
-rw-r--r--offapi/com/sun/star/embed/InstanceLocker.idl2
-rw-r--r--offapi/com/sun/star/embed/InvalidStorageException.idl2
-rw-r--r--offapi/com/sun/star/embed/LinkageMisuseException.idl2
-rw-r--r--offapi/com/sun/star/embed/NeedsRunningStateException.idl2
-rw-r--r--offapi/com/sun/star/embed/NoVisualAreaSizeException.idl2
-rw-r--r--offapi/com/sun/star/embed/OLESimpleStorage.idl2
-rw-r--r--offapi/com/sun/star/embed/ObjectSaveVetoException.idl2
-rw-r--r--offapi/com/sun/star/embed/StateChangeInProgressException.idl2
-rw-r--r--offapi/com/sun/star/embed/Storage.idl2
-rw-r--r--offapi/com/sun/star/embed/StorageFactory.idl17
-rw-r--r--offapi/com/sun/star/embed/StorageFormats.idl (renamed from cppu/test/EnvStack_tester/EnvStack.tester.hxx)50
-rw-r--r--offapi/com/sun/star/embed/StorageStream.idl2
-rw-r--r--offapi/com/sun/star/embed/StorageWrappedTargetException.idl2
-rw-r--r--offapi/com/sun/star/embed/UnreachableStateException.idl2
-rw-r--r--offapi/com/sun/star/embed/UseBackupException.idl2
-rw-r--r--offapi/com/sun/star/embed/VerbAttributes.idl2
-rw-r--r--offapi/com/sun/star/embed/VerbDescriptor.idl2
-rw-r--r--offapi/com/sun/star/embed/VisualRepresentation.idl2
-rw-r--r--offapi/com/sun/star/embed/WrongStateException.idl2
-rw-r--r--offapi/com/sun/star/embed/XActionsApproval.idl2
-rw-r--r--offapi/com/sun/star/embed/XClassifiedObject.idl2
-rw-r--r--offapi/com/sun/star/embed/XCommonEmbedPersist.idl2
-rw-r--r--offapi/com/sun/star/embed/XComponentSupplier.idl2
-rw-r--r--offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl2
-rw-r--r--offapi/com/sun/star/embed/XEmbedObjectCreator.idl2
-rw-r--r--offapi/com/sun/star/embed/XEmbedObjectFactory.idl2
-rw-r--r--offapi/com/sun/star/embed/XEmbedPersist.idl2
-rw-r--r--offapi/com/sun/star/embed/XEmbeddedClient.idl2
-rw-r--r--offapi/com/sun/star/embed/XEmbeddedObject.idl2
-rw-r--r--offapi/com/sun/star/embed/XEncryptionProtectedSource.idl2
-rw-r--r--offapi/com/sun/star/embed/XExtendedStorageStream.idl2
-rw-r--r--offapi/com/sun/star/embed/XHatchWindow.idl2
-rw-r--r--offapi/com/sun/star/embed/XHatchWindowController.idl2
-rw-r--r--offapi/com/sun/star/embed/XHatchWindowFactory.idl2
-rw-r--r--offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl2
-rw-r--r--offapi/com/sun/star/embed/XInplaceObject.idl2
-rw-r--r--offapi/com/sun/star/embed/XInsertObjectDialog.idl2
-rw-r--r--offapi/com/sun/star/embed/XLinkCreator.idl2
-rw-r--r--offapi/com/sun/star/embed/XLinkFactory.idl2
-rw-r--r--offapi/com/sun/star/embed/XLinkageSupport.idl2
-rw-r--r--offapi/com/sun/star/embed/XOLESimpleStorage.idl2
-rw-r--r--offapi/com/sun/star/embed/XOptimizedStorage.idl2
-rw-r--r--offapi/com/sun/star/embed/XPackageStructureCreator.idl2
-rw-r--r--offapi/com/sun/star/embed/XPersistanceHolder.idl2
-rw-r--r--offapi/com/sun/star/embed/XRelationshipAccess.idl2
-rw-r--r--offapi/com/sun/star/embed/XStateChangeBroadcaster.idl2
-rw-r--r--offapi/com/sun/star/embed/XStateChangeListener.idl2
-rw-r--r--offapi/com/sun/star/embed/XStorage.idl2
-rw-r--r--offapi/com/sun/star/embed/XStorageRawAccess.idl2
-rw-r--r--offapi/com/sun/star/embed/XTransactedObject.idl2
-rw-r--r--offapi/com/sun/star/embed/XTransactionBroadcaster.idl2
-rw-r--r--offapi/com/sun/star/embed/XTransactionListener.idl2
-rw-r--r--offapi/com/sun/star/embed/XTransferableSupplier.idl2
-rw-r--r--offapi/com/sun/star/embed/XVisualObject.idl2
-rw-r--r--offapi/com/sun/star/embed/XWindowSupplier.idl2
-rw-r--r--offapi/com/sun/star/embed/makefile.mk1
-rw-r--r--offapi/com/sun/star/packages/NoEncryptionException.idl2
-rw-r--r--offapi/com/sun/star/packages/NoRawFormatException.idl2
-rw-r--r--offapi/com/sun/star/packages/WrongPasswordException.idl2
-rw-r--r--offapi/com/sun/star/rdf/XDocumentRepository.idl28
-rw-r--r--offapi/com/sun/star/script/ModuleInfo.idl55
-rw-r--r--offapi/com/sun/star/script/ModuleType.idl72
-rw-r--r--offapi/com/sun/star/script/XVBACompat.idl (renamed from cppu/test/ObjectFactory/ObjectFactory.hxx)33
-rw-r--r--offapi/com/sun/star/script/XVBAModuleInfo.idl73
-rw-r--r--offapi/com/sun/star/script/makefile.mk4
-rwxr-xr-xoffapi/com/sun/star/text/InContentMetadata.idl10
-rw-r--r--offapi/com/sun/star/text/TextMarkupType.idl6
-rw-r--r--offapi/com/sun/star/text/TextRangeContentProperties.idl133
-rw-r--r--offapi/com/sun/star/text/makefile.mk1
-rwxr-xr-xoffapi/com/sun/star/text/textfield/MetadataField.idl11
-rwxr-xr-xpyuno/zipcore/makefile.mk2
-rw-r--r--sal/prj/build.lst1
-rw-r--r--sal/qa/ByteSequence/ByteSequence.cxx729
-rw-r--r--sal/qa/ByteSequence/Byte_Const.h95
-rw-r--r--sal/qa/ByteSequence/makefile.mk64
-rw-r--r--sal/qa/ByteSequence/rtl_old_testbyteseq.cxx134
-rwxr-xr-xsal/qa/osl/mutex/osl_Mutex.cxx6
-rw-r--r--sal/rtl/source/macro.hxx2
-rw-r--r--sal/typesconfig/typesconfig.c2
-rw-r--r--ure/source/README1
221 files changed, 3106 insertions, 11735 deletions
diff --git a/bridges/prj/build.lst b/bridges/prj/build.lst
index c6e342520672..0e7979742562 100644
--- a/bridges/prj/build.lst
+++ b/bridges/prj/build.lst
@@ -12,16 +12,17 @@ br bridges\source\cpp_uno\gcc3_os2_intel nmake - p br_gcc3os br_cppuno_shared br
br bridges\source\cpp_uno\gcc3_freebsd_intel nmake - u br_gcc3fi br_cppuno_shared br_unotypes br_inc NULL
br bridges\source\cpp_uno\gcc3_linux_x86-64 nmake - u br_gcc3lx br_cppuno_shared br_unotypes br_inc NULL
br bridges\source\cpp_uno\gcc3_freebsd_x86-64 nmake - u br_gcc3fx br_cppuno_shared br_unotypes br_inc NULL
-br bridges\source\cpp_uno\gcc3_linux_powerpc nmake - u br_gcclp3 br_cppuno_shared br_unotypes br_inc NULL
-br bridges\source\cpp_uno\gcc3_linux_powerpc64 nmake - u br_gcclp3_64 br_cppuno_shared br_unotypes br_inc NULL
-br bridges\source\cpp_uno\gcc3_linux_mips nmake - u br_gcc3mips br_cppuno_shared br_unotypes br_inc NULL
-br bridges\source\cpp_uno\gcc3_linux_m68k nmake - u br_gcc3m68k br_cppuno_shared br_unotypes br_inc NULL
-br bridges\source\cpp_uno\gcc3_linux_s390 nmake - u br_gccl33 br_unotypes br_inc NULL
-br bridges\source\cpp_uno\gcc3_linux_s390x nmake - u br_gccl3x br_unotypes br_inc NULL
-br bridges\source\cpp_uno\gcc3_linux_sparc nmake - u br_gccl3s br_unotypes br_cppuno_shared br_inc NULL
-br bridges\source\cpp_uno\gcc3_linux_arm nmake - u br_gccl3r br_unotypes NULL
-br bridges\source\cpp_uno\gcc3_linux_ia64 nmake - u br_gccl3a br_unotypes NULL
-br bridges\source\cpp_uno\gcc3_linux_hppa nmake - u br_gccl3h br_unotypes NULL
+br bridges\source\cpp_uno\gcc3_linux_powerpc nmake - u br_gcc3lp br_cppuno_shared br_unotypes br_inc NULL
+br bridges\source\cpp_uno\gcc3_linux_powerpc64 nmake - u br_gcc3lp_64 br_cppuno_shared br_unotypes br_inc NULL
+br bridges\source\cpp_uno\gcc3_linux_mips nmake - u br_gcc3lmips br_cppuno_shared br_unotypes br_inc NULL
+br bridges\source\cpp_uno\gcc3_linux_m68k nmake - u br_gcc3lm68k br_cppuno_shared br_unotypes br_inc NULL
+br bridges\source\cpp_uno\gcc3_linux_s390 nmake - u br_gcc3l3 br_unotypes br_inc NULL
+br bridges\source\cpp_uno\gcc3_linux_s390x nmake - u br_gcc3l3_64 br_unotypes br_inc NULL
+br bridges\source\cpp_uno\gcc3_linux_sparc nmake - u br_gcc3ls br_unotypes br_cppuno_shared br_inc NULL
+br bridges\source\cpp_uno\gcc3_linux_arm nmake - u br_gcc3lr br_unotypes NULL
+br bridges\source\cpp_uno\gcc3_linux_ia64 nmake - u br_gcc3la br_unotypes NULL
+br bridges\source\cpp_uno\gcc3_linux_hppa nmake - u br_gcc3lh br_unotypes NULL
+br bridges\source\cpp_uno\gcc3_linux_alpha nmake - u br_gcc3ll br_unotypes NULL
br bridges\source\cpp_uno\gcc3_macosx_intel nmake - u br_gcc3macoxi br_cppuno_shared br_unotypes br_inc NULL
br bridges\source\cpp_uno\gcc3_macosx_powerpc nmake - u br_gcc3macoxp br_cppuno_shared br_unotypes br_inc NULL
br bridges\source\cpp_uno\cc50_solaris_sparc nmake - u br_cc50sols br_unotypes br_cppuno_shared br_inc NULL
diff --git a/bridges/source/cpp_uno/gcc3_linux_alpha/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_alpha/cpp2uno.cxx
new file mode 100644
index 000000000000..abc5ce67e4b4
--- /dev/null
+++ b/bridges/source/cpp_uno/gcc3_linux_alpha/cpp2uno.cxx
@@ -0,0 +1,676 @@
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_bridges.hxx"
+
+#include <com/sun/star/uno/genfunc.hxx>
+#include <uno/data.h>
+#include <typelib/typedescription.hxx>
+
+#include "bridges/cpp_uno/shared/bridge.hxx"
+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
+#include "bridges/cpp_uno/shared/types.hxx"
+#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+#include "share.hxx"
+#include <stdio.h>
+
+//Calling Standards:
+// "Calling Standard for Alpha Systems"
+// (Tru64 UNIX Version 5.1 or higher, August 2000)
+//http://www.tru64unix.compaq.com/docs/base_doc/DOCUMENTATION/V51_HTML/ARH9MBTE/TITLE.HTM
+
+using namespace ::com::sun::star::uno;
+
+namespace
+{
+static typelib_TypeClass cpp2uno_call(
+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void ** gpreg, void ** fpreg, void ** ovrflw,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+{
+#ifdef CMC_DEBUG
+ fprintf(stderr, "as far as cpp2uno_call\n");
+#endif
+ int nregs = 0; //number of words passed in registers
+
+ // gpreg: [ret *], this, [gpr params]
+ // fpreg: [fpr params]
+ // ovrflw: [gpr or fpr params (properly aligned)]
+
+ // return
+ typelib_TypeDescription * pReturnTypeDescr = 0;
+ if (pReturnTypeRef)
+ TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
+
+ void * pUnoReturn = 0;
+ void * pCppReturn = 0; // complex return ptr: if != 0 && != pUnoReturn, reconversion need
+
+ if (pReturnTypeDescr)
+ {
+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+ else // complex return via ptr (pCppReturn)
+ {
+ pCppReturn = *(void **)gpreg;
+ gpreg++;
+ fpreg++;
+ nregs++;
+
+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+ }
+ // pop this
+ gpreg++;
+ fpreg++;
+ nregs++;
+
+ // stack space
+ OSL_ENSURE( sizeof(void *) == sizeof(sal_Int64), "### unexpected size!" );
+ // parameters
+ void ** pUnoArgs = (void **)alloca( 4 * sizeof(void *) * nParams );
+ void ** pCppArgs = pUnoArgs + nParams;
+ // indizes of values this have to be converted (interface conversion cpp<=>uno)
+ sal_Int32 * pTempIndizes = (sal_Int32 *)(pUnoArgs + (2 * nParams));
+ // type descriptions for reconversions
+ typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pUnoArgs + (3 * nParams));
+
+ sal_Int32 nTempIndizes = 0;
+ for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos )
+ {
+ const typelib_MethodParameter & rParam = pParams[nPos];
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+#ifdef CMC_DEBUG
+ fprintf(stderr, "arg %d of %d\n", nPos, nParams);
+#endif
+
+ if (!rParam.bOut && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) // value
+ {
+#ifdef CMC_DEBUG
+ fprintf(stderr, "simple type is %d\n", pParamTypeDescr->eTypeClass);
+#endif
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+ case typelib_TypeClass_FLOAT:
+ case typelib_TypeClass_DOUBLE:
+ if (nregs < axp::MAX_WORDS_IN_REGS)
+ {
+ if (pParamTypeDescr->eTypeClass == typelib_TypeClass_FLOAT)
+ {
+ float tmp = (float) (*((double *)fpreg));
+ (*((float *) fpreg)) = tmp;
+ }
+
+ pCppArgs[nPos] = pUnoArgs[nPos] = fpreg;
+ gpreg++;
+ fpreg++;
+ nregs++;
+ }
+ else
+ {
+ pCppArgs[nPos] = pUnoArgs[nPos] = ovrflw;
+ ovrflw++;
+ }
+ break;
+ case typelib_TypeClass_BYTE:
+ case typelib_TypeClass_BOOLEAN:
+ if (nregs < axp::MAX_WORDS_IN_REGS)
+ {
+ pCppArgs[nPos] = pUnoArgs[nPos] = gpreg;
+ gpreg++;
+ fpreg++;
+ nregs++;
+ }
+ else
+ {
+ pCppArgs[nPos] = pUnoArgs[nPos] = ovrflw;
+ ovrflw++;
+ }
+ break;
+ case typelib_TypeClass_CHAR:
+ case typelib_TypeClass_SHORT:
+ case typelib_TypeClass_UNSIGNED_SHORT:
+ if (nregs < axp::MAX_WORDS_IN_REGS)
+ {
+ pCppArgs[nPos] = pUnoArgs[nPos] = gpreg;
+ gpreg++;
+ fpreg++;
+ nregs++;
+ }
+ else
+ {
+ pCppArgs[nPos] = pUnoArgs[nPos] = ovrflw;
+ ovrflw++;
+ }
+ break;
+ case typelib_TypeClass_ENUM:
+ case typelib_TypeClass_LONG:
+ case typelib_TypeClass_UNSIGNED_LONG:
+ if (nregs < axp::MAX_WORDS_IN_REGS)
+ {
+ pCppArgs[nPos] = pUnoArgs[nPos] = gpreg;
+ gpreg++;
+ fpreg++;
+ nregs++;
+ }
+ else
+ {
+ pCppArgs[nPos] = pUnoArgs[nPos] = ovrflw;
+ ovrflw++;
+ }
+ break;
+ default:
+ if (nregs < axp::MAX_WORDS_IN_REGS)
+ {
+ pCppArgs[nPos] = pUnoArgs[nPos] = gpreg;
+ gpreg++;
+ fpreg++;
+ nregs++;
+ }
+ else
+ {
+ pCppArgs[nPos] = pUnoArgs[nPos] = ovrflw;
+ ovrflw++;
+ }
+ break;
+ }
+
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ else // ptr to complex value | ref
+ {
+#ifdef CMC_DEBUG
+ fprintf(stderr, "complex, nregs is %d\n", nregs);
+#endif
+
+ void *pCppStack; //temporary stack pointer
+
+ if (nregs < axp::MAX_WORDS_IN_REGS)
+ {
+ pCppArgs[nPos] = pCppStack = *gpreg;
+ gpreg++;
+ fpreg++;
+ nregs++;
+ }
+ else
+ {
+ pCppArgs[nPos] = pCppStack = *ovrflw;
+ ovrflw++;
+ }
+
+ if (! rParam.bIn) // is pure out
+ {
+ // uno out is unconstructed mem!
+ pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize );
+ pTempIndizes[nTempIndizes] = nPos;
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ pCppStack, pParamTypeDescr,
+ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ else // direct way
+ {
+ pUnoArgs[nPos] = pCppStack;
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ }
+ }
+
+#ifdef CMC_DEBUG
+ fprintf(stderr, "end of params\n");
+#endif
+
+ // ExceptionHolder
+ uno_Any aUnoExc; // Any will be constructed by callee
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+ (*pThis->getUnoI()->pDispatcher)( pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+ {
+ // destruct temporary in/inout params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+
+ if (pParams[nIndex].bIn) // is in/inout => was constructed
+ uno_destructData( pUnoArgs[nIndex], ppTempParamTypeDescr[nTempIndizes], 0 );
+ TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndizes] );
+ }
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+ CPPU_CURRENT_NAMESPACE::raiseException( &aUnoExc, pThis->getBridge()->getUno2Cpp() ); // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+ else // else no exception occured...
+ {
+ // temporary params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+ typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndizes];
+
+ if (pParams[nIndex].bOut) // inout/out
+ {
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ // return
+ if (pCppReturn) // has complex return
+ {
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+ // complex return ptr is set to return reg
+ *(void **)pRegisterReturn = pCppReturn;
+ }
+ if (pReturnTypeDescr)
+ {
+ typelib_TypeClass eRet = (typelib_TypeClass)pReturnTypeDescr->eTypeClass;
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+ return eRet;
+ }
+ else
+ return typelib_TypeClass_VOID;
+ }
+}
+
+
+//============================================================================
+static typelib_TypeClass cpp_mediate(
+ sal_uInt64 nOffsetAndIndex,
+ void ** gpreg, void ** fpreg, void ** ovrflw,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+{
+ OSL_ENSURE( sizeof(sal_Int64)==sizeof(void *), "### unexpected!" );
+
+ sal_Int32 nVtableOffset = (nOffsetAndIndex >> 32);
+ sal_Int32 nFunctionIndex = (nOffsetAndIndex & 0xFFFFFFFF);
+
+#ifdef CMC_DEBUG
+ fprintf(stderr, "nVTableOffset, nFunctionIndex are %x %x\n", nVtableOffset, nFunctionIndex);
+#endif
+
+#ifdef CMC_DEBUG
+ // Let's figure out what is really going on here
+ {
+ fprintf( stderr, "= cpp_mediate () =\nGPR's (%d): ", 6 );
+ for ( unsigned int i = 0; i < 6; ++i )
+ fprintf( stderr, "0x%lx, ", gpreg[i] );
+ fprintf( stderr, "\n");
+ fprintf( stderr, "\nFPR's (%d): ", 6 );
+ for ( unsigned int i = 0; i < 6; ++i )
+ fprintf( stderr, "0x%lx (%f), ", fpreg[i], fpreg[i] );
+ fprintf( stderr, "\n");
+ }
+#endif
+
+
+ // gpreg: [ret *], this, [other gpr params]
+ // fpreg: [fpr params]
+ // ovrflw: [gpr or fpr params (properly aligned)]
+
+ // _this_ ptr is patched cppu_XInterfaceProxy object
+ void * pThis;
+ if( nFunctionIndex & 0x80000000 )
+ {
+ nFunctionIndex &= 0x7fffffff;
+ pThis = gpreg[1];
+ }
+ else
+ {
+ pThis = gpreg[0];
+ }
+
+ pThis = static_cast< char * >(pThis) - nVtableOffset;
+
+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
+ pThis);
+
+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+
+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+ rtl::OUString::createFromAscii("illegal vtable index!"),
+ (XInterface *)pCppI );
+ }
+
+ // determine called method
+ OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+
+ typelib_TypeClass eRet;
+ switch (aMemberDescr.get()->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+ pCppI, aMemberDescr.get(),
+ ((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef,
+ 0, 0, // no params
+ gpreg, fpreg, ovrflw, pRegisterReturn );
+ }
+ else
+ {
+ // is SET method
+ typelib_MethodParameter aParam;
+ aParam.pTypeRef =
+ ((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef;
+ aParam.bIn = sal_True;
+ aParam.bOut = sal_False;
+
+ eRet = cpp2uno_call(
+ pCppI, aMemberDescr.get(),
+ 0, // indicates void return
+ 1, &aParam,
+ gpreg, fpreg, ovrflw, pRegisterReturn );
+ }
+ break;
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+ eRet = typelib_TypeClass_VOID;
+ break;
+ case 2: // release()
+ pCppI->releaseProxy(); // non virtual call!
+ eRet = typelib_TypeClass_VOID;
+ break;
+ case 0: // queryInterface() opt
+ {
+ typelib_TypeDescription * pTD = 0;
+ TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( gpreg[2] )->getTypeLibType() );
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
+ pCppI->getBridge()->getCppEnv(),
+ (void **)&pInterface, pCppI->getOid().pData,
+ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+ ::uno_any_construct(
+ reinterpret_cast< uno_Any * >( gpreg[0] ),
+ &pInterface, pTD, cpp_acquire );
+ pInterface->release();
+ TYPELIB_DANGER_RELEASE( pTD );
+ *(void **)pRegisterReturn = gpreg[0];
+ eRet = typelib_TypeClass_ANY;
+ break;
+ }
+ TYPELIB_DANGER_RELEASE( pTD );
+ }
+ } // else perform queryInterface()
+ default:
+ eRet = cpp2uno_call(
+ pCppI, aMemberDescr.get(),
+ ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pParams,
+ gpreg, fpreg, ovrflw, pRegisterReturn );
+ }
+ break;
+ }
+ default:
+ {
+ throw RuntimeException(
+ rtl::OUString::createFromAscii("no member description found!"),
+ (XInterface *)pCppI );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+ }
+
+ return eRet;
+}
+
+long cpp_vtable_call(long r16, long r17, long r18, long r19, long r20, long r21, long firstonstack)
+{
+ register long r1 asm("$1");
+ sal_uInt64 nOffsetAndIndex = r1;
+
+ long sp = (long)&firstonstack;
+
+ sal_uInt64 gpreg[axp::MAX_GPR_REGS];
+ gpreg[0] = r16;
+ gpreg[1] = r17;
+ gpreg[2] = r18;
+ gpreg[3] = r19;
+ gpreg[4] = r20;
+ gpreg[5] = r21;
+
+ double fpreg[axp::MAX_SSE_REGS];
+ register double f16 asm("$f16"); fpreg[0] = f16;
+ register double f17 asm("$f17"); fpreg[1] = f17;
+ register double f18 asm("$f18"); fpreg[2] = f18;
+ register double f19 asm("$f19"); fpreg[3] = f19;
+ register double f20 asm("$f20"); fpreg[4] = f20;
+ register double f21 asm("$f21"); fpreg[5] = f21;
+
+ volatile long nRegReturn[1];
+#ifdef CMC_DEBUG
+ fprintf(stderr, "before mediate with %lx\n",nOffsetAndIndex);
+ fprintf(stderr, "non-doubles are %x %x %x %x %x %x\n", gpreg[0], gpreg[1], gpreg[2], gpreg[3], gpreg[4], gpreg[5]);
+ fprintf(stderr, "doubles are %f %f %f %f %f %f\n", fpreg[0], fpreg[1], fpreg[2], fpreg[3], fpreg[4], fpreg[5]);
+#endif
+ typelib_TypeClass aType =
+ cpp_mediate( nOffsetAndIndex, (void**)gpreg, (void**)fpreg, (void**)sp,
+ (sal_Int64*)nRegReturn );
+#ifdef CMC_DEBUG
+ fprintf(stderr, "after mediate ret is %lx %ld\n", nRegReturn[0], nRegReturn[0]);
+#endif
+
+ switch( aType )
+ {
+ case typelib_TypeClass_BOOLEAN:
+ case typelib_TypeClass_BYTE:
+ nRegReturn[0] = (unsigned long)(*(unsigned char *)nRegReturn);
+ break;
+ case typelib_TypeClass_CHAR:
+ case typelib_TypeClass_UNSIGNED_SHORT:
+ case typelib_TypeClass_SHORT:
+ nRegReturn[0] = (unsigned long)(*(unsigned short *)nRegReturn);
+ break;
+ case typelib_TypeClass_ENUM:
+ case typelib_TypeClass_UNSIGNED_LONG:
+ case typelib_TypeClass_LONG:
+ nRegReturn[0] = (unsigned long)(*(unsigned int *)nRegReturn);
+ break;
+ case typelib_TypeClass_VOID:
+ default:
+ break;
+ case typelib_TypeClass_FLOAT:
+ {
+ double tmp = (double) (*((float *)nRegReturn));
+ (*((double *) nRegReturn)) = tmp;
+ }
+ //deliberate fall through
+ case typelib_TypeClass_DOUBLE:
+ __asm__ ( "ldt $f0,%0\n\t"
+ : : "m" (*((double*)nRegReturn)) : "$f0");
+ break;
+ }
+ return nRegReturn[0];
+}
+
+const int codeSnippetSize = 32;
+
+unsigned char *codeSnippet( unsigned char * code, sal_Int32 nFunctionIndex, sal_Int32 nVtableOffset, bool simple_ret_type )
+{
+ if (! simple_ret_type)
+ nFunctionIndex |= 0x80000000;
+
+ unsigned char * p = code;
+ *(unsigned int*)&p[0] = 0x47fb0401; /* mov $27,$1 */
+ *(unsigned int*)&p[4] = 0xa43b0010; /* ldq $1,16($27) */
+ *(unsigned int*)&p[8] = 0xa77b0018; /* ldq $27,24($27) */
+ *(unsigned int*)&p[12] = 0x6bfb0000; /* jmp $31,($27),0 */
+ *(unsigned int*)&p[16] = nFunctionIndex;
+ *(unsigned int*)&p[20] = nVtableOffset;
+ *(unsigned long*)&p[24] = (unsigned long)cpp_vtable_call;
+ return (code + codeSnippetSize);
+}
+}
+
+void bridges::cpp_uno::shared::VtableFactory::flushCode(unsigned char const *, unsigned char const *)
+{
+ //http://www.gnu.org/software/lightning/manual/html_node/Standard-functions.html
+ __asm__ __volatile__("call_pal 0x86");
+}
+
+struct bridges::cpp_uno::shared::VtableFactory::Slot { void * fn; };
+
+bridges::cpp_uno::shared::VtableFactory::Slot *
+bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(void * block)
+{
+ return static_cast< Slot * >(block) + 2;
+}
+
+sal_Size bridges::cpp_uno::shared::VtableFactory::getBlockSize(
+ sal_Int32 slotCount)
+{
+ return (slotCount + 2) * sizeof (Slot) + slotCount * codeSnippetSize;
+}
+
+bridges::cpp_uno::shared::VtableFactory::Slot *
+bridges::cpp_uno::shared::VtableFactory::initializeBlock(
+ void * block, sal_Int32 slotCount)
+{
+ Slot * slots = mapBlockToVtable(block);
+ slots[-2].fn = 0;
+ slots[-1].fn = 0;
+ return slots + slotCount;
+}
+
+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
+ Slot ** slots, unsigned char * code, sal_PtrDiff writetoexecdiff,
+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
+ sal_Int32 functionCount, sal_Int32 vtableOffset)
+{
+ (*slots) -= functionCount;
+ Slot * s = *slots;
+#ifdef CMC_DEBUG
+ fprintf(stderr, "in addLocalFunctions functionOffset is %x\n",functionOffset);
+ fprintf(stderr, "in addLocalFunctions vtableOffset is %x\n",vtableOffset);
+#endif
+
+ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
+ typelib_TypeDescription * member = 0;
+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
+ OSL_ASSERT(member != 0);
+ switch (member->eTypeClass) {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ // Getter:
+ (s++)->fn = code + writetoexecdiff;
+ code = codeSnippet(
+ code, functionOffset++, vtableOffset,
+ bridges::cpp_uno::shared::isSimpleType(
+ reinterpret_cast<
+ typelib_InterfaceAttributeTypeDescription * >(
+ member)->pAttributeTypeRef));
+
+ // Setter:
+ if (!reinterpret_cast<
+ typelib_InterfaceAttributeTypeDescription * >(
+ member)->bReadOnly)
+ {
+ (s++)->fn = code + writetoexecdiff;
+ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+ break;
+
+ case typelib_TypeClass_INTERFACE_METHOD:
+ (s++)->fn = code + writetoexecdiff;
+ code = codeSnippet(
+ code, functionOffset++, vtableOffset,
+ bridges::cpp_uno::shared::isSimpleType(
+ reinterpret_cast<
+ typelib_InterfaceMethodTypeDescription * >(
+ member)->pReturnTypeRef));
+ break;
+
+ default:
+ OSL_ASSERT(false);
+ break;
+ }
+ TYPELIB_DANGER_RELEASE(member);
+ }
+ return code;
+}
+
+/* vi:set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/bridges/source/cpp_uno/gcc3_linux_alpha/except.cxx b/bridges/source/cpp_uno/gcc3_linux_alpha/except.cxx
new file mode 100644
index 000000000000..3e666a11cdd0
--- /dev/null
+++ b/bridges/source/cpp_uno/gcc3_linux_alpha/except.cxx
@@ -0,0 +1,287 @@
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_bridges.hxx"
+
+#include <stdio.h>
+#include <string.h>
+#include <dlfcn.h>
+#include <cxxabi.h>
+#include <hash_map>
+
+#include <rtl/strbuf.hxx>
+#include <rtl/ustrbuf.hxx>
+#include <osl/diagnose.h>
+#include <osl/mutex.hxx>
+
+#include <com/sun/star/uno/genfunc.hxx>
+#include <typelib/typedescription.hxx>
+#include <uno/any2.h>
+
+#include "share.hxx"
+
+
+using namespace ::std;
+using namespace ::osl;
+using namespace ::rtl;
+using namespace ::com::sun::star::uno;
+using namespace ::__cxxabiv1;
+
+
+namespace CPPU_CURRENT_NAMESPACE
+{
+
+void dummy_can_throw_anything( char const * )
+{
+}
+
+//==================================================================================================
+static OUString toUNOname( char const * p ) SAL_THROW( () )
+{
+#if OSL_DEBUG_LEVEL > 1
+ char const * start = p;
+#endif
+
+ // example: N3com3sun4star4lang24IllegalArgumentExceptionE
+
+ OUStringBuffer buf( 64 );
+ OSL_ASSERT( 'N' == *p );
+ ++p; // skip N
+
+ while ('E' != *p)
+ {
+ // read chars count
+ long n = (*p++ - '0');
+ while ('0' <= *p && '9' >= *p)
+ {
+ n *= 10;
+ n += (*p++ - '0');
+ }
+ buf.appendAscii( p, n );
+ p += n;
+ if ('E' != *p)
+ buf.append( (sal_Unicode)'.' );
+ }
+
+#if OSL_DEBUG_LEVEL > 1
+ OUString ret( buf.makeStringAndClear() );
+ OString c_ret( OUStringToOString( ret, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> toUNOname(): %s => %s\n", start, c_ret.getStr() );
+ return ret;
+#else
+ return buf.makeStringAndClear();
+#endif
+}
+
+//==================================================================================================
+class RTTI
+{
+ typedef hash_map< OUString, type_info *, OUStringHash > t_rtti_map;
+
+ Mutex m_mutex;
+ t_rtti_map m_rttis;
+ t_rtti_map m_generatedRttis;
+
+ void * m_hApp;
+
+public:
+ RTTI() SAL_THROW( () );
+ ~RTTI() SAL_THROW( () );
+
+ type_info * getRTTI( typelib_CompoundTypeDescription * ) SAL_THROW( () );
+};
+//__________________________________________________________________________________________________
+RTTI::RTTI() SAL_THROW( () )
+ : m_hApp( dlopen( 0, RTLD_LAZY ) )
+{
+}
+//__________________________________________________________________________________________________
+RTTI::~RTTI() SAL_THROW( () )
+{
+ dlclose( m_hApp );
+}
+
+//__________________________________________________________________________________________________
+type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THROW( () )
+{
+ type_info * rtti;
+
+ OUString const & unoName = *(OUString const *)&pTypeDescr->aBase.pTypeName;
+
+ MutexGuard guard( m_mutex );
+ t_rtti_map::const_iterator iRttiFind( m_rttis.find( unoName ) );
+ if (iRttiFind == m_rttis.end())
+ {
+ // RTTI symbol
+ OStringBuffer buf( 64 );
+ buf.append( RTL_CONSTASCII_STRINGPARAM("_ZTIN") );
+ sal_Int32 index = 0;
+ do
+ {
+ OUString token( unoName.getToken( 0, '.', index ) );
+ buf.append( token.getLength() );
+ OString c_token( OUStringToOString( token, RTL_TEXTENCODING_ASCII_US ) );
+ buf.append( c_token );
+ }
+ while (index >= 0);
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+ rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
+
+ if (rtti)
+ {
+ pair< t_rtti_map::iterator, bool > insertion(
+ m_rttis.insert( t_rtti_map::value_type( unoName, rtti ) ) );
+ OSL_ENSURE( insertion.second, "### inserting new rtti failed?!" );
+ }
+ else
+ {
+ // try to lookup the symbol in the generated rtti map
+ t_rtti_map::const_iterator iFind( m_generatedRttis.find( unoName ) );
+ if (iFind == m_generatedRttis.end())
+ {
+ // we must generate it !
+ // symbol and rtti-name is nearly identical,
+ // the symbol is prefixed with _ZTI
+ char const * rttiName = symName.getStr() +4;
+#if OSL_DEBUG_LEVEL > 1
+ fprintf( stderr,"generated rtti for %s\n", rttiName );
+#endif
+ if (pTypeDescr->pBaseTypeDescription)
+ {
+ // ensure availability of base
+ type_info * base_rtti = getRTTI(
+ (typelib_CompoundTypeDescription *)pTypeDescr->pBaseTypeDescription );
+ rtti = new __si_class_type_info(
+ strdup( rttiName ), (__class_type_info *)base_rtti );
+ }
+ else
+ {
+ // this class has no base class
+ rtti = new __class_type_info( strdup( rttiName ) );
+ }
+
+ pair< t_rtti_map::iterator, bool > insertion(
+ m_generatedRttis.insert( t_rtti_map::value_type( unoName, rtti ) ) );
+ OSL_ENSURE( insertion.second, "### inserting new generated rtti failed?!" );
+ }
+ else // taking already generated rtti
+ {
+ rtti = iFind->second;
+ }
+ }
+ }
+ else
+ {
+ rtti = iRttiFind->second;
+ }
+
+ return rtti;
+}
+
+//--------------------------------------------------------------------------------------------------
+static void deleteException( void * pExc )
+{
+ __cxa_exception const * header = ((__cxa_exception const *)pExc - 1);
+ typelib_TypeDescription * pTD = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+ ::typelib_typedescription_getByName( &pTD, unoName.pData );
+ OSL_ENSURE( pTD, "### unknown exception type! leaving out destruction => leaking!!!" );
+ if (pTD)
+ {
+ ::uno_destructData( pExc, pTD, cpp_release );
+ ::typelib_typedescription_release( pTD );
+ }
+}
+
+//==================================================================================================
+void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+{
+ void * pCppExc;
+ type_info * rtti;
+
+ {
+ // construct cpp exception object
+ typelib_TypeDescription * pTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pTypeDescr, pUnoExc->pType );
+ OSL_ASSERT( pTypeDescr );
+ if (! pTypeDescr)
+ terminate();
+
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+ // destruct uno exception
+ ::uno_any_destruct( pUnoExc, 0 );
+ // avoiding locked counts
+ static RTTI * s_rtti = 0;
+ if (! s_rtti)
+ {
+ MutexGuard guard( Mutex::getGlobalMutex() );
+ if (! s_rtti)
+ {
+#ifdef LEAK_STATIC_DATA
+ s_rtti = new RTTI();
+#else
+ static RTTI rtti_data;
+ s_rtti = &rtti_data;
+#endif
+ }
+ }
+ rtti = (type_info *)s_rtti->getRTTI( (typelib_CompoundTypeDescription *) pTypeDescr );
+ TYPELIB_DANGER_RELEASE( pTypeDescr );
+ OSL_ENSURE( rtti, "### no rtti for throwing exception!" );
+ if (! rtti)
+ terminate();
+ }
+
+ __cxa_throw( pCppExc, rtti, deleteException );
+}
+
+//==================================================================================================
+void fillUnoException( __cxa_exception * header, uno_Any * pExc, uno_Mapping * pCpp2Uno )
+{
+ OSL_ENSURE( header, "### no exception header!!!" );
+ if (! header)
+ terminate();
+
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+ ::typelib_typedescription_getByName( &pExcTypeDescr, unoName.pData );
+ OSL_ENSURE( pExcTypeDescr, "### can not get type description for exception!!!" );
+ if (! pExcTypeDescr)
+ terminate();
+
+ // construct uno exception any
+ ::uno_any_constructAndConvert( pExc, header->adjustedPtr, pExcTypeDescr, pCpp2Uno );
+ ::typelib_typedescription_release( pExcTypeDescr );
+}
+
+}
+/* vi:set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/cppu/test/alignment/makefile.mk b/bridges/source/cpp_uno/gcc3_linux_alpha/makefile.mk
index 03e4d2de23a8..2650c4376933 100644
--- a/cppu/test/alignment/makefile.mk
+++ b/bridges/source/cpp_uno/gcc3_linux_alpha/makefile.mk
@@ -25,16 +25,12 @@
#
#*************************************************************************
-#
-# build /test first, then /test/alignment
-#
+PRJ=..$/..$/..
-PRJ=..$/..
-PRJNAME=cppu
-TARGET=alignment
-LIBTARGET=NO
+PRJNAME=bridges
+TARGET=gcc3_uno
+LIBTARGET=no
ENABLE_EXCEPTIONS=TRUE
-NO_BSYMBOLIC=TRUE
# --- Settings -----------------------------------------------------
@@ -42,43 +38,40 @@ NO_BSYMBOLIC=TRUE
# --- Files --------------------------------------------------------
-UNOUCRDEP=$(BIN)$/testcppu.rdb
-UNOUCRRDB=$(BIN)$/testcppu.rdb
-UNOUCROUT=$(INCCOM)$/test$/alignment
-INCPRE+=$(INCCOM)$/test -I$(INCCOM)$/test$/alignment -I$(PRJ)$/test$/alignment
+.IF "$(COM)$(OS)$(CPU)" == "GCCLINUXL"
-.IF "$(src_env)" == ""
-merge_rdb=$(SOLARBINDIR)$/udkapi.rdb
-.ELSE
-merge_rdb=$(SOLARBINDIR)$/applicat.rdb
+.IF "$(cppu_no_leak)" == ""
+CFLAGS += -DLEAK_STATIC_DATA
.ENDIF
-DEPOBJFILES= \
- $(OBJ)$/pass1.obj \
- $(OBJ)$/pass2.obj
+# In case someone enabled the non-standard -fomit-frame-pointer which does not
+# work with the .cxx sources in this directory:
+CFLAGSCXX += -fno-omit-frame-pointer
-APP1OBJS = $(OBJ)$/pass1.obj
-APP1STDLIBS += $(CPPUHELPERLIB) $(CPPULIB) $(REGLIB) $(SALHELPERLIB) $(SALLIB)
-APP1TARGET = pass1
+CFLAGSNOOPT=-O0
-APP2OBJS = $(OBJ)$/pass2.obj
-APP2STDLIBS = $(SALLIB)
-APP2TARGET = pass2
+SLOFILES= \
+ $(SLO)$/except.obj \
+ $(SLO)$/cpp2uno.obj \
+ $(SLO)$/uno2cpp.obj
-# --- Targets ------------------------------------------------------
+SHL1TARGET= $(TARGET)
-.IF "$(depend)" == ""
-ALLTAR: execute_pass2
-.ELSE
-ALL: ALLDEP
-.ENDIF
+SHL1DEF=$(MISC)$/$(SHL1TARGET).def
+SHL1IMPLIB=i$(TARGET)
+SHL1VERSIONMAP=..$/..$/bridge_exports.map
+SHL1RPATH=URELIB
-.INCLUDE : target.mk
+SHL1OBJS = $(SLOFILES)
+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
-$(MISC)$/pass2.cxx: $(APP1TARGETN)
- regmerge $(UNOUCRRDB) / $(merge_rdb)
- cppumaker @$(mktmp $(CPPUMAKERFLAGS) -BUCR -O$(UNOUCROUT) $(foreach,c,$(shell @$(APP1TARGETN) -env:UNO_TYPES={$(subst,\,\\ $(UNOUCRRDB))} $(subst,\,\\ $(MISC)$/pass2.cxx) dump_types) -T$c) $(UNOUCRRDB))
+SHL1STDLIBS= \
+ $(CPPULIB) \
+ $(SALLIB)
-execute_pass2: $(APP2TARGETN)
- $(APP2TARGETN)
+.ENDIF
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
diff --git a/bridges/source/cpp_uno/gcc3_linux_alpha/share.hxx b/bridges/source/cpp_uno/gcc3_linux_alpha/share.hxx
new file mode 100644
index 000000000000..c2f0189a2065
--- /dev/null
+++ b/bridges/source/cpp_uno/gcc3_linux_alpha/share.hxx
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * 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 "uno/mapping.h"
+
+#include <typeinfo>
+#include <exception>
+#include <cstddef>
+
+namespace CPPU_CURRENT_NAMESPACE
+{
+
+ void dummy_can_throw_anything( char const * );
+
+
+// ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+struct _Unwind_Exception
+{
+ unsigned exception_class __attribute__((__mode__(__DI__)));
+ void * exception_cleanup;
+ unsigned private_1 __attribute__((__mode__(__word__)));
+ unsigned private_2 __attribute__((__mode__(__word__)));
+} __attribute__((__aligned__));
+
+struct __cxa_exception
+{
+ ::std::type_info *exceptionType;
+ void (*exceptionDestructor)(void *);
+
+ ::std::unexpected_handler unexpectedHandler;
+ ::std::terminate_handler terminateHandler;
+
+ __cxa_exception *nextException;
+
+ int handlerCount;
+
+ int handlerSwitchValue;
+ const unsigned char *actionRecord;
+ const unsigned char *languageSpecificData;
+ void *catchTemp;
+ void *adjustedPtr;
+
+ _Unwind_Exception unwindHeader;
+};
+
+extern "C" void *__cxa_allocate_exception(
+ std::size_t thrown_size ) throw();
+extern "C" void __cxa_throw (
+ void *thrown_exception, std::type_info *tinfo, void (*dest) (void *) ) __attribute__((noreturn));
+
+struct __cxa_eh_globals
+{
+ __cxa_exception *caughtExceptions;
+ unsigned int uncaughtExceptions;
+};
+extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
+
+// -----
+
+//==================================================================================================
+void raiseException(
+ uno_Any * pUnoExc, uno_Mapping * pUno2Cpp );
+//==================================================================================================
+void fillUnoException(
+ __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno );
+}
+
+namespace axp
+{
+ enum axplimits { MAX_WORDS_IN_REGS = 6, MAX_GPR_REGS = 6, MAX_SSE_REGS = 6 };
+}
+
+/* vi:set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/bridges/source/cpp_uno/gcc3_linux_alpha/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_alpha/uno2cpp.cxx
new file mode 100644
index 000000000000..7f51d425806c
--- /dev/null
+++ b/bridges/source/cpp_uno/gcc3_linux_alpha/uno2cpp.cxx
@@ -0,0 +1,532 @@
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_bridges.hxx"
+
+#include <malloc.h>
+
+#include <com/sun/star/uno/genfunc.hxx>
+#include <uno/data.h>
+
+#include "bridges/cpp_uno/shared/bridge.hxx"
+#include "bridges/cpp_uno/shared/types.hxx"
+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
+#include "bridges/cpp_uno/shared/vtables.hxx"
+
+#include "share.hxx"
+
+#include <stdio.h>
+#include <string.h>
+
+
+using namespace ::rtl;
+using namespace ::com::sun::star::uno;
+
+void MapReturn(long r0, typelib_TypeClass eTypeClass, sal_uInt64* pRegisterReturn)
+{
+ register float fret asm("$f0");
+ register double dret asm("$f0");
+
+#ifdef CMC_DEBUG
+ fprintf(stderr,"Mapping Return with %lx %ld %f\n", r0, r0, dret);
+#endif
+ switch (eTypeClass)
+ {
+ case typelib_TypeClass_HYPER:
+ case typelib_TypeClass_UNSIGNED_HYPER:
+ *pRegisterReturn = r0;
+ break;
+ case typelib_TypeClass_LONG:
+ case typelib_TypeClass_UNSIGNED_LONG:
+ case typelib_TypeClass_ENUM:
+ *(unsigned int*)pRegisterReturn = (unsigned int)r0;
+ break;
+ case typelib_TypeClass_CHAR:
+ case typelib_TypeClass_SHORT:
+ case typelib_TypeClass_UNSIGNED_SHORT:
+ *(unsigned short*)pRegisterReturn = (unsigned short)r0;
+ break;
+ case typelib_TypeClass_BOOLEAN:
+ case typelib_TypeClass_BYTE:
+ *(unsigned char*)pRegisterReturn = (unsigned char)r0;
+ break;
+ case typelib_TypeClass_FLOAT:
+ *reinterpret_cast<float *>( pRegisterReturn ) = fret;
+ break;
+ case typelib_TypeClass_DOUBLE:
+ *reinterpret_cast<double *>( pRegisterReturn ) = dret;
+ break;
+ default:
+ break;
+ }
+#ifdef CMC_DEBUG
+ fprintf(stderr, "end of MapReturn with %x\n", pRegisterReturn ? *pRegisterReturn : 0);
+#endif
+}
+
+#define INSERT_FLOAT( pSV, nr, pFPR, pDS ) \
+ { \
+ if ( nr < axp::MAX_WORDS_IN_REGS ) \
+ { \
+ pFPR[nr++] = *reinterpret_cast<float *>( pSV ); \
+ } \
+ else \
+ *pDS++ = *reinterpret_cast<sal_uInt64 *>( pSV ); \
+ }
+
+#define INSERT_DOUBLE( pSV, nr, pFPR, pDS ) \
+ if ( nr < axp::MAX_WORDS_IN_REGS ) \
+ pFPR[nr++] = *reinterpret_cast<double *>( pSV ); \
+ else \
+ *pDS++ = *reinterpret_cast<sal_uInt64 *>( pSV ); // verbatim!
+
+#define INSERT_INT64( pSV, nr, pGPR, pDS ) \
+ if ( nr < axp::MAX_WORDS_IN_REGS ) \
+ pGPR[nr++] = *reinterpret_cast<sal_uInt64 *>( pSV ); \
+ else \
+ *pDS++ = *reinterpret_cast<sal_uInt64 *>( pSV );
+
+#define INSERT_INT32( pSV, nr, pGPR, pDS ) \
+ if ( nr < axp::MAX_WORDS_IN_REGS ) \
+ pGPR[nr++] = *reinterpret_cast<sal_uInt32 *>( pSV ); \
+ else \
+ *pDS++ = *reinterpret_cast<sal_uInt32 *>( pSV );
+
+#define INSERT_INT16( pSV, nr, pGPR, pDS ) \
+ if ( nr < axp::MAX_WORDS_IN_REGS ) \
+ pGPR[nr++] = *reinterpret_cast<sal_uInt16 *>( pSV ); \
+ else \
+ *pDS++ = *reinterpret_cast<sal_uInt16 *>( pSV );
+
+#define INSERT_INT8( pSV, nr, pGPR, pDS ) \
+ if ( nr < axp::MAX_WORDS_IN_REGS ) \
+ pGPR[nr++] = *reinterpret_cast<sal_uInt8 *>( pSV ); \
+ else \
+ *pDS++ = *reinterpret_cast<sal_uInt8 *>( pSV );
+
+namespace
+{
+//==================================================================================================
+void callVirtualMethod(
+ void * pThis, sal_Int32 nVtableIndex,
+ void * pRegisterReturn, typelib_TypeDescription * pReturnTypeDescr,
+ sal_uInt64 *pStack, sal_uInt32 nStack,
+ sal_uInt64 *pGPR, sal_uInt32 nGPR,
+ double *pFPR, sal_uInt32 nFPR)
+{
+ // Should not happen, but...
+ if ( nFPR > axp::MAX_SSE_REGS )
+ nFPR = axp::MAX_SSE_REGS;
+ if ( nGPR > axp::MAX_GPR_REGS )
+ nGPR = axp::MAX_GPR_REGS;
+
+#ifdef CMC_DEBUG
+ // Let's figure out what is really going on here
+ {
+ fprintf( stderr, "= nStack is %d\n", nStack );
+ fprintf( stderr, "= callVirtualMethod() =\nGPR's (%d): ", nGPR );
+ for ( unsigned int i = 0; i < nGPR; ++i )
+ fprintf( stderr, "0x%lx, ", pGPR[i] );
+ fprintf( stderr, "\nFPR's (%d): ", nFPR );
+ for ( unsigned int i = 0; i < nFPR; ++i )
+ fprintf( stderr, "0x%lx (%f), ", pFPR[i], pFPR[i] );
+ fprintf( stderr, "\nStack (%d): ", nStack );
+ for ( unsigned int i = 0; i < nStack; ++i )
+ fprintf( stderr, "0x%lx, ", pStack[i] );
+ fprintf( stderr, "\n" );
+ fprintf( stderr, "pRegisterReturn is %p\n", pRegisterReturn);
+ }
+#endif
+
+ // Load parameters to stack, if necessary
+ // Stack, if used, must be 8-bytes aligned
+ sal_uInt64 *stack = (sal_uInt64 *) __builtin_alloca( nStack * 8 );
+ memcpy( stack, pStack, nStack * 8 );
+
+ // To get pointer to method
+ // a) get the address of the vtable
+ sal_uInt64 pMethod = *((sal_uInt64 *)pThis);
+ // b) get the address from the vtable entry at offset
+ pMethod += 8 * nVtableIndex;
+ pMethod = *((sal_uInt64 *)pMethod);
+
+ typedef void (* FunctionCall )( sal_uInt64, sal_uInt64, sal_uInt64, sal_uInt64, sal_uInt64, sal_uInt64 );
+ FunctionCall pFunc = (FunctionCall)pMethod;
+
+ switch (nFPR) //deliberate fall through
+ {
+ case 6:
+ asm volatile("ldt $f16,%0" :: "m"(pFPR[5]) : "$f16");
+ case 5:
+ asm volatile("ldt $f17,%0" :: "m"(pFPR[4]) : "$f17");
+ case 4:
+ asm volatile("ldt $f18,%0" :: "m"(pFPR[3]) : "$f18");
+ case 3:
+ asm volatile("ldt $f19,%0" :: "m"(pFPR[2]) : "$f19");
+ case 2:
+ asm volatile("ldt $f20,%0" :: "m"(pFPR[1]) : "$f20");
+ case 1:
+ asm volatile("ldt $f21,%0" :: "m"(pFPR[0]) : "$f21");
+ default:
+ break;
+ }
+
+ (*pFunc)(pGPR[0], pGPR[1], pGPR[2], pGPR[3], pGPR[4], pGPR[5]);
+ register sal_uInt64 r0 __asm__("$0");
+ MapReturn(r0, pReturnTypeDescr->eTypeClass, (sal_uInt64*)pRegisterReturn);
+}
+
+
+//============================================================================
+static void cpp_call(
+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
+ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+{
+ // max space for: [complex ret ptr], values|ptr ...
+ sal_uInt64 * pStack = (sal_uInt64 *)alloca( (nParams+3) * sizeof(sal_Int64) );
+ sal_uInt64 * pStackStart = pStack;
+
+ sal_uInt64 pGPR[axp::MAX_GPR_REGS];
+ double pFPR[axp::MAX_SSE_REGS];
+ sal_uInt32 nRegs = 0;
+
+ // return
+ typelib_TypeDescription * pReturnTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
+ OSL_ENSURE( pReturnTypeDescr, "### expected return type description!" );
+
+ void * pCppReturn = 0; // if != 0 && != pUnoReturn, needs reconversion
+
+ if (pReturnTypeDescr)
+ {
+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+ pCppReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pUnoReturn); // direct way
+ INSERT_INT64( &pCppReturn, nRegs, pGPR, pStack );
+ }
+ }
+ // push "this" pointer
+ void * pAdjustedThisPtr = reinterpret_cast< void ** >( pThis->getCppI() ) + aVtableSlot.offset;
+
+ INSERT_INT64( &pAdjustedThisPtr, nRegs, pGPR, pStack );
+
+ // stack space
+ OSL_ENSURE( sizeof(void *) == sizeof(sal_Int64), "### unexpected size!" );
+ // args
+ void ** pCppArgs = (void **)alloca( 3 * sizeof(void *) * nParams );
+ // indizes of values this have to be converted (interface conversion cpp<=>uno)
+ sal_Int32 * pTempIndizes = (sal_Int32 *)(pCppArgs + nParams);
+ // type descriptions for reconversions
+ typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pCppArgs + (2 * nParams));
+
+ sal_Int32 nTempIndizes = 0;
+
+ for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos )
+ {
+ const typelib_MethodParameter & rParam = pParams[nPos];
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+ if (!rParam.bOut && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = alloca( 8 ), pUnoArgs[nPos], pParamTypeDescr,
+ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+ case typelib_TypeClass_HYPER:
+ case typelib_TypeClass_UNSIGNED_HYPER:
+ INSERT_INT64( pCppArgs[nPos], nRegs, pGPR, pStack );
+ break;
+ case typelib_TypeClass_LONG:
+ case typelib_TypeClass_UNSIGNED_LONG:
+ case typelib_TypeClass_ENUM:
+ INSERT_INT32( pCppArgs[nPos], nRegs, pGPR, pStack );
+ break;
+ case typelib_TypeClass_SHORT:
+ case typelib_TypeClass_CHAR:
+ case typelib_TypeClass_UNSIGNED_SHORT:
+ INSERT_INT16( pCppArgs[nPos], nRegs, pGPR, pStack );
+ break;
+ case typelib_TypeClass_BOOLEAN:
+ case typelib_TypeClass_BYTE:
+ INSERT_INT8( pCppArgs[nPos], nRegs, pGPR, pStack );
+ break;
+ case typelib_TypeClass_FLOAT:
+ INSERT_FLOAT( pCppArgs[nPos], nRegs, pFPR, pStack );
+ break;
+ case typelib_TypeClass_DOUBLE:
+ INSERT_DOUBLE( pCppArgs[nPos], nRegs, pFPR, pStack );
+ break;
+ default:
+ break;
+ }
+
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ else // ptr to complex value | ref
+ {
+ if (! rParam.bIn) // is pure out
+ {
+ // cpp out is constructed mem, uno out is not!
+ uno_constructData(
+ pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ pParamTypeDescr );
+ pTempIndizes[nTempIndizes] = nPos; // default constructed for cpp call
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ pUnoArgs[nPos], pParamTypeDescr, pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ else // direct way
+ {
+ pCppArgs[nPos] = pUnoArgs[nPos];
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ INSERT_INT64( &(pCppArgs[nPos]), nRegs, pGPR, pStack );
+ }
+ }
+
+ try
+ {
+ callVirtualMethod(
+ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr,
+ pStackStart, (pStack - pStackStart),
+ pGPR, nRegs,
+ pFPR, nRegs );
+ // NO exception occured...
+ *ppUnoExc = 0;
+
+ // reconvert temporary params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+ typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndizes];
+
+ if (pParams[nIndex].bIn)
+ {
+ if (pParams[nIndex].bOut) // inout
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ // return value
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions,
+ *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], ppTempParamTypeDescr[nTempIndizes], cpp_release );
+ TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndizes] );
+ }
+ // return type
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+ }
+}
+}
+
+namespace bridges { namespace cpp_uno { namespace shared {
+
+void unoInterfaceProxyDispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+ void * pReturn, void * pArgs[], uno_Any ** ppException )
+{
+#ifdef CMC_DEBUG
+ fprintf(stderr, "unoInterfaceProxyDispatch\n");
+#endif
+
+
+ // is my surrogate
+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy *> (pUnoI);
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+
+ VtableSlot aVtableSlot(
+ getVtableSlot(
+ reinterpret_cast<
+ typelib_InterfaceAttributeTypeDescription const * >(
+ pMemberDescr)));
+
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+ }
+ else
+ {
+ // is SET
+ typelib_MethodParameter aParam;
+ aParam.pTypeRef =
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef;
+ aParam.bIn = sal_True;
+ aParam.bOut = sal_False;
+
+ typelib_TypeDescriptionReference * pReturnTypeRef = 0;
+ OUString aVoidName( RTL_CONSTASCII_USTRINGPARAM("void") );
+ typelib_typedescriptionreference_new(
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
+ aVtableSlot.index += 1; //get then set method
+ cpp_call(
+ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+
+ typelib_typedescriptionreference_release( pReturnTypeRef );
+ }
+
+ break;
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+
+ VtableSlot aVtableSlot(
+ getVtableSlot(
+ reinterpret_cast<
+ typelib_InterfaceMethodTypeDescription const * >(
+ pMemberDescr)));
+ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+ (*pUnoI->acquire)( pUnoI );
+ *ppException = 0;
+ break;
+ case 2: // release uno interface
+ (*pUnoI->release)( pUnoI );
+ *ppException = 0;
+ break;
+ case 0: // queryInterface() opt
+ {
+ typelib_TypeDescription * pTD = 0;
+ TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pArgs[0] )->getTypeLibType() );
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
+ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+ ::uno_any_construct(
+ reinterpret_cast< uno_Any * >( pReturn ),
+ &pInterface, pTD, 0 );
+ (*pInterface->release)( pInterface );
+ TYPELIB_DANGER_RELEASE( pTD );
+ *ppException = 0;
+ break;
+ }
+ TYPELIB_DANGER_RELEASE( pTD );
+ }
+ } // else perform queryInterface()
+ default:
+ // dependent dispatch
+ cpp_call(
+ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+ pReturn, pArgs, ppException );
+ }
+ break;
+ }
+ default:
+ {
+ ::com::sun::star::uno::RuntimeException aExc(
+ OUString( RTL_CONSTASCII_USTRINGPARAM("illegal member type description!") ),
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >() );
+
+ Type const & rExcType = ::getCppuType( &aExc );
+ // binary identical null reference
+ ::uno_type_any_construct( *ppException, &aExc, rExcType.getTypeLibType(), 0 );
+ }
+ }
+}
+
+} } }
+/* vi:set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S b/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S
new file mode 100644
index 000000000000..d5faf15eed6f
--- /dev/null
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S
@@ -0,0 +1,38 @@
+@ ARM support code for OpenOffice C++/UNO bridging
+@
+@ Written by Peter Naulls <peter@chocky.org>
+@ Modified by Caolan McNamara <caolanm@redhat.com>
+@ Fixed by Michael Casadevall <mcasadevall@kubuntu.org>
+
+#ifdef __ARM_EABI__
+# define UNWIND
+#else
+# define UNWIND @
+#endif
+
+ .file "armhelper.s"
+ .text
+ .align 4
+ .global privateSnippetExecutor
+ .type privateSnippetExecutor, %function
+privateSnippetExecutor:
+ UNWIND .fnstart @ start of unwinder entry
+
+ stmfd sp!, {r0-r3} @ follow other parameters on stack
+ UNWIND .pad #16 @ throw this data away on exception
+ mov r0, ip @ r0 points to functionoffset/vtable
+ mov r1, sp @ r1 points to this and params
+ @ (see cppuno.cxx:codeSnippet())
+ stmfd sp!, {r4,lr} @ save return address
+ @ (r4 pushed to preserve stack alignment)
+ UNWIND .save {r4,lr} @ restore these regs on exception
+
+ bl cpp_vtable_call(PLT)
+
+ add sp, sp, #4 @ no need to restore r4 (we didn't touch it)
+ ldr pc, [sp], #20 @ return, discarding function arguments
+
+ UNWIND .fnend @ end of unwinder entry
+
+ .size privateSnippetExecutor, . - privateSnippetExecutor
+ .section .note.GNU-stack,"",%progbits
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s b/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s
deleted file mode 100644
index 8fd1a38e4f51..000000000000
--- a/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s
+++ /dev/null
@@ -1,22 +0,0 @@
-@ ARM support code for OpenOffice C++/UNO bridging
-@
-@ Written by Peter Naulls <peter@chocky.org>
-@ Modified by Caolan McNamara <caolanm@redhat.com>
- .file "armhelper.s"
- .text
- .align 4
- .global privateSnippetExecutor
- .type privateSnippetExecutor, %function
-privateSnippetExecutor:
- stmfd sp!, {r0-r3} @ follow other parameters on stack
- mov r0, ip @ r0 points to functionoffset/vtable
- mov ip, sp @ fix up the ip
- stmfd sp!, {fp,ip,lr,pc} @ 8 x 4 => stack remains 8 aligned
- sub fp, ip, #4 @ set frame pointer
-
- add r1, sp, #16 @ r1 points to this and params
- bl cpp_vtable_call(PLT)
-
- add sp, sp, #32 @ restore stack
- ldr fp, [sp, #-32] @ restore frame pointer
- ldr pc, [sp, #-24] @ return
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
index 98c213a53a83..0e801ab4433e 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
@@ -76,10 +76,8 @@ namespace
if (pReturnTypeDescr)
{
- if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
- {
+ if (!arm::return_in_hidden_param(pReturnTypeRef))
pUnoReturn = pRegisterReturn; // direct way for simple types
- }
else // complex return via ptr (pCppReturn)
{
pCppReturn = *(void **)pCppStack;
@@ -410,8 +408,30 @@ extern "C" sal_Int64 cpp_vtable_call( long *pFunctionAndOffset,
void **pCallStack )
{
sal_Int64 nRegReturn;
- cpp_mediate( pFunctionAndOffset[0], pFunctionAndOffset[1], pCallStack,
+ typelib_TypeClass aType = cpp_mediate( pFunctionAndOffset[0], pFunctionAndOffset[1], pCallStack,
&nRegReturn );
+
+ switch( aType )
+ {
+ case typelib_TypeClass_BOOLEAN:
+ case typelib_TypeClass_BYTE:
+ nRegReturn = (unsigned long)(*(unsigned char *)&nRegReturn);
+ break;
+ case typelib_TypeClass_CHAR:
+ case typelib_TypeClass_UNSIGNED_SHORT:
+ case typelib_TypeClass_SHORT:
+ nRegReturn = (unsigned long)(*(unsigned short *)&nRegReturn);
+ break;
+ case typelib_TypeClass_ENUM:
+ case typelib_TypeClass_UNSIGNED_LONG:
+ case typelib_TypeClass_LONG:
+ nRegReturn = (unsigned long)(*(unsigned int *)&nRegReturn);
+ break;
+ case typelib_TypeClass_VOID:
+ default:
+ break;
+ }
+
return nRegReturn;
}
@@ -422,9 +442,9 @@ namespace
const int codeSnippetSize = 20;
unsigned char *codeSnippet(unsigned char* code, sal_Int32 functionIndex,
- sal_Int32 vtableOffset, bool simple_ret_type )
+ sal_Int32 vtableOffset, bool bHasHiddenParam)
{
- if (!simple_ret_type)
+ if (bHasHiddenParam)
functionIndex |= 0x80000000;
unsigned long * p = (unsigned long *)code;
@@ -478,24 +498,25 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
switch (member->eTypeClass)
{
case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+ typelib_InterfaceAttributeTypeDescription *pAttrTD =
+ reinterpret_cast<typelib_InterfaceAttributeTypeDescription *>( member );
+
// Getter:
(s++)->fn = code + writetoexecdiff;
code = codeSnippet(
code, functionOffset++, vtableOffset,
- bridges::cpp_uno::shared::isSimpleType(
- reinterpret_cast<
- typelib_InterfaceAttributeTypeDescription * >(
- member)->pAttributeTypeRef));
+ arm::return_in_hidden_param( pAttrTD->pAttributeTypeRef ));
+
// Setter:
- if (!reinterpret_cast<
- typelib_InterfaceAttributeTypeDescription * >(
- member)->bReadOnly)
+ if (!pAttrTD->bReadOnly)
{
(s++)->fn = code + writetoexecdiff;
code = codeSnippet(
- code, functionOffset++, vtableOffset, true);
+ code, functionOffset++, vtableOffset, false);
}
break;
+ }
case typelib_TypeClass_INTERFACE_METHOD:
{
(s++)->fn = code + writetoexecdiff;
@@ -504,11 +525,8 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
reinterpret_cast<
typelib_InterfaceMethodTypeDescription * >(member);
- bool issimple = bridges::cpp_uno::shared::isSimpleType(
- pMethodTD->pReturnTypeRef);
-
code = codeSnippet(code, functionOffset++, vtableOffset,
- issimple);
+ arm::return_in_hidden_param(pMethodTD->pReturnTypeRef));
break;
}
default:
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
index df717fe1f279..ec1e671a72ba 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
@@ -162,8 +162,8 @@ namespace CPPU_CURRENT_NAMESPACE
else
{
// try to lookup the symbol in the generated rtti map
- t_rtti_map::const_iterator iFind( m_generatedRttis.find( unoName ) );
- if (iFind == m_generatedRttis.end())
+ t_rtti_map::const_iterator iFind2( m_generatedRttis.find( unoName ) );
+ if (iFind2 == m_generatedRttis.end())
{
// we must generate it !
// symbol and rtti-name is nearly identical,
@@ -192,7 +192,7 @@ namespace CPPU_CURRENT_NAMESPACE
}
else // taking already generated rtti
{
- rtti = iFind->second;
+ rtti = iFind2->second;
}
}
}
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk b/bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk
index 44c557795510..0900ec11f41f 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk
@@ -80,5 +80,5 @@ SHL1STDLIBS= \
.INCLUDE : target.mk
-$(SLO)$/%.obj: %.s
+$(SLO)$/%.obj: %.S
$(CXX) -c -o $(SLO)$/$(@:b).o $< -fPIC ; touch $@
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/share.hxx b/bridges/source/cpp_uno/gcc3_linux_arm/share.hxx
index cfe220abaf17..fb72c360fd45 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/share.hxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/share.hxx
@@ -89,5 +89,12 @@ namespace CPPU_CURRENT_NAMESPACE
void fillUnoException(
__cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno );
}
+
+namespace arm
+{
+ enum armlimits { MAX_GPR_REGS = 4 };
+ bool return_in_hidden_param( typelib_TypeDescriptionReference *pTypeRef );
+}
+
#endif
/* vi:set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
index 154ae52027bb..be67ed8fd830 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/uno2cpp.cxx
@@ -105,50 +105,94 @@ using namespace ::com::sun::star::uno;
namespace arm
{
- enum armlimits { MAX_GPR_REGS = 4 };
+ bool is_complex_struct(const typelib_TypeDescription * type)
+ {
+ const typelib_CompoundTypeDescription * p
+ = reinterpret_cast< const typelib_CompoundTypeDescription * >(type);
+ for (sal_Int32 i = 0; i < p->nMembers; ++i)
+ {
+ if (p->ppTypeRefs[i]->eTypeClass == typelib_TypeClass_STRUCT ||
+ p->ppTypeRefs[i]->eTypeClass == typelib_TypeClass_EXCEPTION)
+ {
+ typelib_TypeDescription * t = 0;
+ TYPELIB_DANGER_GET(&t, p->ppTypeRefs[i]);
+ bool b = is_complex_struct(t);
+ TYPELIB_DANGER_RELEASE(t);
+ if (b) {
+ return true;
+ }
+ }
+ else if (!bridges::cpp_uno::shared::isSimpleType(p->ppTypeRefs[i]->eTypeClass))
+ return true;
+ }
+ if (p->pBaseTypeDescription != 0)
+ return is_complex_struct(&p->pBaseTypeDescription->aBase);
+ return false;
+ }
+
+ bool return_in_hidden_param( typelib_TypeDescriptionReference *pTypeRef )
+ {
+ if (bridges::cpp_uno::shared::isSimpleType(pTypeRef))
+ return false;
+ else if (pTypeRef->eTypeClass == typelib_TypeClass_STRUCT || pTypeRef->eTypeClass == typelib_TypeClass_EXCEPTION)
+ {
+ typelib_TypeDescription * pTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pTypeDescr, pTypeRef );
+
+ //A Composite Type not larger than 4 bytes is returned in r0
+ bool bRet = pTypeDescr->nSize > 4 || is_complex_struct(pTypeDescr);
+
+ TYPELIB_DANGER_RELEASE( pTypeDescr );
+ return bRet;
+ }
+ return true;
+ }
}
-void MapReturn(long r0, long r1, typelib_TypeClass eReturnType, void *pRegisterReturn)
+void MapReturn(sal_uInt32 r0, sal_uInt32 r1, typelib_TypeDescriptionReference * pReturnType, sal_uInt32* pRegisterReturn)
{
#if !defined(__ARM_EABI__) && !defined(__SOFTFP__)
register float fret asm("f0");
register double dret asm("f0");
#endif
- switch( eReturnType )
+ switch( pReturnType->eTypeClass )
{
case typelib_TypeClass_HYPER:
case typelib_TypeClass_UNSIGNED_HYPER:
- ((long*)pRegisterReturn)[1] = r1;
+ pRegisterReturn[1] = r1;
case typelib_TypeClass_LONG:
case typelib_TypeClass_UNSIGNED_LONG:
case typelib_TypeClass_ENUM:
- ((long*)pRegisterReturn)[0] = r0;
- break;
case typelib_TypeClass_CHAR:
case typelib_TypeClass_SHORT:
case typelib_TypeClass_UNSIGNED_SHORT:
- *(unsigned short*)pRegisterReturn = (unsigned short)r0;
- break;
case typelib_TypeClass_BOOLEAN:
case typelib_TypeClass_BYTE:
- *(unsigned char*)pRegisterReturn = (unsigned char)r0;
+ pRegisterReturn[0] = r0;
break;
case typelib_TypeClass_FLOAT:
#if defined(__ARM_EABI__) || defined(__SOFTFP__)
- ((long*)pRegisterReturn)[0] = r0;
+ pRegisterReturn[0] = r0;
#else
*(float*)pRegisterReturn = fret;
#endif
break;
case typelib_TypeClass_DOUBLE:
#if defined(__ARM_EABI__) || defined(__SOFTFP__)
- ((long*)pRegisterReturn)[1] = r1;
- ((long*)pRegisterReturn)[0] = r0;
+ pRegisterReturn[1] = r1;
+ pRegisterReturn[0] = r0;
#else
*(double*)pRegisterReturn = dret;
#endif
break;
+ case typelib_TypeClass_STRUCT:
+ case typelib_TypeClass_EXCEPTION:
+ {
+ if (!arm::return_in_hidden_param(pReturnType))
+ pRegisterReturn[0] = r0;
+ break;
+ }
default:
break;
}
@@ -162,7 +206,7 @@ void callVirtualMethod(
void * pThis,
sal_Int32 nVtableIndex,
void * pRegisterReturn,
- typelib_TypeClass eReturnType,
+ typelib_TypeDescriptionReference * pReturnType,
sal_uInt32 *pStack,
sal_uInt32 nStack,
sal_uInt32 *pGPR,
@@ -172,7 +216,7 @@ void callVirtualMethod(
void * pThis,
sal_Int32 nVtableIndex,
void * pRegisterReturn,
- typelib_TypeClass eReturnType,
+ typelib_TypeDescriptionReference * pReturnType,
sal_uInt32 *pStack,
sal_uInt32 nStack,
sal_uInt32 *pGPR,
@@ -201,23 +245,10 @@ void callVirtualMethod(
typedef void (*FunctionCall )( sal_uInt32, sal_uInt32, sal_uInt32, sal_uInt32);
FunctionCall pFunc = (FunctionCall)pMethod;
- // fill registers
- __asm__ __volatile__ (
- "ldr r0, [%0, #0]\n\t"
- "ldr r1, [%0, #4]\n\t"
- "ldr r2, [%0, #8]\n\t"
- "ldr r3, [%0, #12]\n\t"
- : : "r" (pGPR)
- : "r0", "r1", "r2", "r3"
- );
-
- // tell gcc that r0 to r3 are not available to it
- register sal_uInt32 r0 asm("r0");
- register sal_uInt32 r1 asm("r1");
- register sal_uInt32 r2 asm("r2");
- register sal_uInt32 r3 asm("r3");
-
- (*pFunc)(r0, r1, r2, r3);
+ (*pFunc)(pGPR[0], pGPR[1], pGPR[2], pGPR[3]);
+
+ sal_uInt32 r0;
+ sal_uInt32 r1;
// get return value
__asm__ __volatile__ (
@@ -225,7 +256,7 @@ void callVirtualMethod(
"mov %1, r1\n\t"
: "=r" (r0), "=r" (r1) : );
- MapReturn(r0, r1, eReturnType, pRegisterReturn);
+ MapReturn(r0, r1, pReturnType, (sal_uInt32*)pRegisterReturn);
}
}
@@ -312,14 +343,14 @@ static void cpp_call(
void * pCppReturn = 0; // if != 0 && != pUnoReturn, needs reconversion
bool bOverFlow = false;
-
+ bool bSimpleReturn = true;
if (pReturnTypeDescr)
{
+ if (arm::return_in_hidden_param( pReturnTypeRef ) )
+ bSimpleReturn = false;
- if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
- {
+ if (bSimpleReturn)
pCppReturn = pUnoReturn; // direct way for simple types
- }
else
{
// complex return via ptr
@@ -390,6 +421,8 @@ static void cpp_call(
case typelib_TypeClass_DOUBLE:
INSERT_DOUBLE( pCppArgs[nPos], nGPR, pGPR, pStack, pStackStart, bOverFlow );
break;
+ default:
+ break;
}
// no longer needed
TYPELIB_DANGER_RELEASE( pParamTypeDescr );
@@ -431,7 +464,7 @@ static void cpp_call(
{
callVirtualMethod(
pAdjustedThisPtr, aVtableSlot.index,
- pCppReturn, pReturnTypeDescr->eTypeClass,
+ pCppReturn, pReturnTypeRef,
pStackStart,
(pStack - pStackStart),
pGPR, nGPR);
@@ -504,15 +537,19 @@ void unoInterfaceProxyDispatch(
// is my surrogate
bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
= static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+#if OSL_DEBUG_LEVEL > 0
typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+#endif
switch (pMemberDescr->eTypeClass)
{
case typelib_TypeClass_INTERFACE_ATTRIBUTE:
{
+#if OSL_DEBUG_LEVEL > 0
// determine vtable call index
sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+#endif
VtableSlot aVtableSlot(
getVtableSlot(
@@ -557,9 +594,11 @@ void unoInterfaceProxyDispatch(
}
case typelib_TypeClass_INTERFACE_METHOD:
{
+#if OSL_DEBUG_LEVEL > 0
// determine vtable call index
sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+#endif
VtableSlot aVtableSlot(
getVtableSlot(
diff --git a/bridges/source/cpp_uno/gcc3_linux_hppa/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_hppa/cpp2uno.cxx
index 8b37b633f59e..959452b4d985 100644
--- a/bridges/source/cpp_uno/gcc3_linux_hppa/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_hppa/cpp2uno.cxx
@@ -61,7 +61,7 @@ namespace
long r8, void ** gpreg, double *fpreg, void ** ovrflw,
sal_Int64 * pRegisterReturn /* space for register return */ )
{
- void ** startovrflw;
+ void ** startovrflw = ovrflw;
int nregs = 0; //number of words passed in registers
#ifdef CMC_DEBUG
@@ -143,7 +143,7 @@ namespace
}
else
{
- if ((startovrflw-ovrflw) & 4)
+ if ((startovrflw-ovrflw) & 1)
ovrflw--;
pCppArgs[nPos] = pUnoArgs[nPos] = ((char*)ovrflw - 4);
bOverFlowUsed = true;
@@ -182,7 +182,7 @@ namespace
}
else
{
- if ((startovrflw-ovrflw) & 4)
+ if ((startovrflw-ovrflw) & 1)
ovrflw--;
pCppArgs[nPos] = pUnoArgs[nPos] = ((char*)ovrflw - 4);
bOverFlowUsed = true;
diff --git a/bridges/source/jni_uno/jni_uno2java.cxx b/bridges/source/jni_uno/jni_uno2java.cxx
index 99ec6e32fce2..81ae922ae717 100644
--- a/bridges/source/jni_uno/jni_uno2java.cxx
+++ b/bridges/source/jni_uno/jni_uno2java.cxx
@@ -848,7 +848,7 @@ void SAL_CALL UNO_proxy_dispatch(
#if OSL_DEBUG_LEVEL > 0
OString cstr_msg2(
OUStringToOString( exc.Message, RTL_TEXTENCODING_ASCII_US ) );
- OSL_ENSURE( 0, cstr_msg2.getStr() );
+ OSL_TRACE( "%s", cstr_msg2.getStr() );
#endif
}
catch (::jvmaccess::VirtualMachine::AttachGuard::CreationException &)
diff --git a/cppu/test/AffineBridge/AffineBridge.test.pl b/cppu/test/AffineBridge/AffineBridge.test.pl
deleted file mode 100755
index 6b667efd299c..000000000000
--- a/cppu/test/AffineBridge/AffineBridge.test.pl
+++ /dev/null
@@ -1,72 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-my $rc = 0;
-my $comment = "";
-
-
-@tests = (
- "EnvStack.tester :A:affine :A:affine \"-enter:A[0,not entered]-leave:A[0,not entered]\" :A:affine", # initially not entered&leave
- "EnvStack.tester :affine:A :affine:A \"-enter:affine:A[1,OK]-leave:affine:A[1,OK]\" :affine", # enter
- "EnvStack.tester \"\" :affine:A \"-into:affine:A[1,OK]\" :affine", # call into
- "EnvStack.tester :affine :A \"-into:A[0,wrong thread]\" :affine", # call out
- "EnvStack.tester \"\" :affine:affine:A \"-into:affine:affine:A[0,wrong thread]\" :affine", # wrong thread
- "env.tester.bin CPP:affine"
-);
-
-foreach $test (@tests) {
- $output = "";
-
- $cmd = $test;
- open TESTER, $cmd . "|";
- while (<TESTER>) {
- chomp;
-
- $output = $output . "\t" . $_ . "\n";
- }
- close TESTER ;
-
- if ($? != 0) {
- $comment = $comment . "TEST FAILED: " . $cmd . "\n";
- $comment = $comment . $output;
- }
- $rc = $rc + $?;
-}
-
-
-print $comment;
-
-if ($rc == 0) {
- print "*********** SUCCESS\n";
-}
-else {
- print "*********** FAILURE\n";
-}
diff --git a/cppu/test/AffineBridge/makefile.mk b/cppu/test/AffineBridge/makefile.mk
deleted file mode 100644
index f282d05cf357..000000000000
--- a/cppu/test/AffineBridge/makefile.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := AffineBridge.test.pl
-
-
-.INCLUDE : settings.mk
-
-
-.INCLUDE : target.mk
-
-
-ALLTAR: $(BIN)$/$(TARGET)
-
-$(BIN)$/$(TARGET): AffineBridge.test.pl
- @+$(COPY) $^ $@
diff --git a/cppu/test/AntiEnvGuard/AntiEnvGuard.test.cxx b/cppu/test/AntiEnvGuard/AntiEnvGuard.test.cxx
deleted file mode 100644
index 885600141255..000000000000
--- a/cppu/test/AntiEnvGuard/AntiEnvGuard.test.cxx
+++ /dev/null
@@ -1,131 +0,0 @@
-/*************************************************************************
- *
- * 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/main.h"
-
-#include "cppu/EnvGuards.hxx"
-#include "uno/environment.hxx"
-
-#include <iostream>
-
-
-using namespace com::sun::star;
-
-static rtl::OUString s_message;
-
-
-static void s_test__ctor(void)
-{
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__ctor"));
-
- rtl::OUString ref(RTL_CONSTASCII_USTRINGPARAM("uno"));
-
- rtl::OUString current_EnvDcp;
- {
- cppu::EnvGuard envGuard(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("uno:unsafe")), NULL));
-
- {
- cppu::AntiEnvGuard antiGuard;
-
- current_EnvDcp = uno::Environment::getCurrent(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))).getTypeName();
- }
- }
-
- if (current_EnvDcp == ref)
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t got: \""));
- s_message += current_EnvDcp;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t expected: \""));
- s_message += ref;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- }
-}
-
-static void s_test__dtor(void)
-{
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__dtor"));
-
- rtl::OUString ref(RTL_CONSTASCII_USTRINGPARAM("uno:unsafe"));
-
- rtl::OUString current_EnvDcp;
- {
- cppu::EnvGuard envGuard(uno::Environment(ref, NULL));
-
- {
- cppu::AntiEnvGuard antiGuard;
- }
- current_EnvDcp = uno::Environment::getCurrent(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))).getTypeName();
- }
-
-
- if (current_EnvDcp == ref)
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t got: \""));
- s_message += current_EnvDcp;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t expected: \""));
- s_message += ref;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- }
-}
-
-
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv)
-{
- s_test__ctor();
- s_test__dtor();
-
- int ret;
- if (s_message.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
-
- std::cerr
- << argv[0]
- << std::endl
- << rtl::OUStringToOString(s_message, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
diff --git a/cppu/test/AntiEnvGuard/makefile.mk b/cppu/test/AntiEnvGuard/makefile.mk
deleted file mode 100644
index 3164ca17650d..000000000000
--- a/cppu/test/AntiEnvGuard/makefile.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := AntiEnvGuard.test
-
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
-
-
-.INCLUDE : settings.mk
-
-
-APP1TARGET := $(TARGET)
-APP1OBJS := $(OBJ)$/AntiEnvGuard.test.obj
-APP1STDLIBS := $(CPPULIB) $(SALLIB)
-
-
-.INCLUDE : target.mk
diff --git a/cppu/test/EnvDcp/EnvDcp.test.cxx b/cppu/test/EnvDcp/EnvDcp.test.cxx
deleted file mode 100644
index d9f78468ef3f..000000000000
--- a/cppu/test/EnvDcp/EnvDcp.test.cxx
+++ /dev/null
@@ -1,111 +0,0 @@
-/*************************************************************************
- *
- * 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/main.h"
-
-#include "cppu/EnvDcp.hxx"
-
-#include <iostream>
-
-
-static rtl::OUString s_message;
-
-static void s_test__getTypeName(void)
-{
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__getTypeName"));
-
- rtl::OUString envDcp(RTL_CONSTASCII_USTRINGPARAM("acaQEQWE123:asda:2342"));
-
- rtl::OUString typeName(cppu::EnvDcp::getTypeName(envDcp));
-
- rtl::OUString ref(RTL_CONSTASCII_USTRINGPARAM("acaQEQWE123"));
-
- if (typeName == ref)
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t got: \""));
- s_message += typeName;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t expected: \""));
- s_message += ref;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- }
-}
-
-static void s_test__getPurpose(void)
-{
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__getPurpose"));
-
- rtl::OUString envDcp(RTL_CONSTASCII_USTRINGPARAM("acaQEQWE123:asda:2342"));
-
- rtl::OUString purpose(cppu::EnvDcp::getPurpose(envDcp));
-
- rtl::OUString ref(RTL_CONSTASCII_USTRINGPARAM(":asda:2342"));
-
- if (purpose == ref)
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t got: \""));
- s_message += purpose;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t expected: \""));
- s_message += ref;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- }
-}
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv)
-{
- s_test__getTypeName();
- s_test__getPurpose();
-
- int ret;
- if (s_message.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
-
- std::cerr
- << argv[0]
- << std::endl
- << rtl::OUStringToOString(s_message, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
diff --git a/cppu/test/EnvGuard/EnvGuard.test.cxx b/cppu/test/EnvGuard/EnvGuard.test.cxx
deleted file mode 100644
index ec926fa56670..000000000000
--- a/cppu/test/EnvGuard/EnvGuard.test.cxx
+++ /dev/null
@@ -1,152 +0,0 @@
-/*************************************************************************
- *
- * 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/main.h"
-
-#include "cppu/EnvGuards.hxx"
-#include "uno/environment.hxx"
-
-#include <iostream>
-
-
-using namespace com::sun::star;
-
-static rtl::OUString s_message;
-
-
-static void s_test__entered(void)
-{
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__entered"));
-
- rtl::OUString ref(RTL_CONSTASCII_USTRINGPARAM("uno:unsafe"));
-
- rtl::OUString current_EnvDcp;
- {
- cppu::EnvGuard envGuard(uno::Environment(ref, NULL));
-
- current_EnvDcp = uno::Environment::getCurrent(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))).getTypeName();
- }
-
- if (current_EnvDcp == ref)
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t got: \""));
- s_message += current_EnvDcp;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t expected: \""));
- s_message += ref;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- }
-}
-
-static void s_test__left(void)
-{
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__left"));
-
- rtl::OUString ref(RTL_CONSTASCII_USTRINGPARAM("uno"));
-
- rtl::OUString current_EnvDcp;
- {
- cppu::EnvGuard envGuard(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("uno:unsafe")), NULL));
- }
- current_EnvDcp = uno::Environment::getCurrent(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))).getTypeName();
-
-
- if (current_EnvDcp == ref)
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t got: \""));
- s_message += current_EnvDcp;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t expected: \""));
- s_message += ref;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- }
-}
-
-static void s_test__clear(void)
-{
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__clear"));
-
- rtl::OUString ref(RTL_CONSTASCII_USTRINGPARAM("uno"));
-
- rtl::OUString current_EnvDcp;
- {
- cppu::EnvGuard envGuard(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("uno:unsafe")), NULL));
-
- envGuard.clear();
- current_EnvDcp = uno::Environment::getCurrent(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))).getTypeName();
- }
-
-
- if (current_EnvDcp == ref)
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t got: \""));
- s_message += current_EnvDcp;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t expected: \""));
- s_message += ref;
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- }
-}
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv)
-{
- s_test__entered();
- s_test__left();
- s_test__clear();
-
- int ret;
- if (s_message.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- s_message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
-
- std::cerr
- << argv[0]
- << std::endl
- << rtl::OUStringToOString(s_message, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
diff --git a/cppu/test/EnvGuard/makefile.mk b/cppu/test/EnvGuard/makefile.mk
deleted file mode 100644
index bb851af3fb25..000000000000
--- a/cppu/test/EnvGuard/makefile.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := EnvGuard.test
-
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
-
-
-.INCLUDE : settings.mk
-
-
-APP1TARGET := $(TARGET)
-APP1OBJS := $(OBJ)$/EnvGuard.test.obj
-APP1STDLIBS := $(CPPULIB) $(SALLIB)
-
-
-.INCLUDE : target.mk
diff --git a/cppu/test/EnvStack/EnvStack.test.pl b/cppu/test/EnvStack/EnvStack.test.pl
deleted file mode 100755
index 842b2ebab5da..000000000000
--- a/cppu/test/EnvStack/EnvStack.test.pl
+++ /dev/null
@@ -1,89 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-my $rc = 0;
-my $comment = "";
-
-
-@tests = (
- "EnvStack.tester \"\" \"\" \"\"",
- "EnvStack.tester \":A:a\" \":A:b\" \"-enter:A-enter:A:a-out:A:a-into:A:b-leave:A:a-leave:A\"",
- "EnvStack.tester \":A:B:a\" \":A:B:b\" \"-enter:A-enter:A:B-enter:A:B:a-out:A:B:a-into:A:B:b-leave:A:B:a-leave:A:B-leave:A\"",
- "EnvStack.tester \":A:B:C:a\" \":A:B:C:b\" \"-enter:A-enter:A:B-enter:A:B:C-enter:A:B:C:a-out:A:B:C:a-into:A:B:C:b-leave:A:B:C:a-leave:A:B:C-leave:A:B-leave:A\"",
- "EnvStack.tester \":A:B:C:D:a\" \":A:B:C:D:b\" \"-enter:A-enter:A:B-enter:A:B:C-enter:A:B:C:D-enter:A:B:C:D:a-out:A:B:C:D:a-into:A:B:C:D:b-leave:A:B:C:D:a-leave:A:B:C:D-leave:A:B:C-leave:A:B-leave:A\"",
- "EnvStack.tester \":A:a:b\" \":A:c:d\" \"-enter:A-enter:A:a-enter:A:a:b-out:A:a:b-out:A:a-into:A:c-into:A:c:d-leave:A:a:b-leave:A:a-leave:A\"",
- "EnvStack.tester \":A:B:a:b\" \":A:B:c:d\" \"-enter:A-enter:A:B-enter:A:B:a-enter:A:B:a:b-out:A:B:a:b-out:A:B:a-into:A:B:c-into:A:B:c:d-leave:A:B:a:b-leave:A:B:a-leave:A:B-leave:A\"",
- "EnvStack.tester \":A\" \"\" \"-enter:A-out:A-leave:A\"",
- "EnvStack.tester \":A:B\" \"\" \"-enter:A-enter:A:B-out:A:B-out:A-leave:A:B-leave:A\"",
- "EnvStack.tester \":A:B:C\" \"\" \"-enter:A-enter:A:B-enter:A:B:C-out:A:B:C-out:A:B-out:A-leave:A:B:C-leave:A:B-leave:A\"",
- "EnvStack.tester \":A:B:C:D\" \"\" \"-enter:A-enter:A:B-enter:A:B:C-enter:A:B:C:D-out:A:B:C:D-out:A:B:C-out:A:B-out:A-leave:A:B:C:D-leave:A:B:C-leave:A:B-leave:A\"",
- "EnvStack.tester \"\" \":a\" \"-into:a\"",
- "EnvStack.tester \"\" \":a:b\" \"-into:a-into:a:b\"",
- "EnvStack.tester \"\" \":a:b:c\" \"-into:a-into:a:b-into:a:b:c\"",
- "EnvStack.tester \"\" \":a:b:c:d\" \"-into:a-into:a:b-into:a:b:c-into:a:b:c:d\"",
- "EnvStack.tester \":A\" \":a\" \"-enter:A-out:A-into:a-leave:A\"",
- "EnvStack.tester \":A:B\" \":a:b\" \"-enter:A-enter:A:B-out:A:B-out:A-into:a-into:a:b-leave:A:B-leave:A\"",
- "EnvStack.tester \":A:B:C\" \":a:b:c\" \"-enter:A-enter:A:B-enter:A:B:C-out:A:B:C-out:A:B-out:A-into:a-into:a:b-into:a:b:c-leave:A:B:C-leave:A:B-leave:A\"",
- "EnvStack.tester \":A:B:C:D\" \":a:b:c:d\" \"-enter:A-enter:A:B-enter:A:B:C-enter:A:B:C:D-out:A:B:C:D-out:A:B:C-out:A:B-out:A-into:a-into:a:b-into:a:b:c-into:a:b:c:d-leave:A:B:C:D-leave:A:B:C-leave:A:B-leave:A\"",
- "EnvStack.tester \":A\" \":A\" \"-enter:A-leave:A\"",
- "EnvStack.tester \":A:B\" \":A:B\" \"-enter:A-enter:A:B-leave:A:B-leave:A\"",
- "EnvStack.tester \":A:B:C\" \":A:B:C\" \"-enter:A-enter:A:B-enter:A:B:C-leave:A:B:C-leave:A:B-leave:A\"",
- "EnvStack.tester \":A:B:C:D\" \":A:B:C:D\" \"-enter:A-enter:A:B-enter:A:B:C-enter:A:B:C:D-leave:A:B:C:D-leave:A:B:C-leave:A:B-leave:A\""
-);
-
-foreach $test (@tests) {
- $output = "";
-
- $cmd = $test;
- open TESTER, $cmd . "|";
- while (<TESTER>) {
- chomp;
-
- $output = $output . "\t" . $_ . "\n";
- }
- close TESTER ;
-
- if ($? != 0) {
- $comment = $comment . "TEST FAILED: " . $cmd . "\n";
- $comment = $comment . $output;
- }
- $rc = $rc + $?;
-}
-
-
-print $comment;
-
-if ($rc == 0) {
- print "*********** SUCCESS\n";
-}
-else {
- print "*********** FAILURE\n";
-}
diff --git a/cppu/test/EnvStack/makefile.mk b/cppu/test/EnvStack/makefile.mk
deleted file mode 100644
index 6e6990b97716..000000000000
--- a/cppu/test/EnvStack/makefile.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := EnvStack.test.pl
-
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
-
-
-.INCLUDE : settings.mk
-
-
-.INCLUDE : target.mk
-
-
-ALLTAR: $(BIN)$/$(TARGET)
-
-$(BIN)$/$(TARGET): EnvStack.test.pl
- @+$(COPY) $^ $@
diff --git a/cppu/test/EnvStack_tester/EnvStack.tester.cxx b/cppu/test/EnvStack_tester/EnvStack.tester.cxx
deleted file mode 100644
index caa6660a91b6..000000000000
--- a/cppu/test/EnvStack_tester/EnvStack.tester.cxx
+++ /dev/null
@@ -1,200 +0,0 @@
-/*************************************************************************
- *
- * 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 <iostream>
-
-#include "sal/main.h"
-
-#include "uno/lbnames.h"
-#include "uno/environment.hxx"
-#include "cppu/EnvDcp.hxx"
-#include <com/sun/star/uno/Exception.hpp>
-
-
-#define CPPU_test_EnvStack_tester_IMPL
-#include "EnvStack.tester.hxx"
-
-
-using namespace com::sun::star;
-
-
-static rtl::OUString s_getCurrentEnvDcp(void)
-{
- uno::Environment env(uno::Environment::getCurrent());
- rtl::OUString env_dcp(env.getTypeName());
-
- return env_dcp;
-}
-
-extern "C" { static void s_getCurrentEnvDcp_v(va_list * pParam)
-{
- rtl_uString ** ppEnvDcp = va_arg(*pParam, rtl_uString **);
-
- rtl::OUString env_dcp(s_getCurrentEnvDcp());
-
- rtl_uString_assign(ppEnvDcp, env_dcp.pData);
-}}
-
-static rtl::OUString s_test__uno_Environment_invoke(rtl::OUString const & src_purpose,
- rtl::OUString const & dst_purpose,
- rtl::OUString const & ref)
-{
- rtl::OUString result;
- rtl::OUString target_envDcp;
-
- rtl::OUString src_envDcp(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO));
- src_envDcp += src_purpose;
-
- rtl::OUString dst_envDcp(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO));
- dst_envDcp += dst_purpose;
-
- uno::Environment cur_Env(src_envDcp.pData, NULL);
- uno_Environment_enter(cur_Env.get());
- cur_Env.clear();
-
- uno::Environment dst_Env(dst_envDcp.pData, NULL);
- uno_Environment_invoke(dst_Env.get(), s_getCurrentEnvDcp_v, &target_envDcp.pData);
- dst_Env.clear();
-
- uno_Environment_enter(NULL);
-
-
- if (cppu::EnvDcp::getPurpose(target_envDcp).equals(dst_purpose)
- && g_commentStack.equals(ref))
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" PASSED\n"));
-
- else
- {
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" FAILED -> "));
- result += target_envDcp;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\texpected: \""));
- result += ref;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tgot: \""));
- result += g_commentStack;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- }
-
-
-
- return result;
-}
-
-static rtl::OUString s_test__uno_Environment_invoke_v(va_list param)
-{
- rtl::OUString const * pSrc_purpose = va_arg(param, rtl::OUString const *);
- rtl::OUString const * pDst_purpose = va_arg(param, rtl::OUString const *);
- rtl::OUString const * pRef = va_arg(param, rtl::OUString const *);
-
-
- rtl::OUString result;
-
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("s_test__uno_Environment_invoke_v"));
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - \""));
- result += *pSrc_purpose;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" -> \""));
- result += *pDst_purpose;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\""));
-
- result += s_test__uno_Environment_invoke(*pSrc_purpose, *pDst_purpose, *pRef);
-
- return result;
-}
-
-static rtl::OUString s_do_a_test(rtl::OUString (* pTest)(va_list), ...)
-{
- rtl::OUString result;
-
- va_list param;
-
- va_start(param, pTest);
- try {
- result += pTest(param);
- }
- catch (uno::Exception & exception)
- {
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" FAILED with exception: "));
- result += exception.Message;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
- }
- va_end(param);
-
- return result;
-}
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
-{
- int result = 0;
- rtl::OString message;
-
- if (argc >= 4 && argc <= 5)
- {
- rtl::OUString src_purpose(argv[1], rtl_str_getLength(argv[1]), RTL_TEXTENCODING_ASCII_US);
- rtl::OUString dst_purpose(argv[2], rtl_str_getLength(argv[2]), RTL_TEXTENCODING_ASCII_US);
- rtl::OUString ref (argv[3], rtl_str_getLength(argv[3]), RTL_TEXTENCODING_ASCII_US);
-
- if (argc == 5)
- {
- rtl::OUString test_env(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO));
- test_env += rtl::OUString(argv[4], rtl_str_getLength(argv[4]), RTL_TEXTENCODING_ASCII_US);
- g_env = uno::Environment(test_env);
- }
-
-
- message += rtl::OUStringToOString(
- s_do_a_test(s_test__uno_Environment_invoke_v, &src_purpose, &dst_purpose, &ref),
- RTL_TEXTENCODING_ASCII_US);
-
-
- if (g_env.is())
- g_env.clear();
-
-
- if (message.indexOf(rtl::OString("FAILED")) == -1)
- message += rtl::OString("TESTS PASSED\n");
-
- else
- {
- message += rtl::OString("TESTS _NOT_ PASSED\n");
- result = -1;
- }
- }
- else
- {
- message = "usage: EnvStack.tester <source purpose>"
- " <destination purpose>"
- " <reference string>"
- " [<reference environment>]\n\n";
- }
-
- std::cout << message.getStr();
-
-
- return result;
-}
-
diff --git a/cppu/test/EnvStack_tester/ProbeEnv.cxx b/cppu/test/EnvStack_tester/ProbeEnv.cxx
deleted file mode 100644
index a6b1ce1aaac2..000000000000
--- a/cppu/test/EnvStack_tester/ProbeEnv.cxx
+++ /dev/null
@@ -1,148 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-
-#include "cppu/EnvDcp.hxx"
-
-#include "cppu/helper/purpenv/Environment.hxx"
-#include "cppu/helper/purpenv/Mapping.hxx"
-
-#include "EnvStack.tester.hxx"
-
-
-#define LOG_LIFECYCLE_TestEnv
-#ifdef LOG_LIFECYCLE_TestEnv
-# include <iostream>
-# define LOG_LIFECYCLE_TestEnv_emit(x) x
-
-#else
-# define LOG_LIFECYCLE_TestEnv_emit(x)
-
-#endif
-
-
-class SAL_DLLPRIVATE TestEnv : public cppu::Enterable
-{
- virtual ~TestEnv(void);
-
-public:
- explicit TestEnv(uno_Environment * pEnv);
-
- uno_Environment * m_pEnv;
-
-protected:
- virtual void v_enter(void);
- virtual void v_leave(void);
-
- virtual void v_callInto_v(uno_EnvCallee * pCallee, va_list * pParam);
- virtual void v_callOut_v (uno_EnvCallee * pCallee, va_list * pParam);
-
- virtual int v_isValid (rtl::OUString * pReason);
-};
-
-TestEnv::TestEnv(uno_Environment * pEnv)
- : m_pEnv(pEnv)
-{
- LOG_LIFECYCLE_TestEnv_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestEnv::TestEnv(...)", this));
-}
-
-TestEnv::~TestEnv(void)
-{
- LOG_LIFECYCLE_TestEnv_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestEnv::~TestEnv(void)", this));
-}
-
-
-static void s_checkGEnvValidity(void)
-{
- if (g_env.is())
- {
- rtl::OUString reason;
- int result = g_env.isValid(&reason);
-
- g_commentStack += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("["));
- g_commentStack += rtl::OUString::valueOf((sal_Int32)result);
- g_commentStack += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(","));
- g_commentStack += reason;
- g_commentStack += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("]"));
- }
-}
-
-void TestEnv::v_callInto_v(uno_EnvCallee * pCallee, va_list * pParam)
-{
- g_commentStack += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-into"));
- g_commentStack += cppu::EnvDcp::getPurpose(m_pEnv->pTypeName);
-
- s_checkGEnvValidity();
-
- pCallee(pParam);
-}
-
-void TestEnv::v_callOut_v(uno_EnvCallee * pCallee, va_list * pParam)
-{
- g_commentStack += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-out"));
- g_commentStack += cppu::EnvDcp::getPurpose(m_pEnv->pTypeName);
-
- s_checkGEnvValidity();
-
- pCallee(pParam);
-}
-
-void TestEnv::v_enter(void)
-{
- g_commentStack += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-enter"));
- g_commentStack += cppu::EnvDcp::getPurpose(m_pEnv->pTypeName);
-
- s_checkGEnvValidity();
-}
-
-void TestEnv::v_leave(void)
-{
- g_commentStack += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-leave"));
- g_commentStack += cppu::EnvDcp::getPurpose(m_pEnv->pTypeName);
-
- s_checkGEnvValidity();
-}
-
-int TestEnv::v_isValid(rtl::OUString * /*pReason*/)
-{
- return 1;
-}
-
-extern "C" void SAL_CALL uno_initEnvironment(uno_Environment * pEnv) SAL_THROW_EXTERN_C()
-{
- cppu::helper::purpenv::Environment_initWithEnterable(pEnv, new TestEnv(pEnv));
-}
-
-extern "C" void uno_ext_getMapping(uno_Mapping ** ppMapping,
- uno_Environment * pFrom,
- uno_Environment * pTo )
-{
- cppu::helper::purpenv::createMapping(ppMapping, pFrom, pTo);
-}
-
diff --git a/cppu/test/EnvStack_tester/ProbeEnv.def b/cppu/test/EnvStack_tester/ProbeEnv.def
deleted file mode 100644
index 1444d92c13fa..000000000000
--- a/cppu/test/EnvStack_tester/ProbeEnv.def
+++ /dev/null
@@ -1,8 +0,0 @@
-HEAPSIZE 0
-EXPORTS
- uno_initEnvironment
- uno_ext_getMapping
-
-
-
-
diff --git a/cppu/test/EnvStack_tester/makefile.mk b/cppu/test/EnvStack_tester/makefile.mk
deleted file mode 100644
index 1ae0e4e89250..000000000000
--- a/cppu/test/EnvStack_tester/makefile.mk
+++ /dev/null
@@ -1,126 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := EnvStack.tester
-
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
-
-
-.INCLUDE : settings.mk
-.INCLUDE : ../../source/helper/purpenv/export.mk
-
-.IF "$(COM)" == "GCC"
-LINKFLAGS += -rdynamic
-.ENDIF
-
-
-ENVINCPRE := -I$(OUT)$/inc$/$(TARGET)
-
-APP1TARGET := $(TARGET)
-APP1OBJS := $(OBJ)$/EnvStack.tester.obj
-APP1STDLIBS := $(CPPULIB) $(SALLIB)
-
-
-SHL1TARGET := $(HLD_DLLPRE)A_uno_uno
-SHL1IMPLIB := i$(SHL1TARGET)
-SHL1OBJS := $(SLO)$/ProbeEnv.obj
-SHL1STDLIBS := $(purpenv_helper_LIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB)
-.IF "$(GUI)"=="WNT"
-SHL1STDLIBS += $(BIN)$/EnvStack.tester.lib
-.ENDIF
-SHL1DEF := ProbeEnv.def
-
-SHL2TARGET := $(HLD_DLLPRE)B_uno_uno
-SHL2IMPLIB := i$(SHL2TARGET)
-SHL2OBJS := $(SHL1OBJS)
-SHL2STDLIBS := $(SHL1STDLIBS)
-SHL2DEF := $(SHL1DEF)
-
-SHL3TARGET := $(HLD_DLLPRE)C_uno_uno
-SHL3IMPLIB := i$(SHL3TARGET)
-SHL3OBJS := $(SHL1OBJS)
-SHL3STDLIBS := $(SHL1STDLIBS)
-SHL3DEF := $(SHL1DEF)
-
-SHL4TARGET := $(HLD_DLLPRE)D_uno_uno
-SHL4IMPLIB := i$(SHL4TARGET)
-SHL4OBJS := $(SHL1OBJS)
-SHL4STDLIBS := $(SHL1STDLIBS)
-SHL4DEF := $(SHL1DEF)
-
-SHL5TARGET := $(HLD_DLLPRE)a_uno_uno
-SHL5IMPLIB := i$(SHL5TARGET)
-SHL5OBJS := $(SHL1OBJS)
-SHL5STDLIBS := $(SHL1STDLIBS)
-SHL5DEF := $(SHL1DEF)
-
-SHL6TARGET := $(HLD_DLLPRE)b_uno_uno
-SHL6IMPLIB := i$(SHL6TARGET)
-SHL6OBJS := $(SHL1OBJS)
-SHL6STDLIBS := $(SHL1STDLIBS)
-SHL6DEF := $(SHL1DEF)
-
-SHL7TARGET := $(HLD_DLLPRE)c_uno_uno
-SHL7IMPLIB := i$(SHL7TARGET)
-SHL7OBJS := $(SHL1OBJS)
-SHL7STDLIBS := $(SHL1STDLIBS)
-SHL7DEF := $(SHL1DEF)
-
-SHL8TARGET := $(HLD_DLLPRE)d_uno_uno
-SHL8IMPLIB := i$(SHL8TARGET)
-SHL8OBJS := $(SHL1OBJS)
-SHL8STDLIBS := $(SHL1STDLIBS)
-SHL8DEF := $(SHL1DEF)
-
-
-.INCLUDE : target.mk
-
-
-ALLTAR: \
- $(SHL1TARGETN) \
- $(SHL2TARGETN) \
- $(SHL3TARGETN) \
- $(SHL4TARGETN) \
- $(SHL5TARGETN) \
- $(SHL6TARGETN) \
- $(SHL7TARGETN) \
- $(SHL8TARGETN)
-
-
-$(SHL1TARGETN) : $(APP1TARGETN)
-$(SHL2TARGETN) : $(APP1TARGETN)
-$(SHL3TARGETN) : $(APP1TARGETN)
-$(SHL4TARGETN) : $(APP1TARGETN)
-$(SHL5TARGETN) : $(APP1TARGETN)
-$(SHL6TARGETN) : $(APP1TARGETN)
-$(SHL7TARGETN) : $(APP1TARGETN)
-$(SHL8TARGETN) : $(APP1TARGETN)
diff --git a/cppu/test/Environment.test.cxx b/cppu/test/Environment.test.cxx
deleted file mode 100644
index 446ffda7f545..000000000000
--- a/cppu/test/Environment.test.cxx
+++ /dev/null
@@ -1,75 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// Test for uno/environment.hxx respectively com::sun::star::uno::Environment
-
-#include "uno/environment.hxx"
-#include "uno/lbnames.h"
-#include "sal/main.h"
-
-#include <iostream>
-
-
-using namespace com::sun::star;
-
-static rtl::OUString s_comment;
-
-static void s_test__constructor_oustring_context(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__constructor_outstring_context\n"));
-
- uno::Environment environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO)), NULL);
-
- if (!environment.get())
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't get an Environment - FAILURE\n"));
-}
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv)
-{
- s_test__constructor_oustring_context();
-
-
- int ret;
- if (s_comment.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
-
- std::cerr
- << argv[0]
- << std::endl
- << rtl::OUStringToOString(s_comment, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
diff --git a/cppu/test/FreeReference/FreeReference.test.cxx b/cppu/test/FreeReference/FreeReference.test.cxx
deleted file mode 100644
index 1d80f573b0f3..000000000000
--- a/cppu/test/FreeReference/FreeReference.test.cxx
+++ /dev/null
@@ -1,414 +0,0 @@
-/*************************************************************************
- *
- * 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 <iostream>
-
-#include "sal/main.h"
-
-#include "uno/environment.hxx"
-
-#include "cppu/FreeReference.hxx"
-#include "cppu/EnvGuards.hxx"
-
-#include "../ObjectFactory/ObjectFactory.hxx"
-
-
-
-using namespace com::sun::star;
-
-static rtl::OUString s_comment;
-static uno::Environment s_env;
-
-extern "C" {
-static void s_callee_in(rtl_uString * pMethod_name)
-{
- rtl::OUString method_name(pMethod_name);
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\ts_callee_in method:\""));
- s_comment += method_name;
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" env: "));
- s_comment += uno::Environment::getCurrent().getTypeName();
-
- if (!s_env.is())
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: s_env not set"));
- return;
- }
-
- rtl::OUString reason;
- int valid = s_env.isValid(&reason);
-
- if (valid)
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: "));
- s_comment += reason;
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
- }
-}
-
-static void s_callee_out(rtl_uString * pMethod_name)
-{
- rtl::OUString method_name(pMethod_name);
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\ts_callee_out method:\""));
- s_comment += method_name;
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" env: "));
- s_comment += uno::Environment::getCurrent().getTypeName();
-
- if (!s_env.is())
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: s_env not set"));
- return;
- }
-
- rtl::OUString reason;
- int valid = s_env.isValid(&reason);
-
- if (!valid)
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: is in\n"));
- }
-}
-}
-
-static cppu::FreeReference<uno::XInterface> s_get_envObject(void)
-{
- cppu::EnvGuard envGuard(s_env);
-
- uno::XInterface * pObject = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_in));
-
- cppu::FreeReference<uno::XInterface> env_obj(pObject, SAL_NO_ACQUIRE);
-
- return env_obj;
-}
-
-static cppu::FreeReference<uno::XInterface> s_get_flatObject(void)
-{
- uno::XInterface * pObject = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_out));
-
- return cppu::FreeReference<uno::XInterface>(pObject, SAL_NO_ACQUIRE);
-}
-
-
-static void s_test_operator_arrow(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_operator_arrow:\n"));
-
- cppu::FreeReference<uno::XInterface> env_obj(s_get_envObject());
-
- env_obj->acquire();
- env_obj->release();
-}
-
-
-static void s_test_operator_assign_empty_reference(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_operator_assign_empty_reference\n"));
-
- cppu::FreeReference<uno::XInterface> flat_obj(s_get_flatObject());
- cppu::FreeReference<uno::XInterface> empty_ref;
-
- flat_obj = empty_ref;
-}
-
-static void s_test_operator_assign_inner_reference_inside(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_operator_assign_inner_reference_inside\n"));
-
- cppu::FreeReference<uno::XInterface> env_obj(s_get_envObject());
- cppu::FreeReference<uno::XInterface> flat_obj(s_get_flatObject());
-
- {
- cppu::EnvGuard envGuard(s_env);
- env_obj = flat_obj;
- }
-}
-
-static void s_test_method_clear_inner_reference_inside(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_method_clear_inner_reference_inside\n"));
-
- cppu::FreeReference<uno::XInterface> env_obj(s_get_envObject());
-
- {
- cppu::EnvGuard envGuard(s_env);
- env_obj.clear();
- }
-}
-
-static void s_test_method_clear_inner_reference_outside(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_method_clear_inner_reference_outside\n"));
-
- cppu::FreeReference<uno::XInterface> env_obj(s_get_envObject());
-
- env_obj.clear();
-}
-
-static void s_test_method_clear_outer_reference_inside(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_method_clear_outer_reference_inside\n"));
-
- cppu::FreeReference<uno::XInterface> flat_obj(s_get_flatObject());
-
- {
- cppu::EnvGuard envGuard(s_env);
- flat_obj.clear();
- }
-}
-
-static void s_test_method_clear_outer_reference_outside(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_method_clear_outer_reference_outside\n"));
-
- cppu::FreeReference<uno::XInterface> flat_obj(s_get_flatObject());
-
- flat_obj.clear();
-}
-
-static void s_test_method_set_inside_with_inner_reference(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_method_set_inside_with_inner_reference\n"));
-
- cppu::FreeReference<uno::XInterface> env_obj(s_get_envObject());
-
- {
- cppu::EnvGuard envGuard(s_env);
- uno::XInterface * pObject2 = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_in));
- {
- uno::Reference<uno::XInterface> ref(pObject2, SAL_NO_ACQUIRE);
-
- env_obj.set(ref);
- }
- }
-}
-
-static void s_test_method_set_inside_with_outer_reference(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_method_set_inside_with_outer_reference\n"));
-
- cppu::FreeReference<uno::XInterface> env_obj(s_get_envObject());
-
- uno::XInterface * pObject = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_out));
- {
- uno::Reference<uno::XInterface> ref(pObject, SAL_NO_ACQUIRE);
-
- env_obj.set(ref);
- }
-}
-
-static void s_test_method_set_with_empty_reference(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_method_set_outside_with_empty_reference\n"));
-
- cppu::FreeReference<uno::XInterface> flat_obj(s_get_flatObject());
-
- {
- uno::Reference<uno::XInterface> ref;
-
- flat_obj.set(ref);
- }
-}
-
-static void s_test_method_set_outside_with_inner_reference(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_method_set_outside_with_inner_reference\n"));
-
- cppu::FreeReference<uno::XInterface> flat_obj(s_get_flatObject());
-
- {
- cppu::EnvGuard envGuard(s_env);
-
- uno::XInterface * pObject2 = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_in));
- {
- uno::Reference<uno::XInterface> ref(pObject2, SAL_NO_ACQUIRE);
-
- flat_obj.set(ref);
- }
- }
-}
-
-static void s_test_method_set_outside_with_outer_reference(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_method_set_outside_with_outer_reference\n"));
-
- cppu::FreeReference<uno::XInterface> flat_obj(s_get_flatObject());
-
- uno::XInterface * pObject2 = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_out));
- {
- uno::Reference<uno::XInterface> ref(pObject2, SAL_NO_ACQUIRE);
-
- flat_obj.set(ref);
- }
-}
-
-static void s_test_operator_equal(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_operator_equal\n"));
-
-
- cppu::FreeReference<uno::XInterface> env_obj;
- uno::XInterface * pObject = NULL;
- {
- cppu::EnvGuard envGuard(s_env);
- pObject = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_in));
-
- env_obj = cppu::FreeReference<uno::XInterface>(pObject, SAL_NO_ACQUIRE);
- }
-
-
- uno::Mapping mapping(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV) ":unsafe")),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))));
- uno::Reference<uno::XInterface> tmp;
- uno::XInterface * pMappedObject = reinterpret_cast<uno::XInterface *>(mapping.mapInterface(pObject, ::getCppuType(&tmp)));
-
-
- cppu::FreeReference<uno::XInterface> flat_obj(pMappedObject, SAL_NO_ACQUIRE);
-
- {
- cppu::EnvGuard envGuard(s_env);
-
- if (!(env_obj == flat_obj))
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\trefs are not equal inside - FAILURE\n"));
- }
-
- if (!(env_obj == flat_obj))
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\trefs are not equal outside - FAILURE\n"));
-}
-
-static void s_test_operator_unequal(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_operator_unequal\n"));
-
-
- uno::XInterface * pObject = NULL;
- cppu::FreeReference<uno::XInterface> env_obj;
- {
- cppu::EnvGuard envGuard(s_env);
-
- pObject = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_in));
-
- env_obj = cppu::FreeReference<uno::XInterface>(pObject, SAL_NO_ACQUIRE);
- }
-
-
- uno::Mapping mapping(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV) ":unsafe")),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))));
- uno::Reference<uno::XInterface> tmp;
- uno::XInterface * pMappedObject = reinterpret_cast<uno::XInterface *>(mapping.mapInterface(pObject, ::getCppuType(&tmp)));
-
-
- cppu::FreeReference<uno::XInterface> flat_obj(pMappedObject, SAL_NO_ACQUIRE);
-
- {
- cppu::EnvGuard envGuard(s_env);
-
- if (env_obj != flat_obj)
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\trefs are not equal inside - FAILURE\n"));
- }
-
- if (env_obj != flat_obj)
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\trefs are not equal outside - FAILURE\n"));
-}
-
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv)
-{
- uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))).enter();
-
- s_env = uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("uno:unsafe")));
-
-
- rtl::OUString result;
- s_test_operator_arrow();
- s_test_operator_equal();
- s_test_operator_unequal();
-
- s_test_operator_assign_empty_reference();
- s_test_operator_assign_inner_reference_inside();
-
- s_test_method_set_with_empty_reference();
- s_test_method_set_inside_with_inner_reference();
- s_test_method_set_inside_with_outer_reference();
- s_test_method_set_outside_with_inner_reference();
- s_test_method_set_outside_with_outer_reference();
-
- s_test_method_clear_inner_reference_inside();
- s_test_method_clear_inner_reference_outside();
- s_test_method_clear_outer_reference_inside();
- s_test_method_clear_outer_reference_outside();
-
- s_env.clear();
-
-
- uno_Environment_enter(NULL);
-
-
- int ret;
- if (s_comment.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
-
- std::cerr
- << argv[0]
- << std::endl
- << rtl::OUStringToOString(s_comment, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
diff --git a/cppu/test/FreeReference/makefile.mk b/cppu/test/FreeReference/makefile.mk
deleted file mode 100644
index 3d9a4069718b..000000000000
--- a/cppu/test/FreeReference/makefile.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := FreeReference.test
-
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
-
-
-.INCLUDE : settings.mk
-
-
-.IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC"
-ObjectFactory_LIB := -lObjectFactory.$(COMID)
-
-.ELSE
-ObjectFactory_LIB := $(LIBPRE) iObjectFactory.$(COMID).lib
-
-.ENDIF
-
-
-APP1TARGET := $(TARGET)
-APP1OBJS := $(OBJ)$/FreeReference.test.obj
-APP1STDLIBS := $(ObjectFactory_LIB) $(CPPULIB) $(SALLIB)
-
-
-.INCLUDE : target.mk
diff --git a/cppu/test/IdentityMapping.test.cxx b/cppu/test/IdentityMapping.test.cxx
deleted file mode 100644
index 3b232ce0461e..000000000000
--- a/cppu/test/IdentityMapping.test.cxx
+++ /dev/null
@@ -1,77 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// Test for uno/mapping.hxx respectively com::sun::star::uno::Mapping
-
-
-#include <iostream>
-
-#include "sal/main.h"
-
-#include "uno/mapping.hxx"
-
-
-using namespace com::sun::star;
-
-static rtl::OUString s_comment;
-
-static void s_test__get_identity_mapping(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__get_identity_mapping\n"));
-
- uno::Mapping mapping(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))),
- uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))));
-
- if (!mapping.get())
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't get a Mapping - FAILURE\n"));
-}
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv)
-{
- s_test__get_identity_mapping();
-
-
- int ret;
- if (s_comment.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
-
- std::cerr
- << argv[0]
- << std::endl
- << rtl::OUStringToOString(s_comment, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
diff --git a/cppu/test/Map/Map.test.cxx b/cppu/test/Map/Map.test.cxx
deleted file mode 100644
index 171d72f99f34..000000000000
--- a/cppu/test/Map/Map.test.cxx
+++ /dev/null
@@ -1,258 +0,0 @@
-/*************************************************************************
- *
- * 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 <iostream>
-
-#include "sal/main.h"
-
-#include "uno/environment.hxx"
-
-#include "cppu/Map.hxx"
-#include "cppu/EnvGuards.hxx"
-
-#include "../ObjectFactory/ObjectFactory.hxx"
-
-
-using namespace com::sun::star;
-
-
-static rtl::OUString s_comment;
-static uno::Environment s_env;
-
-extern "C" {
-static void s_callee_in(rtl_uString * pMethod_name)
-{
- rtl::OUString method_name(pMethod_name);
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\ts_callee_in method:\""));
- s_comment += method_name;
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" env: \""));
- s_comment += uno::Environment::getCurrent().getTypeName();
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\""));
-
- if (!s_env.is())
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: s_env not set"));
- return;
- }
-
- rtl::OUString reason;
- int valid = s_env.isValid(&reason);
-
- if (valid)
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: "));
- s_comment += reason;
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
- }
-}
-
-static void s_callee_out(rtl_uString * pMethod_name)
-{
- rtl::OUString method_name(pMethod_name);
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\ts_callee_out method:\""));
- s_comment += method_name;
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" env: \""));
- s_comment += uno::Environment::getCurrent().getTypeName();
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\""));
-
- if (!s_env.is())
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: s_env not set"));
- return;
- }
-
- rtl::OUString reason;
- int valid = s_env.isValid(&reason);
-
- if (!valid)
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: is in\n"));
-}
-}
-
-static uno::Reference<uno::XInterface> s_get_envObject(void)
-{
- cppu::EnvGuard envGuard(s_env);
-
- uno::XInterface * pObject = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_in));
-
- return uno::Reference<uno::XInterface>(pObject, SAL_NO_ACQUIRE);
-}
-
-static uno::XInterface * s_x_get_flatObject(void)
-{
- uno::XInterface * pObject = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_out));
-
- return pObject;
-}
-
-static uno::Reference<uno::XInterface> s_get_flatObject(void)
-{
- return uno::Reference<uno::XInterface>(s_x_get_flatObject(), SAL_NO_ACQUIRE);
-}
-
-
-static void s_test__mapOut(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__mapOut:\n"));
-
- uno::Reference<uno::XInterface> obj;
-
- {
- cppu::EnvGuard envGuard(s_env);
- obj.set(cppu::mapOut(s_get_envObject().get(),
- uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME)))),
- SAL_NO_ACQUIRE);
- }
-
- obj->acquire();
- obj->release();
-}
-
-static void s_test__mapIn(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__unshield:\n"));
-
- uno::Reference<uno::XInterface> obj;
-
- {
- cppu::EnvGuard envGuard(s_env);
- uno::XInterface * pObj = s_x_get_flatObject();
- obj.set(cppu::mapIn(pObj,
- uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME)))),
- SAL_NO_ACQUIRE);
-
- envGuard.clear();
-
- pObj->release();
- }
-
- {
- cppu::EnvGuard envGuard(s_env);
- obj.clear();
- }
-}
-
-static void s_test__mapOutAny(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__shieldAny:\n"));
-
- uno::Any out;
-
- {
- cppu::EnvGuard envGuard(s_env);
- uno::Any any;
- any <<= s_get_envObject();
- cppu::mapOutAny(any,
- &out,
- uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME))));
- }
-
- uno::Reference<uno::XInterface> obj;
- out >>= obj;
-
- obj->acquire();
- obj->release();
-}
-
-static void s_test__mapInAny(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__unshieldAny:\n"));
-
- uno::Any out;
- {
- uno::Any any(s_get_flatObject());
-
- {
- cppu::EnvGuard envGuard(s_env);
- cppu::mapInAny(any,
- &out,
- uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME))));
- }
- }
-
- {
- cppu::EnvGuard envGuard(s_env);
-
- uno::Reference<uno::XInterface> obj;
- out >>= obj;
-
- obj.clear();
- }
-}
-
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv)
-{
- uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))).enter();
-
- s_env = uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("uno:unsafe")));
-
- s_test__mapOut();
- s_test__mapOutAny();
- s_test__mapIn();
- s_test__mapInAny();
-
- s_env.clear();
-
-
- uno_Environment_enter(NULL);
-
-
- int ret;
- if (s_comment.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
-
- std::cerr
- << argv[0]
- << std::endl
- << rtl::OUStringToOString(s_comment, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
diff --git a/cppu/test/Map/makefile.mk b/cppu/test/Map/makefile.mk
deleted file mode 100644
index 6344efc48243..000000000000
--- a/cppu/test/Map/makefile.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := Map.test
-
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
-
-
-.INCLUDE : settings.mk
-
-
-.IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC"
-ObjectFactory_LIB := -lObjectFactory.$(COMID)
-
-.ELSE
-ObjectFactory_LIB := $(LIBPRE) iObjectFactory.$(COMID).lib
-
-.ENDIF
-
-
-APP1TARGET := $(TARGET)
-APP1OBJS := $(OBJ)$/Map.test.obj
-APP1STDLIBS := $(ObjectFactory_LIB) $(CPPULIB) $(SALLIB)
-
-
-.INCLUDE : target.mk
diff --git a/cppu/test/Mapping.test.cxx b/cppu/test/Mapping.test.cxx
deleted file mode 100644
index 1b763dd71cf2..000000000000
--- a/cppu/test/Mapping.test.cxx
+++ /dev/null
@@ -1,77 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// Test for uno/mapping.hxx respectively com::sun::star::uno::Mapping
-
-
-#include <iostream>
-
-#include "sal/main.h"
-
-#include "uno/mapping.hxx"
-
-
-using namespace com::sun::star;
-
-static rtl::OUString s_comment;
-
-static void s_test__constructor_env_env(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__constructor_env_env\n"));
-
- uno::Mapping mapping(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))),
- uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME))));
-
- if (!mapping.get())
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't get a Mapping - FAILURE\n"));
-}
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv)
-{
- s_test__constructor_env_env();
-
-
- int ret;
- if (s_comment.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
-
- std::cerr
- << argv[0]
- << std::endl
- << rtl::OUStringToOString(s_comment, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
diff --git a/cppu/test/ObjectFactory/CppObject.cxx b/cppu/test/ObjectFactory/CppObject.cxx
deleted file mode 100644
index 541a4172e3d8..000000000000
--- a/cppu/test/ObjectFactory/CppObject.cxx
+++ /dev/null
@@ -1,103 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-
-#include "cppu/EnvDcp.hxx"
-#include "cppuhelper/implbase1.hxx"
-
-#include "com/sun/star/uno/XComponentContext.hpp"
-
-#include "CppObject.hxx"
-
-
-using namespace ::com::sun::star;
-
-
-#ifdef LOG_LIFECYCLE
-#define LOG_LIFECYCLE_CppObject
-#endif
-
-#define LOG_LIFECYCLE_CppObject
-#ifdef LOG_LIFECYCLE_CppObject
-# include <iostream>
-# define LOG_LIFECYCLE_CppObject_emit(x) x
-
-#else
-# define LOG_LIFECYCLE_CppObject_emit(x)
-
-#endif
-
-CppObject::CppObject(Callee * pCallee) SAL_THROW((uno::RuntimeException))
- : m_nRef (1),
- m_pCallee(pCallee)
-{
- LOG_LIFECYCLE_CppObject_emit(fprintf(stderr, "LIFE: %s -> %p\n", "CppObject::CppObject", this));
-}
-
-CppObject::~CppObject() SAL_THROW((uno::RuntimeException))
-{
- LOG_LIFECYCLE_CppObject_emit(fprintf(stderr, "LIFE: %s -> %p\n", "CppObject::~CppObject", this));
-}
-
-void SAL_CALL CppObject::acquire() throw ()
-{
- m_pCallee(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XInterface::acquire")).pData);
-
- osl_incrementInterlockedCount(&m_nRef);
-}
-
-void SAL_CALL CppObject::release() throw ()
-{
- m_pCallee(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XInterface::release")).pData);
-
- if (osl_decrementInterlockedCount(&m_nRef) == 0)
- delete this;
-}
-
-uno::Any SAL_CALL CppObject::queryInterface(uno::Type const & rType ) throw (uno::RuntimeException)
-{
- m_pCallee(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XInterface::queryInterface")).pData);
-
- void * bla = this;
-
- return uno::Any(&bla, rType);
-}
-
-
-uno::XInterface * CppObject::s_create(Callee * pCallee)
-{
- return new CppObject(pCallee);
-}
-
-void CppObject::s_call(uno::XInterface * pXInterface)
-{
- uno::Reference<uno::XInterface> tmp;
-
- pXInterface->queryInterface(::getCppuType(&tmp));
-}
diff --git a/cppu/test/ObjectFactory/ObjectFactory.cxx b/cppu/test/ObjectFactory/ObjectFactory.cxx
deleted file mode 100644
index d4f251d028ee..000000000000
--- a/cppu/test/ObjectFactory/ObjectFactory.cxx
+++ /dev/null
@@ -1,69 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-
-#define CPPU_test_ObjectFactory_IMPL
-
-#include "UnoObject.hxx"
-#include "CppObject.hxx"
-#include "ObjectFactory.hxx"
-
-
-using namespace com::sun::star;
-
-
-
-CPPU_test_ObjectFactory_EXPORT void * createObject(rtl::OUString const & envDcp, Callee * pCallee)
-{
- void * result;
-
- if (envDcp.match(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)))))
- result = CppObject::s_create(pCallee);
-
- else if (envDcp.match(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))))
- result = UnoObject_create(pCallee);
-
- else
- abort();
-
- return result;
-}
-
-CPPU_test_ObjectFactory_EXPORT void callObject(rtl::OUString const & envDcp, void * pObject)
-{
- if (envDcp.match(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)))))
- CppObject::s_call(reinterpret_cast<uno::XInterface *>(pObject));
-
- else if (envDcp.match(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))))
- UnoObject_call(reinterpret_cast<uno_Interface *>(pObject));
-
- else
- abort();
-}
-
diff --git a/cppu/test/ObjectFactory/UnoObject.cxx b/cppu/test/ObjectFactory/UnoObject.cxx
deleted file mode 100644
index 9fa22c4ca52e..000000000000
--- a/cppu/test/ObjectFactory/UnoObject.cxx
+++ /dev/null
@@ -1,227 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-
-#include "osl/interlck.h"
-#include "uno/environment.h"
-#include "uno/mapping.h"
-#include "uno/dispatcher.h"
-#include "typelib/typedescription.h"
-#include "rtl/alloc.h"
-#include "com/sun/star/uno/Any.hxx"
-
-#include "UnoObject.hxx"
-#include "callee.hxx"
-
-
-using namespace com::sun::star;
-
-
-#ifdef LOG_LIFECYCLE
-# define LOG_LIFECYCLE_UnoObject
-#endif
-
-#define LOG_LIFECYCLE_UnoObject
-#ifdef LOG_LIFECYCLE_UnoObject
-# include <iostream>
-# define LOG_LIFECYCLE_UnoObject_emit(x) x
-
-#else
-# define LOG_LIFECYCLE_UnoObject_emit(x)
-
-#endif
-
-
-struct UnoObject : public uno_Interface
-{
- oslInterlockedCount m_nCount;
- Callee * m_pCallee;
-};
-
-
-
-static bool s_isQueryInterfaceCall(rtl_uString * pMethod,
- void * pArgs[],
- const sal_Char * pQueriedType)
-{
- static rtl::OString aPattern("com.sun.star.uno.XInterface::queryInterface");
-
- bool bIsQueryInterfaceCall =
- rtl_ustr_ascii_shortenedCompare_WithLength(
- rtl_uString_getStr( pMethod ),
- rtl_uString_getLength( pMethod ),
- aPattern.getStr(),
- aPattern.getLength() ) == 0;
-
- if (bIsQueryInterfaceCall)
- {
- typelib_TypeDescriptionReference * pTDR
- = *(typelib_TypeDescriptionReference **)pArgs[ 0 ];
-
- bIsQueryInterfaceCall =
- rtl_ustr_ascii_compare(
- rtl_uString_getStr( pTDR->pTypeName ),
- pQueriedType ) == 0;
- }
-
- return bIsQueryInterfaceCall;
-}
-
-static void s_UnoObject_delete(UnoObject * pUnoObject)
-{
- LOG_LIFECYCLE_UnoObject_emit(fprintf(stderr, "LIFE: %s -> %p\n", "s_UnoObject_delete", pUnoObject));
-
- rtl_freeMemory(pUnoObject);
-}
-
-
-extern "C" {
-static void SAL_CALL s_UnoObject_acquire(uno_Interface * pUnoI)
-{
- UnoObject * pUnoObject = (UnoObject *)pUnoI;
-
- pUnoObject->m_pCallee(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XInterface::acquire")).pData);
-
- osl_incrementInterlockedCount(&pUnoObject->m_nCount);
-}
-
-static void SAL_CALL s_UnoObject_release(uno_Interface * pUnoI)
-{
- UnoObject * pUnoObject = (UnoObject *)pUnoI;
-
- pUnoObject->m_pCallee(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XInterface::release")).pData);
-
- if (osl_decrementInterlockedCount(&pUnoObject->m_nCount) == 0)
- s_UnoObject_delete(pUnoObject);
-}
-
-static void SAL_CALL s_UnoObject_dispatch(
- uno_Interface * pUnoI,
- typelib_TypeDescription const * pMemberType,
- void * pReturn,
- void * pArgs[],
- uno_Any ** ppException )
-{
- UnoObject * pUnoObject = (UnoObject *)pUnoI;
- *ppException = NULL;
-
- pUnoObject->m_pCallee(rtl::OUString(pMemberType->pTypeName).pData);
-
- if (s_isQueryInterfaceCall(pMemberType->pTypeName, pArgs, "com.sun.star.uno.XInterface"))
- {
- typelib_TypeDescriptionReference * type_XInterface =
- * typelib_static_type_getByTypeClass( typelib_TypeClass_INTERFACE );
-
- typelib_typedescriptionreference_acquire(type_XInterface);
-
- uno::Any * pRet = (uno::Any *)pReturn;
- pRet->pType = type_XInterface;
- pRet->pData = &pRet->pReserved;
- pRet->pReserved = pUnoObject;
-
- s_UnoObject_acquire(pUnoObject);
- }
- else
- abort();
-}
-}
-
-uno_Interface * UnoObject_create(Callee * pCallee)
-{
- UnoObject * pUnoObject = (UnoObject *)rtl_allocateMemory(sizeof(UnoObject));
-
- LOG_LIFECYCLE_UnoObject_emit(fprintf(stderr, "LIFE: %s -> %p\n", "UnoObject_create", pUnoObject));
-
- pUnoObject->m_nCount = 1;
- pUnoObject->m_pCallee = pCallee;
-
- pUnoObject->acquire = s_UnoObject_acquire;
- pUnoObject->release = s_UnoObject_release;
- pUnoObject->pDispatcher = s_UnoObject_dispatch;
-
- pUnoObject->m_pCallee(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("UnoObject_create")).pData);
-
- return pUnoObject;
-}
-
-void UnoObject_release(uno_Interface * pUnoI)
-{
- pUnoI->release(pUnoI);
-}
-
-
-void UnoObject_call(uno_Interface * pUnoI)
-{
- uno_Any exception;
- uno_Any * pException = &exception;
-
- uno_Interface * pUno_XInv = NULL;
-
- {
- typelib_TypeDescription * g_pQITD = NULL;
-
- typelib_TypeDescriptionReference * type_XInterface =
- * typelib_static_type_getByTypeClass( typelib_TypeClass_INTERFACE );
-
- typelib_InterfaceTypeDescription * pTXInterfaceDescr = 0;
- TYPELIB_DANGER_GET( (typelib_TypeDescription **) &pTXInterfaceDescr, type_XInterface );
- typelib_typedescriptionreference_getDescription(
- &g_pQITD, pTXInterfaceDescr->ppAllMembers[ 0 ] );
- TYPELIB_DANGER_RELEASE( (typelib_TypeDescription *) pTXInterfaceDescr );
-
-
-
- uno_Any result;
-
- void * args[ 1 ];
- args[ 0 ] = &type_XInterface;
-
- pUnoI->pDispatcher(pUnoI, g_pQITD, &result, args, &pException);
-
-
- typelib_TypeDescriptionReference * ret_type = result.pType;
- switch (ret_type->eTypeClass)
- {
- case typelib_TypeClass_VOID: // common case
- typelib_typedescriptionreference_release( ret_type );
- break;
- case typelib_TypeClass_INTERFACE:
- // tweaky... avoiding acquire/ release pair
- typelib_typedescriptionreference_release( ret_type );
- pUno_XInv = (uno_Interface *) result.pReserved; // serving acquired interface
- break;
- default:
- uno_any_destruct(&result, 0);
- break;
- }
- }
-
-
- pUno_XInv->release(pUno_XInv);
-}
diff --git a/cppu/test/ObjectFactory/callee.hxx b/cppu/test/ObjectFactory/callee.hxx
deleted file mode 100644
index beb31d4f4dd9..000000000000
--- a/cppu/test/ObjectFactory/callee.hxx
+++ /dev/null
@@ -1,39 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_callee_hxx
-#define INCLUDED_callee_hxx
-
-
-#include <rtl/ustring.hxx>
-
-
-extern "C" {
-typedef void Callee(rtl_uString * pMethod_name);
-}
-
-#endif
diff --git a/cppu/test/ObjectFactory/empty.def b/cppu/test/ObjectFactory/empty.def
deleted file mode 100644
index b191c70cf03c..000000000000
--- a/cppu/test/ObjectFactory/empty.def
+++ /dev/null
@@ -1,5 +0,0 @@
-HEAPSIZE 0
-EXPORTS
-
-
-
diff --git a/cppu/test/ObjectFactory/makefile.mk b/cppu/test/ObjectFactory/makefile.mk
deleted file mode 100644
index 1064c760d538..000000000000
--- a/cppu/test/ObjectFactory/makefile.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := ObjectFactory
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
-
-
-.INCLUDE : settings.mk
-
-SHL1TARGET := ObjectFactory.$(COMID)
-SHL1IMPLIB := i$(SHL1TARGET)
-SHL1OBJS := $(SLO)$/UnoObject.obj $(SLO)$/CppObject.obj $(SLO)$/ObjectFactory.obj
-SHL1STDLIBS := $(CPPULIB) $(SALHELPERLIB) $(SALLIB)
-SHL1DEF := empty.def
-
-
-.INCLUDE : target.mk
-
-
diff --git a/cppu/test/Shield/Shield.test.cxx b/cppu/test/Shield/Shield.test.cxx
deleted file mode 100644
index d08b60e59a45..000000000000
--- a/cppu/test/Shield/Shield.test.cxx
+++ /dev/null
@@ -1,249 +0,0 @@
-/*************************************************************************
- *
- * 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 <iostream>
-
-#include "sal/main.h"
-
-#include "uno/environment.hxx"
-
-#include "cppu/Shield.hxx"
-#include "cppu/EnvGuards.hxx"
-
-#include "../ObjectFactory/ObjectFactory.hxx"
-
-
-using namespace com::sun::star;
-
-
-static rtl::OUString s_comment;
-static uno::Environment s_env;
-
-extern "C" {
-static void s_callee_in(rtl_uString * pMethod_name)
-{
- rtl::OUString method_name(pMethod_name);
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\ts_callee_in method:\""));
- s_comment += method_name;
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" env: \""));
- s_comment += uno::Environment::getCurrent().getTypeName();
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\""));
-
- if (!s_env.is())
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: s_env not set"));
- return;
- }
-
- rtl::OUString reason;
- int valid = s_env.isValid(&reason);
-
- if (valid)
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: "));
- s_comment += reason;
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
- }
-}
-
-static void s_callee_out(rtl_uString * pMethod_name)
-{
- rtl::OUString method_name(pMethod_name);
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\ts_callee_out method:\""));
- s_comment += method_name;
-
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" env: \""));
- s_comment += uno::Environment::getCurrent().getTypeName();
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\""));
-
- if (!s_env.is())
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: s_env not set"));
- return;
- }
-
- rtl::OUString reason;
- int valid = s_env.isValid(&reason);
-
- if (!valid)
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- else
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE: is in\n"));
-}
-}
-
-static uno::Reference<uno::XInterface> s_get_envObject(void)
-{
- cppu::EnvGuard envGuard(s_env);
-
- uno::XInterface * pObject = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_in));
-
- return uno::Reference<uno::XInterface>(pObject, SAL_NO_ACQUIRE);
-}
-
-static uno::XInterface * s_x_get_flatObject(void)
-{
- uno::XInterface * pObject = reinterpret_cast<uno::XInterface *>(
- createObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV))),
- s_callee_out));
-
- return pObject;
-}
-
-static uno::Reference<uno::XInterface> s_get_flatObject(void)
-{
- return uno::Reference<uno::XInterface>(s_x_get_flatObject(), SAL_NO_ACQUIRE);
-}
-
-
-static void s_test__shield(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__shield:\n"));
-
- uno::Reference<uno::XInterface> obj;
-
- {
- cppu::EnvGuard envGuard(s_env);
- obj.set(cppu::shield(s_get_envObject().get()), SAL_NO_ACQUIRE);
- }
-
- obj->acquire();
- obj->release();
-}
-
-static void s_test__unshield(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__unshield:\n"));
-
- uno::Reference<uno::XInterface> obj;
-
- {
- cppu::EnvGuard envGuard(s_env);
- uno::XInterface * pObj = s_x_get_flatObject();
- obj.set(cppu::unshield(pObj), SAL_NO_ACQUIRE);
-
- envGuard.clear();
- pObj->release();
- }
-
- {
- cppu::EnvGuard envGuard(s_env);
- obj.clear();
- }
-}
-
-static void s_test__shieldAny(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__shieldAny:\n"));
-
- uno::Any out;
-
- {
- cppu::EnvGuard envGuard(s_env);
- uno::Any any;
- any <<= s_get_envObject();
- cppu::shieldAny(any, &out);
- }
-
- uno::Reference<uno::XInterface> obj;
- out >>= obj;
-
- obj->acquire();
- obj->release();
-}
-
-static void s_test__unshieldAny(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__unshieldAny:\n"));
-
- uno::Any out;
- {
- uno::Any any(s_get_flatObject());
-
- {
- cppu::EnvGuard envGuard(s_env);
- cppu::unshieldAny(any, &out);
- }
- }
-
- {
- cppu::EnvGuard envGuard(s_env);
-
- uno::Reference<uno::XInterface> obj;
- out >>= obj;
-
- obj.clear();
- }
-}
-
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv)
-{
- uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))).enter();
-
- s_env = uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("uno:unsafe")));
-
- s_test__shield();
- s_test__shieldAny();
- s_test__unshield();
- s_test__unshieldAny();
-
- s_env.clear();
-
-
- uno_Environment_enter(NULL);
-
-
- int ret;
- if (s_comment.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
-
- std::cerr
- << argv[0]
- << std::endl
- << rtl::OUStringToOString(s_comment, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
diff --git a/cppu/test/Shield/makefile.mk b/cppu/test/Shield/makefile.mk
deleted file mode 100644
index 119516ced695..000000000000
--- a/cppu/test/Shield/makefile.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := Shield.test
-
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
-
-
-.INCLUDE : settings.mk
-
-
-.IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC"
-ObjectFactory_LIB := -lObjectFactory.$(COMID)
-
-.ELSE
-ObjectFactory_LIB := $(LIBPRE) iObjectFactory.$(COMID).lib
-
-.ENDIF
-
-
-APP1TARGET := $(TARGET)
-APP1OBJS := $(OBJ)$/Shield.test.obj
-APP1STDLIBS := $(ObjectFactory_LIB) $(CPPULIB) $(SALLIB)
-
-
-.INCLUDE : target.mk
diff --git a/cppu/test/UnsafeBridge/UnsafeBridge.test.pl b/cppu/test/UnsafeBridge/UnsafeBridge.test.pl
deleted file mode 100755
index b61b92013387..000000000000
--- a/cppu/test/UnsafeBridge/UnsafeBridge.test.pl
+++ /dev/null
@@ -1,72 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-my $rc = 0;
-my $comment = "";
-
-
-@tests = (
- "EnvStack.tester :A:unsafe :A:unsafe \"-enter:A[0,not entered]-leave:A[0,not entered]\" :A:unsafe", # initially not entered&leave
- "EnvStack.tester :unsafe:A :unsafe:A \"-enter:unsafe:A[1,OK]-leave:unsafe:A[1,OK]\" :unsafe", # enter
- "EnvStack.tester \"\" :unsafe:A \"-into:unsafe:A[1,OK]\" :unsafe", # call into
- "EnvStack.tester :unsafe :A \"-into:A[0,not entered]\" :unsafe", # call out
- "EnvStack.tester \"\" :unsafe:affine:A \"-into:unsafe:affine:A[0,wrong thread]\" :unsafe", # wrong thread
- "env.tester.bin CPP:unsafe"
-);
-
-foreach $test (@tests) {
- $output = "";
-
- $cmd = $test;
- open TESTER, $cmd . "|";
- while (<TESTER>) {
- chomp;
-
- $output = $output . "\t" . $_ . "\n";
- }
- close TESTER ;
-
- if ($? != 0) {
- $comment = $comment . "TEST FAILED: " . $cmd . "\n";
- $comment = $comment . $output;
- }
- $rc = $rc + $?;
-}
-
-
-print $comment;
-
-if ($rc == 0) {
- print "*********** SUCCESS\n";
-}
-else {
- print "*********** FAILURE\n";
-}
diff --git a/cppu/test/UnsafeBridge/makefile.mk b/cppu/test/UnsafeBridge/makefile.mk
deleted file mode 100644
index 33a1c5c32299..000000000000
--- a/cppu/test/UnsafeBridge/makefile.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := UnsafeBridge.test.pl
-
-
-.INCLUDE : settings.mk
-
-
-.INCLUDE : target.mk
-
-
-ALLTAR: $(BIN)$/$(TARGET)
-
-$(BIN)$/$(TARGET): UnsafeBridge.test.pl
- @+$(COPY) $^ $@
diff --git a/cppu/test/alignment.idl b/cppu/test/alignment.idl
deleted file mode 100644
index 424c232fb14f..000000000000
--- a/cppu/test/alignment.idl
+++ /dev/null
@@ -1,205 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#ifndef _TEST_ALIGNMENT_IDL_
-#define _TEST_ALIGNMENT_IDL_
-
-#include <com/sun/star/uno/XInterface.idl>
-
-module test
-{
-module alignment
-{
-
-struct C1
-{
- short n1;
-};
-struct C2 : C1
-{
- long n2;
-};
-struct C3 : C2
-{
- double d3;
- long n3;
-};
-struct C4 : C3
-{
- long n4;
- double d4;
-};
-struct C5 : C4
-{
- hyper n5;
- boolean b5;
-};
-
-struct C6 : C1
-{
- C5 c;
- boolean b6;
-};
-struct C7 : C1
-{
- C1 c;
- boolean b6;
-};
-struct C8 : C1
-{
- any a;
- boolean b6;
-};
-struct C9 : C1
-{
- string s;
- boolean b6;
-};
-struct C10 : C1
-{
- float f;
- boolean b6;
-};
-struct C11 : C1
-{
- double d;
- boolean b6;
-};
-struct C12 : C1
-{
- hyper n;
- boolean b6;
-};
-struct C13 : C1
-{
- unsigned hyper n;
- boolean b6;
-};
-struct C14 : C1
-{
- ::com::sun::star::uno::XInterface x;
- boolean b6;
-};
-
-struct C1x
-{
- short sx;
- double dx;
-};
-
-struct C6x : C1x
-{
- C5 c;
- boolean b6;
-};
-struct C7x : C1x
-{
- C1 c;
- boolean b6;
-};
-struct C8x : C1x
-{
- any a;
- boolean b6;
-};
-struct C9x : C1x
-{
- string s;
- boolean b6;
-};
-struct C10x : C1x
-{
- float f;
- boolean b6;
-};
-struct C11x : C1x
-{
- double d;
- boolean b6;
-};
-struct C12x : C1x
-{
- hyper n;
- boolean b6;
-};
-struct C13x : C1x
-{
- unsigned hyper n;
- boolean b6;
-};
-struct C14x : C1x
-{
- ::com::sun::star::uno::XInterface x;
- boolean b6;
-};
-
-
-struct D
-{
- short d;
- long e;
-};
-struct E
-{
- boolean a;
- boolean b;
- boolean c;
- short d;
- long e;
-};
-
-struct M
-{
- long n;
- short o;
-};
-
-struct N : M
-{
- short p;
-};
-struct N2
-{
- M m;
- short p;
-};
-struct O : M
-{
- double p;
-};
-struct O2 : O
-{
- double p2;
-};
-struct P : N
-{
- double p2;
-};
-
-}; // alignment
-}; // test
-
-#endif
diff --git a/cppu/test/alignment/diagnose.h b/cppu/test/alignment/diagnose.h
deleted file mode 100644
index 1568f70adf47..000000000000
--- a/cppu/test/alignment/diagnose.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#ifndef DIAGNOSE_H
-#define DIAGNOSE_H
-
-#include <sal/types.h>
-#include <stdio.h>
-
-#if defined(__GNUC__) && (defined(LINUX) || defined(FREEBSD)) && defined(INTEL)
-#define ALIGNMENT(s, n) __alignof__ (s)
-#else
-#define ALIGNMENT(s, n) n
-#endif
-
-#define OFFSET_OF( s, m ) ((sal_Size)((char *)&((s *)16)->m -16))
-
-#define BINTEST_VERIFY( c ) \
- if (! (c)) { fprintf( stderr, "### binary compatibility test failed: " #c " [line %d]!!!\n", __LINE__ ); abort(); }
-
-#if OSL_DEBUG_LEVEL > 1
-
-#define BINTEST_VERIFYOFFSET( s, m, n ) \
- fprintf( stderr, "> OFFSET_OF(" #s ", " #m ") = %lu\n", static_cast< unsigned long >(OFFSET_OF(s, m)) ); \
- if (OFFSET_OF(s, m) != n) { fprintf( stderr, "### OFFSET_OF(" #s ", " #m ") = %d instead of expected %d!!!\n", OFFSET_OF(s, m), n ); abort(); }
-#define BINTEST_VERIFYSIZE( s, n ) \
- fprintf( stderr, "> sizeof (" #s ") = %lu\n", static_cast< unsigned long >(sizeof(s)) ); \
- if (sizeof(s) != n) { fprintf( stderr, "### sizeof(" #s ") = %d instead of expected %d!!!\n", sizeof(s), n ); abort(); }
-#define BINTEST_VERIFYALIGNMENT( s, n ) \
- fprintf( stderr, "> alignment of " #s " = %d\n", ALIGNMENT(s, n) ); \
- if (ALIGNMENT(s, n) != n) { fprintf( stderr, "### alignment of " #s " = %d instead of expected %d!!!\n", ALIGNMENT(s, n), n ); abort(); }
-
-#else
-
-#define BINTEST_VERIFYOFFSET( s, m, n ) \
- if (OFFSET_OF(s, m) != n) { fprintf( stderr, "### OFFSET_OF(" #s ", " #m ") = %lu instead of expected %lu!!!\n", static_cast< unsigned long >(OFFSET_OF(s, m)), static_cast< unsigned long >(n) ); abort(); }
-#define BINTEST_VERIFYSIZE( s, n ) \
- if (sizeof(s) != n) { fprintf( stderr, "### sizeof(" #s ") = %lu instead of expected %lu!!!\n", static_cast< unsigned long >(sizeof(s)), static_cast< unsigned long >(n) ); abort(); }
-#define BINTEST_VERIFYALIGNMENT( s, n ) \
- if (ALIGNMENT(s, n) != n) { fprintf( stderr, "### alignment of " #s " = %d instead of expected %d!!!\n", ALIGNMENT(s, n), n ); abort(); }
-
-#endif
-
-#endif
diff --git a/cppu/test/alignment/pass1.cxx b/cppu/test/alignment/pass1.cxx
deleted file mode 100644
index f60446c82639..000000000000
--- a/cppu/test/alignment/pass1.cxx
+++ /dev/null
@@ -1,240 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-
-#include "sal/main.h"
-
-#include <stdio.h>
-#include <vector>
-
-#include <rtl/string.hxx>
-#include <rtl/strbuf.hxx>
-#include <rtl/bootstrap.hxx>
-#include <rtl/process.h>
-
-#include <registry/reflread.hxx>
-
-// starting the executable:
-// -env:UNO_CFG_URL=local;<absolute_path>..\\..\\test\\cfg_data;<absolute_path>\\cfg_update
-// -env:UNO_TYPES=cpputest.rdb
-
-#include <cppuhelper/bootstrap.hxx>
-
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
-#include <com/sun/star/registry/XSimpleRegistry.hpp>
-
-#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) )
-#define OSTR(x) ::rtl::OUStringToOString( x, RTL_TEXTENCODING_ASCII_US )
-
-
-using namespace ::cppu;
-using namespace ::rtl;
-using namespace ::osl;
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-
-
-static void find_all_structs(
- Reference< registry::XRegistryKey > const & xKey,
- ::std::vector< OUString > * pNames )
-{
- if (xKey.is() && xKey->isValid())
- {
- if (xKey->getValueType() == registry::RegistryValueType_BINARY)
- {
- Sequence< sal_Int8 > aBytes( xKey->getBinaryValue() );
- RegistryTypeReader aReader(
- (const sal_uInt8 *)aBytes.getConstArray(),
- aBytes.getLength(), sal_False );
-
- switch (aReader.getTypeClass())
- {
- case RT_TYPE_EXCEPTION:
- case RT_TYPE_STRUCT:
- pNames->push_back( aReader.getTypeName().replace( '/', '.' ) );
- break;
- default:
- break;
- }
- }
-
- Sequence< Reference< registry::XRegistryKey > > keys( xKey->openKeys() );
- Reference< registry::XRegistryKey > const * pKeys = keys.getConstArray();
- for ( sal_Int32 nPos = keys.getLength(); nPos--; )
- {
- find_all_structs( pKeys[ nPos ], pNames );
- }
- }
-}
-
-static OString makeIncludeName( OUString const & name ) SAL_THROW( () )
-{
- return OSTR(name.replace( '.', '/' ));
-}
-static OString makeCppName( OUString const & name ) SAL_THROW( () )
-{
- OStringBuffer buf( 64 );
- OString str( OSTR(name) );
- sal_Int32 n = 0;
- do
- {
- buf.append( str.getToken( 0, '.', n ) );
- if (n >= 0)
- buf.append( "::" );
- }
- while (n >= 0);
- return buf.makeStringAndClear();
-}
-
-//==================================================================================================
-SAL_IMPLEMENT_MAIN()
-{
- sal_Int32 argc = rtl_getAppCommandArgCount();
- if (argc < 1)
- {
- fprintf( stderr, "usage: pass1 pass2_source [typelist_to_stdout]\n" );
- return 1;
- }
-
- try
- {
- // determine types rdb
- OUString rdb_name;
- Bootstrap bootstrap;
- if (!bootstrap.getFrom( OUSTR("UNO_TYPES"), rdb_name ) || !rdb_name.getLength())
- {
- fprintf(
- stderr,
- "### no UNO_TYPES registry found!!!\n\n"
- "usage: pass1 pass2_source [typelist_to_stdout]\n" );
- return 1;
- }
-
- Reference< XComponentContext > xContext( defaultBootstrap_InitialComponentContext() );
-
- // read out all struct names from given registry
- Reference< registry::XSimpleRegistry > xSimReg( createSimpleRegistry() );
- OSL_ASSERT( xSimReg.is() );
- xSimReg->open( rdb_name, sal_True, sal_False );
- OSL_ASSERT( xSimReg->isValid() );
- Reference< registry::XRegistryKey > xKey( xSimReg->getRootKey() );
- OSL_ASSERT( xKey.is() && xKey->isValid() );
-
- ::std::vector< OUString > names;
- names.reserve( 128 );
- find_all_structs( xKey->openKey( OUSTR("UCR") ), &names );
-
- OUString fileName;
- OSL_VERIFY( osl_Process_E_None == rtl_getAppCommandArg( 0, &fileName.pData ) );
- bool bDumpStdOut = (argc > 1);
-
- // generate pass2 output file [and type list]
- OString str( OSTR(fileName) );
- FILE * hPass2 = fopen( str.getStr(), "w" );
- OSL_ASSERT( hPass2 );
-
- size_t nPos;
- for ( nPos = names.size(); nPos--; )
- {
- OUString const & name = names[ nPos ];
- if (bDumpStdOut)
- {
- // type name on stdout
- OString str2( OSTR(name) );
- fprintf( stdout, "%s\n", str2.getStr() );
- }
- // all includes
- OString includeName( makeIncludeName( name ) );
- fprintf( hPass2, "#include <%s.hdl>\n", includeName.getStr() );
- }
- // include diagnose.h
- fprintf(
- hPass2,
- "\n#include <diagnose.h>\n"
- "#include \"sal/main.h\"\n\n"
- "SAL_IMPLEMENT_MAIN()\n{\n" );
- // generate all type checks
- for ( nPos = names.size(); nPos--; )
- {
- OUString const & name = names[ nPos ];
- typelib_TypeDescription * pTD = 0;
- typelib_typedescription_getByName( &pTD, name.pData );
- if (pTD)
- {
- if (! pTD->bComplete)
- {
- typelib_typedescription_complete( &pTD );
- }
- typelib_CompoundTypeDescription * pCTD = (typelib_CompoundTypeDescription *)pTD;
-
- OString cppName( makeCppName( name ) );
- fprintf(
- hPass2, "\tBINTEST_VERIFYSIZE( %s, %ld );\n",
- cppName.getStr(), static_cast< long >(pTD->nSize) );
- fprintf(
- hPass2, "\tBINTEST_VERIFYALIGNMENT( %s, %ld );\n",
- cppName.getStr(), static_cast< long >(pTD->nAlignment) );
- // offset checks
- for ( sal_Int32 nPos2 = pCTD->nMembers; nPos2--; )
- {
- OString memberName( OSTR(pCTD->ppMemberNames[ nPos2 ]) );
- fprintf(
- hPass2, "\tBINTEST_VERIFYOFFSET( %s, %s, %ld );\n",
- cppName.getStr(), memberName.getStr(),
- static_cast< long >(pCTD->pMemberOffsets[ nPos2 ]) );
- }
- typelib_typedescription_release( pTD );
- }
- else
- {
- OString str2( OSTR(name) );
- fprintf( stderr, "### cannot dump type %s!!!\n", str2.getStr() );
- }
- }
- fprintf(
- hPass2,
- "\n\tfprintf( stdout, \"> alignment test succeeded.\\n\" );\n"
- "\treturn 0;\n}\n\n" );
- fclose( hPass2 );
-
- Reference< lang::XComponent > xComp( xContext, UNO_QUERY );
- if (xComp.is())
- {
- xComp->dispose();
- }
- return 0;
- }
- catch (Exception & exc)
- {
- OString str( OUStringToOString( exc.Message, RTL_TEXTENCODING_ASCII_US ) );
- ::fprintf( stderr, "# caught exception: %s\n", str.getStr() );
- return 1;
- }
-}
diff --git a/cppu/test/cascade_mapping/TestMapping.cxx b/cppu/test/cascade_mapping/TestMapping.cxx
deleted file mode 100644
index 724946c5b8c0..000000000000
--- a/cppu/test/cascade_mapping/TestMapping.cxx
+++ /dev/null
@@ -1,194 +0,0 @@
-/*************************************************************************
- *
- * 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 "osl/interlck.h"
-#include "uno/dispatcher.h"
-#include "uno/mapping.hxx"
-
-#include "TestProxy.hxx"
-
-
-#ifdef LOG_LIFECYCLE
-#define LOG_LIFECYCLE_TestMapping
-#endif
-
-#define LOG_LIFECYCLE_TestMapping
-#ifdef LOG_LIFECYCLE_TestMapping
-# include <iostream>
-# define LOG_LIFECYCLE_TestMapping_emit(x) x
-
-#else
-# define LOG_LIFECYCLE_TestMapping_emit(x)
-
-#endif
-
-
-class SAL_DLLPRIVATE TestMapping : public uno_Mapping
-{
-private:
- oslInterlockedCount m_nCount;
- uno_ExtEnvironment * m_pFrom;
- uno_ExtEnvironment * m_pTo;
-
-public:
- explicit TestMapping(uno_Environment * pFrom, uno_Environment * pTo);
- ~TestMapping(void);
-
- void acquire() SAL_THROW(());
- void release() SAL_THROW(());
-
- void SAL_CALL mapInterface(uno_Interface ** ppOut,
- uno_Interface * pUnoI,
- typelib_InterfaceTypeDescription * pTypeDescr
- )
- SAL_THROW_EXTERN_C();
-};
-
-
-extern "C" {
-static void SAL_CALL s_mapInterface(
- uno_Mapping * pMapping,
- void ** ppOut,
- void * pUnoI,
- typelib_InterfaceTypeDescription * pTypeDescr )
- SAL_THROW_EXTERN_C()
-{
- TestMapping * pTestMapping = static_cast<TestMapping *>(pMapping);
- pTestMapping->mapInterface((uno_Interface **)ppOut, (uno_Interface *)pUnoI, pTypeDescr);
-}
-
-
-static void SAL_CALL s_acquire(uno_Mapping * pMapping) SAL_THROW_EXTERN_C()
-{
- TestMapping * pTestMapping = static_cast<TestMapping *>(pMapping);
- pTestMapping->acquire();
-}
-
-
-static void SAL_CALL s_release(uno_Mapping * pMapping) SAL_THROW_EXTERN_C()
-{
- TestMapping * pTestMapping = static_cast<TestMapping * >(pMapping);
- pTestMapping->release();
-}
-
-static void SAL_CALL s_free(uno_Mapping * pMapping) SAL_THROW_EXTERN_C()
-{
- TestMapping * pTestMapping = static_cast<TestMapping * >(pMapping);
- delete pTestMapping;
-}
-}
-
-TestMapping::TestMapping(uno_Environment * pFrom, uno_Environment * pTo)
- SAL_THROW( () )
- : m_nCount(1),
- m_pFrom(reinterpret_cast<uno_ExtEnvironment *>(pFrom)),
- m_pTo (reinterpret_cast<uno_ExtEnvironment *>(pTo))
-{
- LOG_LIFECYCLE_TestMapping_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestMapping::TestMapping", this));
-
- m_pFrom->aBase.acquire(&m_pFrom->aBase);
- m_pTo ->aBase.acquire(&m_pTo ->aBase);
-
- uno_Mapping::acquire = s_acquire;
- uno_Mapping::release = s_release;
- uno_Mapping::mapInterface = s_mapInterface;
-}
-
-TestMapping::~TestMapping(void)
-{
- LOG_LIFECYCLE_TestMapping_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestMapping::~TestMapping", this));
-
- m_pFrom->aBase.release(&m_pFrom->aBase);
- m_pTo ->aBase.release(&m_pTo ->aBase);
-}
-
-
-void TestMapping::acquire() SAL_THROW(())
-{
- if (osl_incrementInterlockedCount(&m_nCount) == 1)
- {
- uno_Mapping * pMapping = this;
-
- ::uno_registerMapping(&pMapping, s_free, &m_pFrom->aBase, &m_pTo->aBase, NULL);
- }
-}
-
-void TestMapping::release() SAL_THROW(())
-{
- if (osl_decrementInterlockedCount(&m_nCount) == 0)
- ::uno_revokeMapping(this);
-}
-
-
-void SAL_CALL TestMapping::mapInterface(
- uno_Interface ** ppOut,
- uno_Interface * pUnoI,
- typelib_InterfaceTypeDescription * pTypeDescr )
- SAL_THROW_EXTERN_C()
-{
- // get object id of uno interface to be wrapped
- rtl_uString * pOId = 0;
- m_pFrom->getObjectIdentifier(m_pFrom, &pOId, pUnoI);
-
- OSL_ASSERT(pOId);
-
- if (*ppOut)
- {
- (*ppOut)->release(*ppOut);
- *ppOut = 0;
- }
-
- // try to get any known interface from target environment
- m_pTo->getRegisteredInterface(m_pTo, (void **)ppOut, pOId, pTypeDescr);
- if (!*ppOut) // not yet there, register new proxy interface
- {
- // try to publish a new proxy (ref count initially 1)
- TestProxy * pTestProxy = new TestProxy(pUnoI, pOId, pTypeDescr, m_pTo, m_pFrom);
-
- // proxy may be exchanged during registration
- m_pTo->registerProxyInterface(m_pTo,(void **)&pTestProxy, TestProxy_free, pOId, pTypeDescr);
-
- *ppOut = pTestProxy;
- }
-
- rtl_uString_release(pOId);
-}
-
-
-extern "C" void SAL_DLLPUBLIC_EXPORT SAL_CALL uno_initEnvironment(uno_Environment * /*pEnv*/)
- SAL_THROW_EXTERN_C()
-{
-}
-
-extern "C" void uno_ext_getMapping(uno_Mapping ** ppMapping,
- uno_Environment * pFrom,
- uno_Environment * pTo )
-{
- *ppMapping = new TestMapping(pFrom, pTo);
-
- ::uno_registerMapping(ppMapping, s_free, pFrom, pTo, NULL);
-}
diff --git a/cppu/test/cascade_mapping/TestMapping.def b/cppu/test/cascade_mapping/TestMapping.def
deleted file mode 100644
index e8b4824657f9..000000000000
--- a/cppu/test/cascade_mapping/TestMapping.def
+++ /dev/null
@@ -1,11 +0,0 @@
-LIBRARY cppu3
-DESCRIPTION 'StarView 3.00 680 m124'
-DATA READ WRITE SHARED
-HEAPSIZE 0
-EXPORTS
- uno_initEnvironment
- uno_ext_getMapping
-
-
-
-
diff --git a/cppu/test/cascade_mapping/TestProxy.cxx b/cppu/test/cascade_mapping/TestProxy.cxx
deleted file mode 100644
index d72e11c2ecab..000000000000
--- a/cppu/test/cascade_mapping/TestProxy.cxx
+++ /dev/null
@@ -1,179 +0,0 @@
-/*************************************************************************
- *
- * 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 "uno/mapping.hxx"
-#include "cppu/EnvDcp.hxx"
-
-#include "../mapping_tester/Mapping.tester.hxx"
-
-#include "TestProxy.hxx"
-
-
-#ifdef LOG_LIFECYCLE
-#define LOG_LIFECYCLE_TestProxy
-#endif
-
-#define LOG_LIFECYCLE_TestProxy
-#ifdef LOG_LIFECYCLE_TestProxy
-# include <iostream>
-# define LOG_LIFECYCLE_TestProxy_emit(x) x
-
-#else
-# define LOG_LIFECYCLE_TestProxy_emit(x)
-
-#endif
-
-
-using namespace com::sun::star;
-
-extern "C" void SAL_CALL TestProxy_free(uno_ExtEnvironment * /*pEnv*/, void * pObject)
- SAL_THROW_EXTERN_C()
-{
- TestProxy * pTestProxy = reinterpret_cast<TestProxy *>(pObject);
- delete pTestProxy;
-}
-
-
-extern "C" {
-static void SAL_CALL s_acquire(uno_Interface * pUnoI) SAL_THROW_EXTERN_C()
-{
- TestProxy * pTestProxy = static_cast<TestProxy *>(pUnoI);
- pTestProxy->acquire();
-}
-
-static void SAL_CALL s_release(uno_Interface * pUnoI) SAL_THROW_EXTERN_C()
-{
- TestProxy * pTestProxy = static_cast<TestProxy *>(pUnoI);
- pTestProxy->release();
-}
-
-static void SAL_CALL s_dispatch(uno_Interface * pUnoI,
- typelib_TypeDescription const * pMemberType,
- void * pReturn,
- void * pArgs[],
- uno_Any ** ppException)
- SAL_THROW_EXTERN_C()
-{
- TestProxy * pThis = static_cast<TestProxy *>(pUnoI);
- pThis->dispatch(pMemberType, pReturn, pArgs, ppException);
-}
-}
-
-TestProxy::TestProxy(uno_Interface * pObject,
- rtl::OUString const & oid,
- typelib_InterfaceTypeDescription * pTypeDescr,
- uno_ExtEnvironment * pFrom_extEnv,
- uno_ExtEnvironment * pTo_extEnv)
- : m_nCount (1),
- m_from_envDcp(pFrom_extEnv->aBase.pTypeName),
- m_to_envDcp (pTo_extEnv ->aBase.pTypeName),
- m_oid (oid),
- m_pTypeDescr (pTypeDescr)
-{
- LOG_LIFECYCLE_TestProxy_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestProxy::TestProxy", this));
-
- // uno_Interface
- uno_Interface::acquire = s_acquire;
- uno_Interface::release = s_release;
- uno_Interface::pDispatcher = s_dispatch;
-
- m_theObject = pObject;
- m_theObject->acquire(m_theObject);
-
- typelib_typedescription_acquire(&pTypeDescr->aBase);
-
- m_pFrom_extEnv = pFrom_extEnv;
- m_pFrom_extEnv->aBase.acquire(&m_pFrom_extEnv->aBase);
-
- m_pTo_extEnv = pTo_extEnv;
- m_pTo_extEnv->aBase.acquire(&m_pTo_extEnv->aBase);
-
- m_pTo_extEnv->registerInterface(m_pTo_extEnv, reinterpret_cast<void **>(&pObject), oid.pData, pTypeDescr);
-}
-
-TestProxy::~TestProxy(void)
-{
- LOG_LIFECYCLE_TestProxy_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestProxy::~TestProxy", this));
-
- m_pTo_extEnv->revokeInterface(m_pTo_extEnv, reinterpret_cast<void *>(m_theObject));
-
- typelib_typedescription_release(&m_pTypeDescr->aBase);
- m_theObject->release(m_theObject);
- m_pFrom_extEnv->aBase.release(&m_pFrom_extEnv->aBase);
- m_pTo_extEnv ->aBase.release(&m_pTo_extEnv->aBase);
-}
-
-void TestProxy::acquire() SAL_THROW(())
-{
- if (osl_incrementInterlockedCount(&m_nCount) == 1)
- {
- uno_Interface * pThis = this;
- m_pTo_extEnv->registerProxyInterface(m_pTo_extEnv,
- (void **)&pThis,
- TestProxy_free,
- m_oid.pData,
- m_pTypeDescr);
- OSL_ASSERT(pThis == this);
- }
-}
-
-void TestProxy::release() SAL_THROW(())
-{
- if (osl_decrementInterlockedCount(&m_nCount) == 0)
- {
- m_pFrom_extEnv->revokeInterface(m_pFrom_extEnv, this);
- }
-}
-
-void TestProxy::dispatch(typelib_TypeDescription const * pMemberType,
- void * pReturn,
- void * pArgs[],
- uno_Any ** ppException)
-{
- {
- rtl::OUString arrow(RTL_CONSTASCII_USTRINGPARAM("-->"));
-
- if (!g_custom.getLength())
- g_custom += m_from_envDcp;
-
- g_custom += arrow;
- g_custom += m_to_envDcp;
-
- m_theObject->pDispatcher(m_theObject, pMemberType, pReturn, pArgs, ppException);
-
- uno_Any * any = (uno_Any *)pReturn;
-
- void * pout = NULL;
-
- uno::Mapping mapping(m_to_envDcp, m_from_envDcp);
- mapping.mapInterface(&pout, any->pReserved, any->pType);
-
- ((uno_Interface *)any->pReserved)->release((uno_Interface*)any->pReserved);
- any->pReserved = pout;
- }
-}
-
diff --git a/cppu/test/cascade_mapping/TestProxy.hxx b/cppu/test/cascade_mapping/TestProxy.hxx
deleted file mode 100644
index 3dae15ee8620..000000000000
--- a/cppu/test/cascade_mapping/TestProxy.hxx
+++ /dev/null
@@ -1,70 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_TestProxy_hxx
-#define INCLUDED_TestProxy_hxx
-
-#include "osl/interlck.h"
-#include "uno/dispatcher.h"
-#include "uno/environment.hxx"
-
-
-extern "C" void SAL_CALL TestProxy_free(uno_ExtEnvironment * pEnv, void * pObject) SAL_THROW_EXTERN_C();
-
-
-class SAL_DLLPRIVATE TestProxy : public uno_Interface
-{
-private:
- uno_Interface * m_theObject;
- uno_ExtEnvironment * m_pFrom_extEnv;
- uno_ExtEnvironment * m_pTo_extEnv;
- oslInterlockedCount m_nCount;
- rtl::OUString m_from_envDcp;
- rtl::OUString m_to_envDcp;
- rtl::OUString m_oid;
- typelib_InterfaceTypeDescription * m_pTypeDescr;
-
-public:
- explicit TestProxy(uno_Interface * pObject,
- rtl::OUString const & oid,
- typelib_InterfaceTypeDescription * pTypeDescr,
- uno_ExtEnvironment * pFrom_env,
- uno_ExtEnvironment * pExtEnvironment);
- ~TestProxy(void);
-
-
- void acquire() SAL_THROW(());
- void release() SAL_THROW(());
-
- void dispatch(typelib_TypeDescription const * pMemberType,
- void * pReturn,
- void * pArgs[],
- uno_Any ** ppException);
-};
-
-
-#endif
diff --git a/cppu/test/cascade_mapping/cascade_mapping.test.pl b/cppu/test/cascade_mapping/cascade_mapping.test.pl
deleted file mode 100755
index 265010a56abb..000000000000
--- a/cppu/test/cascade_mapping/cascade_mapping.test.pl
+++ /dev/null
@@ -1,91 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-my $rc = 0;
-my $comment = "";
-
-
-@tests=(
-"mapping.tester uno:test uno -s path.test \"uno:test-->uno\"",
-"mapping.tester uno uno:test -s path.test \"uno-->uno:test\"",
-"mapping.tester uno:test:bla uno -s path.test \"uno:test:bla-->uno:test-->uno\"",
-"mapping.tester uno uno:test:bla -s path.test \"uno-->uno:test-->uno:test:bla\"",
-"mapping.tester uno:test:bla:blubb uno -s path.test \"uno:test:bla:blubb-->uno:test:bla-->uno:test-->uno\"",
-"mapping.tester uno uno:test:bla:blubb -s path.test \"uno-->uno:test-->uno:test:bla-->uno:test:bla:blubb\"",
-"mapping.tester uno:bla uno:test -s path.test \"uno:bla-->uno-->uno:test\"",
-"mapping.tester uno:test uno:bla -s path.test \"uno:test-->uno-->uno:bla\"",
-"mapping.tester uno:test:blubb uno:bla -s path.test \"uno:test:blubb-->uno:test-->uno-->uno:bla\"",
-"mapping.tester uno:test uno:bla:blubb -s path.test \"uno:test-->uno-->uno:bla-->uno:bla:blubb\"",
-"mapping.tester uno:test:bla uno:test:blubb -s path.test \"uno:test:bla-->uno:test-->uno:test:blubb\"",
-"mapping.tester CPP:bla uno -s path.test \"CPP:bla-->uno:bla-->uno\"",
-"mapping.tester uno CPP:bla -s path.test \"uno-->uno:bla-->CPP:bla\"",
-"mapping.tester CPP uno:bla -s path.test \"CPP-->uno-->uno:bla\"",
-"mapping.tester CPP:bla uno:blubb -s path.test \"CPP:bla-->uno:bla-->uno-->uno:blubb\"",
-"mapping.tester CPP:test:bla uno:test:blubb -s path.test \"CPP:test:bla-->uno:test:bla-->uno:test-->uno:test:blubb\"",
-"mapping.tester CPP:bla CPP -s path.test \"CPP:bla-->uno:bla-->uno-->CPP\"",
-"mapping.tester CPP CPP:bla -s path.test \"CPP-->uno-->uno:bla-->CPP:bla\"",
-"mapping.tester CPP:bla:test CPP -s path.test \"CPP:bla:test-->uno:bla:test-->uno:bla-->uno-->CPP\"",
-"mapping.tester CPP CPP:bla:test -s path.test \"CPP-->uno-->uno:bla-->uno:bla:test-->CPP:bla:test\"",
-"mapping.tester CPP:bla CPP:blubb -s path.test \"CPP:bla-->uno:bla-->uno-->uno:blubb-->CPP:blubb\"",
-"mapping.tester CPP:test:bla CPP:blubb -s path.test \"CPP:test:bla-->uno:test:bla-->uno:test-->uno-->uno:blubb-->CPP:blubb\"",
-"mapping.tester CPP:bla CPP:test:blubb -s path.test \"CPP:bla-->uno:bla-->uno-->uno:test-->uno:test:blubb-->CPP:test:blubb\"",
-"mapping.tester CPP:bae:bla CPP:test:blubb -s path.test \"CPP:bae:bla-->uno:bae:bla-->uno:bae-->uno-->uno:test-->uno:test:blubb-->CPP:test:blubb\"",
-"mapping.tester CPP:test:bla CPP:test:blubb -s path.test \"CPP:test:bla-->uno:test:bla-->uno:test-->uno:test:blubb-->CPP:test:blubb\""
-);
-
-foreach $test (@tests) {
- $output = "";
-
- $cmd = $test;
- open TESTER, $cmd . "|";
- while (<TESTER>) {
- chomp;
-
- $output = $output . "\t" . $_ . "\n";
- }
- close TESTER ;
-
- if ($? != 0) {
- $comment = $comment . "TEST FAILED: " . $cmd . "\n";
- $comment = $comment . $output;
- }
- $rc = $rc + $?;
-}
-
-
-print $comment;
-
-if ($rc == 0) {
- print "*********** SUCCESS\n";
-}
-else {
- print "*********** FAILURE\n";
-}
diff --git a/cppu/test/cascade_mapping/makefile.mk b/cppu/test/cascade_mapping/makefile.mk
deleted file mode 100644
index 1d5434a6b940..000000000000
--- a/cppu/test/cascade_mapping/makefile.mk
+++ /dev/null
@@ -1,90 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := cascade_mappping.test.pl
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-
-
-.INCLUDE : settings.mk
-
-CFLAGS += -fPIC
-
-VERSIONOBJ := # NO GetVersionInfo symbols :-)
-ENVINCPRE := -I$(OUT)$/inc$/$(TARGET)
-
-HLD_DLLPRE := $(DLLPRE)
-DLLPRE :=
-
-
-SHL1TARGET := path.test
-SHL1IMPLIB := i$(SHL1TARGET)
-SHL1OBJS := $(OBJ)$/path.test.obj
-SHL1DEF := path.test.def
-SHL1STDLIBS := $(CPPUHELPERLIB) $(CPPULIB) $(SALLIB)
-.IF "$(GUI)"=="WNT"
-SHL1STDLIBS += $(BIN)$/mapping.tester.lib
-.ENDIF
-
-SHL2TARGET := $(HLD_DLLPRE)bla_uno_uno
-SHL2IMPLIB := i$(SHL2TARGET)
-SHL2OBJS := $(SLO)$/TestMapping.obj $(SLO)$/TestProxy.obj
-SHL2STDLIBS := $(CPPULIB) $(SALHELPERLIB) $(SALLIB)
-SHL2DEF := TestMapping.def
-.IF "$(GUI)"=="WNT"
-SHL2STDLIBS += $(BIN)$/mapping.tester.lib
-.ENDIF
-
-SHL3TARGET := $(HLD_DLLPRE)blubb_uno_uno
-SHL3IMPLIB := i$(SHL3TARGET)
-SHL3OBJS := $(SHL2OBJS)
-SHL3STDLIBS := $(SHL2STDLIBS)
-SHL3DEF := $(SHL2DEF)
-
-SHL4TARGET := $(HLD_DLLPRE)bae_uno_uno
-SHL4IMPLIB := i$(SHL4TARGET)
-SHL4OBJS := $(SHL2OBJS)
-SHL4STDLIBS := $(SHL2STDLIBS)
-SHL4DEF := $(SHL2DEF)
-
-SHL5TARGET := $(HLD_DLLPRE)test_uno_uno
-SHL5IMPLIB := i$(SHL5TARGET)
-SHL5OBJS := $(SHL2OBJS)
-SHL5STDLIBS := $(SHL2STDLIBS)
-SHL5DEF := $(SHL2DEF)
-
-
-.INCLUDE : target.mk
-
-
-ALLTAR: $(BIN)$/$(TARGET)
-
-$(BIN)$/$(TARGET): cascade_mapping.test.pl
- @+$(COPY) $^ $@
diff --git a/cppu/test/cascade_mapping/path.test.cxx b/cppu/test/cascade_mapping/path.test.cxx
deleted file mode 100644
index 1b2ddb1ebdfe..000000000000
--- a/cppu/test/cascade_mapping/path.test.cxx
+++ /dev/null
@@ -1,60 +0,0 @@
-/*************************************************************************
- *
- * 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 "rtl/ustring.hxx"
-
-#include "../mapping_tester/Mapping.tester.hxx"
-
-
-D_CALLEE
-{
- rtl::OUString const method_name(pMethod_name);
-
- if (g_check)
- {
- g_result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tmethod: "));
- g_result += method_name;
- g_result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - mapping purpose path test --> "));
-
- if (g_ref.compareTo(g_custom) == 0)
- {
- g_result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OKAY\n"));
- }
- else
- {
- g_result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED\n"));
- g_result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\t\texpected: "));
- g_result += g_ref;
- g_result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- g_result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\t\t got: "));
- g_result += g_custom;
- g_result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
- }
- }
-}
-
diff --git a/cppu/test/cascade_mapping/path.test.def b/cppu/test/cascade_mapping/path.test.def
deleted file mode 100644
index ab7d8b00c62c..000000000000
--- a/cppu/test/cascade_mapping/path.test.def
+++ /dev/null
@@ -1,8 +0,0 @@
-LIBRARY cppu3
-DESCRIPTION 'StarView 3.00 680 m124'
-DATA READ WRITE SHARED
-HEAPSIZE 0
-EXPORTS
- CALLEE
-
-
diff --git a/cppu/test/cpputest.idl b/cppu/test/cpputest.idl
deleted file mode 100644
index 89302cb02585..000000000000
--- a/cppu/test/cpputest.idl
+++ /dev/null
@@ -1,94 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#ifndef _TEST_CPPUTEST_IDL_
-#define _TEST_CPPUTEST_IDL_
-
-#include <com/sun/star/uno/XInterface.idl>
-#include <com/sun/star/uno/TypeClass.idl>
-
-module test
-{
-
-struct Test1
-{
- short nInt16;
- double dDouble;
- boolean bBool;
-};
-
-struct Test2
-{
- short nInt16;
- Test1 aTest1;
-};
-
-typedef Test1 TdTest1;
-
-struct Test3
-{
- byte nInt8;
- float nFloat;
- double nDouble;
- short nInt16;
- string aString;
- unsigned short nuInt16;
- hyper nInt64;
- long nInt32;
- unsigned hyper nuInt64;
- unsigned long nuInt32;
- com::sun::star::uno::TypeClass eType;
- char wChar;
- TdTest1 td;
- boolean bBool;
- any aAny;
-};
-
-
-struct Base
-{
- long n;
- short o;
-};
-
-struct Base1 : Base
-{
- short p;
-};
-
-struct Base2 : Base1
-{
- double p2;
-};
-
-interface XSimpleInterface : com::sun::star::uno::XInterface
-{
- void method();
-};
-
-}; //module test
-
-#endif
diff --git a/cppu/test/env_substs/env_subst.test.cxx b/cppu/test/env_substs/env_subst.test.cxx
deleted file mode 100644
index 585fcbf02d8a..000000000000
--- a/cppu/test/env_substs/env_subst.test.cxx
+++ /dev/null
@@ -1,95 +0,0 @@
-/*************************************************************************
- *
- * 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/main.h"
-
-#include "uno/environment.hxx"
-
-#include <iostream>
-
-
-using namespace com::sun::star;
-
-static rtl::OUString s_comment;
-
-static void s_test_substituting(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_substituting\n"));
-
- putenv(strdup("UNO_ENV_SUBST:uno:unsafe=uno:affine"));
-
- uno::Environment env(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("uno:unsafe")));
- if (!env.getTypeName().equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("uno:affine"))))
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tFAILURE - expected \"uno:affine\" instead of \""));
- s_comment += env.getTypeName();
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- }
-}
-
-static void s_test_not_substituting(void)
-{
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_not_substituting\n"));
-
- putenv(strdup("UNO_ENV_SUBST:uno:unsafe=uno:affine"));
-
- uno::Environment env(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("uno:affine")));
- if (!env.getTypeName().equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("uno:affine"))))
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tFAILURE - expected \"uno:affine\" instead of \""));
- s_comment += env.getTypeName();
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n"));
- }
-}
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv)
-{
- s_test_substituting();
- s_test_not_substituting();
-
-
- int ret;
- if (s_comment.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
-
- std::cerr
- << argv[0]
- << std::endl
- << rtl::OUStringToOString(s_comment, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
-
diff --git a/cppu/test/env_substs/makefile.mk b/cppu/test/env_substs/makefile.mk
deleted file mode 100644
index 58564ba8cce2..000000000000
--- a/cppu/test/env_substs/makefile.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := env_subst.test
-
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
-
-
-.INCLUDE : settings.mk
-
-
-APP1TARGET := $(TARGET)
-APP1OBJS := $(OBJ)$/env_subst.test.obj
-APP1STDLIBS := $(CPPULIB) $(SALLIB)
-
-
-.INCLUDE : target.mk
diff --git a/cppu/test/env_tester/TestEnvironment.cxx b/cppu/test/env_tester/TestEnvironment.cxx
deleted file mode 100644
index f91f78659316..000000000000
--- a/cppu/test/env_tester/TestEnvironment.cxx
+++ /dev/null
@@ -1,37 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-
-#include "uno/environment.h"
-
-
-extern "C" void SAL_CALL uno_initEnvironment(uno_Environment * /*pEnv*/)
- SAL_THROW_EXTERN_C()
-{
-}
diff --git a/cppu/test/env_tester/TestEnvironment.def b/cppu/test/env_tester/TestEnvironment.def
deleted file mode 100644
index f59a32c4a174..000000000000
--- a/cppu/test/env_tester/TestEnvironment.def
+++ /dev/null
@@ -1,7 +0,0 @@
-LIBRARY cppu3
-DESCRIPTION 'StarView 3.00 680 m124'
-DATA READ WRITE SHARED
-HEAPSIZE 0
-EXPORTS
- uno_initEnvironment
-
diff --git a/cppu/test/env_tester/env.tester.cxx b/cppu/test/env_tester/env.tester.cxx
deleted file mode 100644
index fcc4cbfcd845..000000000000
--- a/cppu/test/env_tester/env.tester.cxx
+++ /dev/null
@@ -1,104 +0,0 @@
-/*************************************************************************
- *
- * 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 <iostream>
-
-#include "sal/main.h"
-#include "rtl/ustring.hxx"
-#include "rtl/string.hxx"
-#include "rtl/alloc.h"
-#include "uno/environment.hxx"
-#include "uno/lbnames.h"
-
-using namespace com::sun::star;
-
-
-static rtl::OUString s_replaceCPP(rtl::OUString const & str)
-{
- rtl::OUString cpp(RTL_CONSTASCII_USTRINGPARAM("CPP"));
-
- rtl::OUString result;
-
- sal_Int32 index_old = 0;
- sal_Int32 index = str.indexOf(cpp, index_old);
- while (index != -1)
- {
- result += str.copy(index_old, index - index_old);
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)));
-
- index_old = index + 3;
- index = str.indexOf(cpp, index_old);
- }
- result += str.copy(index_old);
-
- return result;
-}
-
-
-rtl::OUString register_test(rtl::OUString const & envDcp);
-rtl::OUString purpenv_test(rtl::OUString const & envDcp);
-
-
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
-{
- int ret = 0;
- rtl::OUString message;
-
- if (argc == 2)
- {
- message = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- rtl::OUString envDcp(argv[1], rtl_str_getLength(argv[1]), RTL_TEXTENCODING_ASCII_US);
- envDcp = s_replaceCPP(envDcp);
-
-
- message += register_test(envDcp);
- message += purpenv_test(envDcp);
-
- if (message.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1)
- {
- message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n"));
- ret = 0;
- }
- else
- {
- message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n"));
- ret = -1;
- }
- }
- else
- message = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("<env. descriptor>"));
-
- std::cerr
- << argv[0]
- << " "
- << rtl::OUStringToOString(message, RTL_TEXTENCODING_ASCII_US).getStr()
- << std::endl;
-
- return ret;
-}
diff --git a/cppu/test/env_tester/makefile.mk b/cppu/test/env_tester/makefile.mk
deleted file mode 100644
index c418749e66bf..000000000000
--- a/cppu/test/env_tester/makefile.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := env.tester.bin
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-
-
-.INCLUDE : settings.mk
-.INCLUDE : ../../source/helper/purpenv/export.mk
-
-
-.IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC"
-ObjectFactory_LIB := -lObjectFactory.$(COMID)
-
-.ELSE
-ObjectFactory_LIB := $(LIBPRE) iObjectFactory.$(COMID).lib
-
-.ENDIF
-
-
-APP1TARGET := $(TARGET)
-APP1OBJS := $(OBJ)$/env.tester.obj $(OBJ)$/purpenv.test.obj $(OBJ)$/register.test.obj
-APP1STDLIBS := $(ObjectFactory_LIB) $(CPPULIB) $(SALLIB)
-
-
-SHL1TARGET := purpA_uno_uno
-SHL1IMPLIB := i$(SHL1TARGET)
-SHL1OBJS := $(SLO)$/TestEnvironment.obj
-SHL1STDLIBS := $(CPPULIB) $(SALHELPERLIB) $(SALLIB)
-SHL1DEF := TestEnvironment.def
-
-SHL2TARGET := purpB_uno_uno
-SHL2IMPLIB := i$(SHL2TARGET)
-SHL2OBJS := $(SHL1OBJS)
-SHL2STDLIBS := $(SHL1STDLIBS)
-SHL2DEF := $(SHL1DEF)
-
-
-.INCLUDE : target.mk
diff --git a/cppu/test/env_tester/purpenv.test.cxx b/cppu/test/env_tester/purpenv.test.cxx
deleted file mode 100644
index 42da4d300189..000000000000
--- a/cppu/test/env_tester/purpenv.test.cxx
+++ /dev/null
@@ -1,401 +0,0 @@
-/*************************************************************************
- *
- * 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 <iostream>
-
-#include "sal/main.h"
-
-#include "uno/environment.hxx"
-#include "uno/dispatcher.h"
-
-#include "typelib/typedescription.h"
-
-#include "com/sun/star/uno/Any.h"
-
-#include "../ObjectFactory/ObjectFactory.hxx"
-
-
-using namespace com::sun::star;
-
-
-static rtl::OUString g_usret(RTL_CONSTASCII_USTRINGPARAM("\n"));
-static rtl::OUString g_ustab(RTL_CONSTASCII_USTRINGPARAM("\t"));
-static rtl::OUString g_comment;
-static uno::Environment g_env;
-static bool g_check = 0;
-
-extern "C" { static void s_callee(rtl_uString * pMethod_name)
-{
- if (g_check)
- {
- g_comment += g_ustab;
- g_comment += g_ustab;
- g_comment += rtl::OUString(pMethod_name);
-
- rtl::OUString reason;
- int valid = g_env.isValid(&reason);
-
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("["));
- g_comment += rtl::OUString::valueOf((sal_Int32)valid);
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(","));
- g_comment += reason;
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("]"));
-
- if (!valid)
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE"));
-
- g_comment += g_usret;
- }
-}}
-
-
-static rtl::OUString s_test_registerInterface(rtl::OUString const & envDcp)
-{
- g_env = uno::Environment(envDcp);
-
- g_comment = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_registerInterface"));
- g_comment += g_usret;
-
- rtl::OUString id(RTL_CONSTASCII_USTRINGPARAM("blabla"));
-
- typelib_TypeDescriptionReference * type_XInterface =
- * typelib_static_type_getByTypeClass( typelib_TypeClass_INTERFACE );
-
- typelib_TypeDescription * pRet = NULL;
- typelib_typedescriptionreference_getDescription(&pRet, type_XInterface);
-
- void * pObject = createObject(envDcp, s_callee);
- g_check = 1;
- g_env.get()->pExtEnv->registerInterface(g_env.get()->pExtEnv,
- &pObject,
- id.pData,
- (struct _typelib_InterfaceTypeDescription *)pRet);
- g_check = 0;
-
- g_env.get()->pExtEnv->revokeInterface(g_env.get()->pExtEnv, pObject);
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, pObject);
-
- g_env.clear();
-
- return g_comment;
-}
-
-extern "C" { static void s_freeFunc(struct _uno_ExtEnvironment * /*pEnv*/, void * /*pProxy*/ )
-{
- if (g_check)
- {
- g_comment += g_ustab;
- g_comment += g_ustab;
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("s_freeFunc"));
-
- rtl::OUString reason;
- int valid = g_env.isValid(&reason);
-
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("["));
- g_comment += rtl::OUString::valueOf((sal_Int32)valid);
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(","));
- g_comment += reason;
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("]"));
-
- if (!valid)
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" - FAILURE"));
-
- g_comment += g_usret;
- }
-}}
-
-static rtl::OUString s_test_registerProxyInterface(rtl::OUString const & envDcp)
-{
- g_env = uno::Environment(envDcp);
-
- g_comment = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_registerProxyInterface"));
- g_comment += g_usret;
-
- rtl::OUString id(RTL_CONSTASCII_USTRINGPARAM("blabla"));
-
- typelib_TypeDescriptionReference * type_XInterface =
- * typelib_static_type_getByTypeClass( typelib_TypeClass_INTERFACE );
-
- typelib_TypeDescription * pRet = NULL;
- typelib_typedescriptionreference_getDescription(&pRet, type_XInterface);
-
- void * pObject = createObject(envDcp, s_callee);
- g_check = 1;
- g_env.get()->pExtEnv->registerProxyInterface(g_env.get()->pExtEnv,
- &pObject,
- s_freeFunc,
- id.pData,
- (typelib_InterfaceTypeDescription *)pRet);
- g_check = 0;
-
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, pObject);
- g_check = 1;
- g_env.get()->pExtEnv->revokeInterface(g_env.get()->pExtEnv, pObject);
- g_check = 0;
-
- g_env.clear();
-
-
- return g_comment;
-}
-
-static rtl::OUString s_test_revokeInterface(rtl::OUString const & envDcp)
-{
- g_env = uno::Environment(envDcp);
-
- g_comment = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_revokeInterface"));
- g_comment += g_usret;
-
- rtl::OUString id(RTL_CONSTASCII_USTRINGPARAM("blabla"));
-
- typelib_TypeDescriptionReference * type_XInterface =
- * typelib_static_type_getByTypeClass( typelib_TypeClass_INTERFACE );
-
- typelib_TypeDescription * pRet = NULL;
- typelib_typedescriptionreference_getDescription(&pRet, type_XInterface);
-
- void * pObject = createObject(envDcp, s_callee);
- g_env.get()->pExtEnv->registerInterface(g_env.get()->pExtEnv,
- &pObject,
- id.pData,
- (struct _typelib_InterfaceTypeDescription *)pRet);
-
- g_check = 1;
- g_env.get()->pExtEnv->revokeInterface(g_env.get()->pExtEnv, pObject);
- g_check = 0;
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, pObject);
-
- g_env.clear();
-
- return g_comment;
-}
-
-static rtl::OUString s_test_getObjectIdentifier(rtl::OUString const & envDcp)
-{
- g_env = uno::Environment(envDcp);
-
- g_comment = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_getObjectIdentifier"));
- g_comment += g_usret;
-
- rtl::OUString oId;
- void * pObject = createObject(envDcp, s_callee);
- g_check = 1;
- g_env.get()->pExtEnv->getObjectIdentifier(g_env.get()->pExtEnv, &oId.pData, pObject);
- g_check = 0;
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, pObject);
-
- g_env.clear();
-
- return g_comment;
-}
-
-static rtl::OUString s_test_getRegisteredInterface(rtl::OUString const & envDcp)
-{
- g_env = uno::Environment(envDcp);
-
- g_comment = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_getRegisteredInterface"));
- g_comment += g_usret;
-
- rtl::OUString id(RTL_CONSTASCII_USTRINGPARAM("blabla"));
-
-
- typelib_TypeDescriptionReference * type_XInterface =
- * typelib_static_type_getByTypeClass( typelib_TypeClass_INTERFACE );
-
- typelib_TypeDescription * pRet = NULL;
- typelib_typedescriptionreference_getDescription(&pRet, type_XInterface);
-
- void * pObject = createObject(envDcp, s_callee);
- g_env.get()->pExtEnv->registerInterface(g_env.get()->pExtEnv,
- &pObject,
- id.pData,
- (typelib_InterfaceTypeDescription *)pRet);
-
-
- g_check = 1;
- g_env.get()->pExtEnv->getRegisteredInterface(g_env.get()->pExtEnv, &pObject, id.pData,
- (typelib_InterfaceTypeDescription *)pRet);
- g_check = 0;
-
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, pObject);
- g_env.get()->pExtEnv->revokeInterface(g_env.get()->pExtEnv, pObject);
-
- g_env.clear();
-
- return g_comment;
-}
-
-static rtl::OUString s_test_getRegisteredInterfaces(rtl::OUString const & envDcp)
-{
- g_env = uno::Environment(envDcp);
-
- g_comment = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_getRegisteredInterfaces"));
- g_comment += g_usret;
-
- rtl::OUString id(RTL_CONSTASCII_USTRINGPARAM("blabla"));
-
-
- typelib_TypeDescriptionReference * type_XInterface =
- * typelib_static_type_getByTypeClass( typelib_TypeClass_INTERFACE );
-
- typelib_TypeDescription * pRet = NULL;
- typelib_typedescriptionreference_getDescription(&pRet, type_XInterface);
-
- void * pObject = createObject(envDcp, s_callee);
- g_env.get()->pExtEnv->registerInterface(g_env.get()->pExtEnv,
- &pObject,
- id.pData,
- (typelib_InterfaceTypeDescription *)pRet);
-
- g_check = 1;
- void ** ppObject;
- sal_Int32 nCount;
- g_env.get()->pExtEnv->getRegisteredInterfaces(g_env.get()->pExtEnv, &ppObject, &nCount, rtl_allocateMemory);
- g_check = 0;
-
-
- if (nCount != 1)
- {
- g_comment += g_ustab;
- g_comment += g_ustab;
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("more than one object registered -> FAILURE"));
- g_comment += g_usret;
- }
-
- if (*ppObject != pObject)
- {
- g_comment += g_ustab;
- g_comment += g_ustab;
- g_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("returned object is not the registerd one -> FAILURE"));
- g_comment += g_usret;
- }
-
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, *ppObject);
-
- g_env.get()->pExtEnv->revokeInterface(g_env.get()->pExtEnv, pObject);
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, pObject);
-
- rtl_freeMemory(ppObject);
-
- g_env.clear();
-
- return g_comment;
-}
-
-static rtl::OUString s_test_computeObjectIdentifier(rtl::OUString const & envDcp)
-{
- g_env = uno::Environment(envDcp);
-
- g_comment = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_computeObjectIdentifier"));
- g_comment += g_usret;
-
- rtl::OUString oId;
- void * pObject = createObject(envDcp, s_callee);
- g_check = 1;
- g_env.get()->pExtEnv->computeObjectIdentifier(g_env.get()->pExtEnv, &oId.pData, pObject);
- g_check = 0;
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, pObject);
-
- g_env.clear();
-
- return g_comment;
-}
-
-static rtl::OUString s_test_acquire(rtl::OUString const & envDcp)
-{
- g_env = uno::Environment(envDcp);
-
- g_comment = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_acquire"));
- g_comment += g_usret;
- void * pObject = createObject(envDcp, s_callee);
-
- g_check = 1;
- g_env.get()->pExtEnv->acquireInterface(g_env.get()->pExtEnv, pObject);
- g_check = 0;
-
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, pObject);
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, pObject);
- g_env.clear();
-
- return g_comment;
-}
-
-static rtl::OUString s_test_release(rtl::OUString const & envDcp)
-{
- g_env = uno::Environment(envDcp);
-
- g_comment = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test_release"));
- g_comment += g_usret;
- void * pObject = createObject(envDcp, s_callee);
-
- g_check = 1;
- g_env.get()->pExtEnv->releaseInterface(g_env.get()->pExtEnv, pObject);
- g_check = 0;
-
- g_env.clear();
-
- return g_comment;
-}
-
-
-rtl::OUString purpenv_test(rtl::OUString const & envDcp)
-{
- g_env = uno::Environment(envDcp);
-
- rtl::OUString result;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("purpenv_test"));
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- result += s_test_registerInterface(envDcp);
- result += g_usret;
-
- result += s_test_registerProxyInterface(envDcp);
- result += g_usret;
-
- result += s_test_revokeInterface(envDcp);
- result += g_usret;
-
- result += s_test_getObjectIdentifier(envDcp);
- result += g_usret;
-
- result += s_test_getRegisteredInterface(envDcp);
- result += g_usret;
-
- result += s_test_getRegisteredInterfaces(envDcp);
- result += g_usret;
-
- result += s_test_computeObjectIdentifier(envDcp);
- result += g_usret;
-
- result += s_test_acquire(envDcp);
- result += g_usret;
-
- result += s_test_release(envDcp);
- result += g_usret;
-
- return result;
-}
diff --git a/cppu/test/env_tester/register.test.cxx b/cppu/test/env_tester/register.test.cxx
deleted file mode 100644
index a98a14cac69b..000000000000
--- a/cppu/test/env_tester/register.test.cxx
+++ /dev/null
@@ -1,234 +0,0 @@
-/*************************************************************************
- *
- * 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 <iostream>
-
-#include "sal/main.h"
-#include "rtl/ustring.hxx"
-#include "rtl/string.hxx"
-#include "rtl/alloc.h"
-#include "uno/environment.hxx"
-#include "uno/lbnames.h"
-
-using namespace com::sun::star;
-
-
-static rtl::OUString s_test_getEnvironment(rtl::OUString const & envDcp, void * pContext)
-{
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\ts_test_getEnvironment("));
- result += envDcp;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(", "));
- result += rtl::OUString::valueOf((long)pContext);
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(")\n"));
-
- uno::Environment env(envDcp, pContext);
-
- if (!env.is())
- {
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tFAILURE: couldn't get env.\n"));
- return result;
- }
-
- if (rtl::OUString(env.getTypeName()).compareTo(envDcp))
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tFAILURE: got environment has wrong descriptor.\n"));
-
- if (env.getContext() != pContext)
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tFAILURE: got environment has wrong context.\n"));
-
-
- return result;
-}
-
-static rtl::OUString s_test_regetEnvironment(rtl::OUString const & envDcp1,
- rtl::OUString const & envDcp2 ,
- void * pContext1, void * pContext2)
-{
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\ts_test_regetEnvironment("));
- result += envDcp1;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(", "));
- result += envDcp2;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(", "));
- result += rtl::OUString::valueOf((long)pContext1);
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(", " ));
- result += rtl::OUString::valueOf((long)pContext2);
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(")\n"));
-
- uno::Environment env1(envDcp1, pContext1);
- uno::Environment env2(envDcp2, pContext2);
-
- if (! ((pContext1 == pContext2 && envDcp1 == envDcp2) ? env1.get() == env2.get() : env1.get() != env2.get())
- && env1.is() && env2.is())
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tFAILURE:\n"));
-
- return result;
-}
-
-static rtl::OUString s_test_regetEnvironment(rtl::OUString const & envDcp, void * pContext)
-{
- return s_test_regetEnvironment(envDcp, envDcp, pContext, pContext);
-}
-
-// static rtl::OUString s_test_regetEnvironment(rtl::OUString const & envDcp, void * pContext1, void * pContext2)
-// {
-// return s_test_regetEnvironment(envDcp, envDcp, pContext1, pContext2);
-// }
-
-static rtl::OUString s_test_regetEnvironment(rtl::OUString const & envDcp1, rtl::OUString const & envDcp2, void * pContext)
-{
- return s_test_regetEnvironment(envDcp1, envDcp2, pContext, pContext);
-}
-
-
-static int s_is_registered(rtl::OUString const & envDcp, void * pContext)
-{
- int result = 0;
-
- uno_Environment ** ppEnvs = NULL;
- sal_Int32 nLen = 0;
-
- uno_getRegisteredEnvironments(&ppEnvs, &nLen, rtl_allocateMemory, envDcp.pData);
- for (sal_Int32 i = 0; !result && i < nLen; ++ i)
- {
- result = result || (ppEnvs[i]->pContext == pContext && !rtl::OUString(ppEnvs[i]->pTypeName).compareTo(envDcp));
-
- ppEnvs[i]->release(ppEnvs[i]);
- }
- rtl_freeMemory(ppEnvs);
-
- return result;
-}
-
-static rtl::OUString s_test_uno_getRegisteredEnvironments_registered(rtl::OUString const & envDcp, void * pContext)
-{
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\ts_test_uno_getRegisteredEnvironments_registered("));
- result += envDcp;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(", "));
- result += rtl::OUString::valueOf((long)pContext);
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(")\n"));
-
- uno::Environment env(envDcp, pContext);
-
- if (!env.is() || !s_is_registered(envDcp, pContext))
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tFAILURE:\n"));
-
- return result;
-}
-
-static rtl::OUString s_test_uno_getRegisteredEnvironments_notRegistered(rtl::OUString const & envDcp, void * pContext)
-{
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\ts_test_uno_getRegisteredEnvironments_notRegistered("));
- result += envDcp;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(", "));
- result += rtl::OUString::valueOf((long)pContext);
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(")\n"));
-
- uno::Environment env(envDcp, pContext);
-
- if (!env.is() && !s_is_registered(envDcp, pContext))
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tFAILURE:\n"));
-
- return result;
-}
-
-
-static rtl::OUString s_test_uno_createEnvironment(rtl::OUString const & envDcp, void * pContext)
-{
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\ts_test_uno_createEnvironment("));
- result += envDcp;
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(", "));
- result += rtl::OUString::valueOf((long)pContext);
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(")\n"));
-
- uno_Environment * pEnv = NULL;
- uno_createEnvironment(&pEnv, envDcp.pData, pContext);
-
- if (!pEnv && !s_is_registered(envDcp, pContext))
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tFAILURE:\n"));
-
- if (pEnv)
- pEnv->release(pEnv);
-
- return result;
-}
-
-
-rtl::OUString register_test(rtl::OUString const & envDcp)
-{
- rtl::OUString env_A(envDcp);
- env_A += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":purpA"));
-
- rtl::OUString env_B(envDcp);
- env_B += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":purpB"));
-
- rtl::OUString result;
-
- result = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("registration_test"));
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n"));
-
- result += s_test_getEnvironment(envDcp, NULL);
- result += s_test_getEnvironment(env_A, NULL);
- result += s_test_getEnvironment(env_B, NULL);
-
- result += s_test_regetEnvironment(envDcp, NULL);
- result += s_test_regetEnvironment(envDcp, (void *)0x1);
- result += s_test_regetEnvironment(env_A, NULL) ;
- result += s_test_regetEnvironment(env_A, (void *)0x1);
- result += s_test_regetEnvironment(env_B, NULL) ;
- result += s_test_regetEnvironment(env_B, (void *)0x1);
-
- result += s_test_regetEnvironment(envDcp, env_A, (void *)NULL);
- result += s_test_regetEnvironment(envDcp, env_A, (void *)0x1) ;
- result += s_test_regetEnvironment(envDcp, env_B, (void *)NULL);
- result += s_test_regetEnvironment(envDcp, env_B, (void *)0x1) ;
- result += s_test_regetEnvironment(env_A, env_B, (void *)NULL);
- result += s_test_regetEnvironment(env_A, env_B, (void *)0x1) ;
-
- result += s_test_regetEnvironment(env_A, env_B, (void *)NULL, (void *)0x1);
-
- result += s_test_uno_getRegisteredEnvironments_registered(envDcp, (void *)NULL);
- result += s_test_uno_getRegisteredEnvironments_registered(envDcp, (void *)0x1) ;
- result += s_test_uno_getRegisteredEnvironments_registered(env_A, (void *)NULL);
- result += s_test_uno_getRegisteredEnvironments_registered(env_A, (void *)0x1) ;
- result += s_test_uno_getRegisteredEnvironments_registered(env_B, (void *)NULL);
- result += s_test_uno_getRegisteredEnvironments_registered(env_B, (void *)0x1) ;
-
- result += s_test_uno_getRegisteredEnvironments_notRegistered(envDcp, NULL) ;
- result += s_test_uno_getRegisteredEnvironments_notRegistered(envDcp, (void *)0x1);
- result += s_test_uno_getRegisteredEnvironments_notRegistered(env_A, NULL) ;
- result += s_test_uno_getRegisteredEnvironments_notRegistered(env_A, (void *)0x1);
- result += s_test_uno_getRegisteredEnvironments_notRegistered(env_B, NULL) ;
- result += s_test_uno_getRegisteredEnvironments_notRegistered(env_B, (void *)0x1);
-
- result += s_test_uno_createEnvironment(envDcp, NULL) ;
- result += s_test_uno_createEnvironment(envDcp, (void *)0x1);
- result += s_test_uno_createEnvironment(env_A, NULL) ;
- result += s_test_uno_createEnvironment(env_A, (void *)0x1);
- result += s_test_uno_createEnvironment(env_B, NULL) ;
- result += s_test_uno_createEnvironment(env_B, (void *)0x1);
-
- return result;
-}
diff --git a/cppu/test/language_binding.idl b/cppu/test/language_binding.idl
deleted file mode 100644
index 2a708ad56ee6..000000000000
--- a/cppu/test/language_binding.idl
+++ /dev/null
@@ -1,239 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#ifndef _TEST_LANGUAGE_BINDING_IDL_
-#define _TEST_LANGUAGE_BINDING_IDL_
-
-#include <com/sun/star/uno/XInterface.idl>
-#include <com/sun/star/lang/IllegalArgumentException.idl>
-
-module test
-{
-
-enum TestEnum
-{
- TEST,
- ONE,
- TWO,
- CHECK,
- LOLA,
- PALOO,
- ZA
-};
-
-/**
- * simple c++ types
- */
-struct TestSimple
-{
- boolean Bool;
- char Char;
- byte Byte;
- short Short;
- unsigned short UShort;
- long Long;
- unsigned long ULong;
- hyper Hyper;
- unsigned hyper UHyper;
- float Float;
- double Double;
- test::TestEnum Enum;
-};
-/**
- * equal to max size returned in registers on x86_64
- */
-struct SmallStruct
-{
- hyper a;
- hyper b;
-};
-/**
- * equal to max size returned in registers on ia64
- */
-struct MediumStruct
-{
- hyper a;
- hyper b;
- hyper c;
- hyper d;
-};
-/**
- * bigger than max size returned in registers on ia64
- */
-struct BigStruct
-{
- hyper a;
- hyper b;
- hyper c;
- hyper d;
- hyper e;
- hyper f;
- hyper g;
- hyper h;
-};
-/**
- * all floats, ia64 claims to handle them specially
- */
-struct AllFloats
-{
- float a;
- float b;
- float c;
- float d;
-};
-
-/**
- * complex c++ types
- */
-struct TestElement : test::TestSimple
-{
- string String;
- com::sun::star::uno::XInterface Interface;
- any Any;
-};
-struct TestDataElements : test::TestElement
-{
- sequence<test::TestElement > Sequence;
-};
-
-typedef TestDataElements TestData;
-
-/**
- * Monster test interface to test language binding calls.
- *
- * @author Daniel Boelzle
- */
-interface XLBTestBase : com::sun::star::uno::XInterface
-{
- /**
- * in parameter test, tests by calls reference also (complex types)
- */
- [oneway] void setValues( [in] boolean bBool, [in] char cChar, [in] byte nByte,
- [in] short nShort, [in] unsigned short nUShort,
- [in] long nLong, [in] unsigned long nULong,
- [in] hyper nHyper, [in] unsigned hyper nUHyper,
- [in] float fFloat, [in] double fDouble,
- [in] test::TestEnum eEnum, [in] string aString,
- [in] com::sun::star::uno::XInterface xInterface, [in] any aAny,
- [in] sequence<test::TestElement > aSequence,
- [in] test::TestData aStruct );
- /**
- * inout parameter test
- */
- test::TestData setValues2( [inout] boolean bBool, [inout] char cChar, [inout] byte nByte,
- [inout] short nShort, [inout] unsigned short nUShort,
- [inout] long nLong, [inout] unsigned long nULong,
- [inout] hyper nHyper, [inout] unsigned hyper nUHyper,
- [inout] float fFloat, [inout] double fDouble,
- [inout] test::TestEnum eEnum, [inout] string aString,
- [inout] com::sun::star::uno::XInterface xInterface, [inout] any aAny,
- [inout] sequence<test::TestElement > aSequence,
- [inout] test::TestData aStruct );
-
- /**
- * out parameter test
- */
- test::TestData getValues( [out] boolean bBool, [out] char cChar, [out] byte nByte,
- [out] short nShort, [out] unsigned short nUShort,
- [out] long nLong, [out] unsigned long nULong,
- [out] hyper nHyper, [out] unsigned hyper nUHyper,
- [out] float fFloat, [out] double fDouble,
- [out] test::TestEnum eEnum, [out] string aString,
- [out] com::sun::star::uno::XInterface xInterface, [out] any aAny,
- [out] sequence<test::TestElement > aSequence,
- [out] test::TestData aStruct );
-
- /**
- * register return test 1
- */
- test::SmallStruct echoSmallStruct( [in] test::SmallStruct aStruct );
-
- /**
- * register return test 2
- */
- test::MediumStruct echoMediumStruct( [in] test::MediumStruct aStruct );
-
- /**
- * register return test 3
- */
- test::BigStruct echoBigStruct( [in] test::BigStruct aStruct );
-
- /**
- * register return test 4
- */
- test::AllFloats echoAllFloats( [in] test::AllFloats aStruct );
-
- [attribute] boolean Bool;
- [attribute] byte Byte;
- [attribute] char Char;
- [attribute] short Short;
- [attribute] unsigned short UShort;
- [attribute] long Long;
- [attribute] unsigned long ULong;
- [attribute] hyper Hyper;
- [attribute] unsigned hyper UHyper;
- [attribute] float Float;
- [attribute] double Double;
- [attribute] test::TestEnum Enum;
- [attribute] string String;
- [attribute] com::sun::star::uno::XInterface Interface;
- [attribute] any Any;
- [attribute] sequence<test::TestElement > Sequence;
- [attribute] test::TestData Struct;
-};
-
-
-/**
- * Inherting from monster; adds raiseException().
- *
- * @author Daniel Boelzle
- */
-interface XLanguageBindingTest : test::XLBTestBase
-{
- /**
- * params are there only for dummy, to test if all temp out params will be released.
- */
- test::TestData raiseException( [out] boolean bBool, [out] char cChar, [out] byte nByte,
- [out] short nShort, [out] unsigned short nUShort,
- [out] long nLong, [out] unsigned long nULong,
- [out] hyper nHyper, [out] unsigned hyper nUHyper,
- [out] float fFloat, [out] double fDouble,
- [out] test::TestEnum eEnum, [out] string aString,
- [out] com::sun::star::uno::XInterface xInterface, [out] any aAny,
- [out] sequence<test::TestElement > aSequence,
- [out] test::TestData aStruct )
- raises( com::sun::star::lang::IllegalArgumentException );
-
- /**
- * raises runtime exception
- */
- [attribute] long RuntimeException;
-};
-
-}; // test
-
-
-#endif
diff --git a/cppu/test/makefile.mk b/cppu/test/makefile.mk
deleted file mode 100644
index 8eecf6bbf452..000000000000
--- a/cppu/test/makefile.mk
+++ /dev/null
@@ -1,156 +0,0 @@
-#*************************************************************************
-#
-# 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=testcppu
-TARGET= testcppu
-LIBTARGET=NO
-ENABLE_EXCEPTIONS=TRUE
-NO_BSYMBOLIC=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-UNOUCRDEP=$(SOLARBINDIR)$/udkapi.rdb
-UNOUCRRDB=$(SOLARBINDIR)$/udkapi.rdb
-UNOUCROUT=$(OUT)$/inc$/test
-INCPRE+=$(OUT)$/inc$/test
-
-OBJFILES= \
- $(OBJ)$/testcppu.obj \
- $(OBJ)$/test_di.obj \
- $(OBJ)$/test_Cincludes.obj
-# $(OBJ)$/test_cuno.obj \
-# $(OBJ)$/test_sec.obj \
-
-APP1TARGET= testcppu
-APP1OBJS= \
- $(OBJ)$/testcppu.obj \
- $(OBJ)$/test_di.obj
-# $(OBJ)$/test_cuno.obj
-# $(OBJ)$/test_sec.obj
-
-APP1STDLIBS+= \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALHELPERLIB) \
- $(SALLIB)
-
-APP1DEF=$(MISC)$/$(APP1TARGET).def
-
-ALLIDLFILES:= \
- cpputest.idl \
- language_binding.idl \
- alignment.idl
-
-
-APP2TARGET := Mapping.test
-APP2OBJS := $(OBJ)$/Mapping.test.obj
-APP2STDLIBS := $(CPPULIB) $(SALLIB)
-
-APP3TARGET := Environment.test
-APP3OBJS := $(OBJ)$/Environment.test.obj
-APP3STDLIBS := $(CPPULIB) $(SALLIB)
-
-APP4TARGET := IdentityMapping.test
-APP4OBJS := $(OBJ)$/IdentityMapping.test.obj
-APP4STDLIBS := $(CPPULIB) $(SALLIB)
-
-
-
-# --- Targets ------------------------------------------------------
-
-.IF "$(depend)" == ""
-ALL : $(BIN)$/testcppu.rdb unoheader ALLTAR
-.ELSE
-ALL: ALLDEP
-.ENDIF
-
-.IF "$(COM)" == "MSC"
-.IF "$(debug)" != ""
-CFLAGS += /Ob0
-.ENDIF
-.ENDIF
-
-.IF "$(extra_mapping)" != ""
-CFLAGS += -DEXTRA_MAPPING
-.ENDIF
-
-.INCLUDE : target.mk
-
-CPPUMAKERFLAGS = -L
-
-TYPES:= -Ttest.XLanguageBindingTest \
- -Ttest.XSimpleInterface \
- -Ttest.Test1 \
- -Ttest.Test2 \
- -Ttest.TdTest1 \
- -Ttest.Test3 \
- -Ttest.Base \
- -Ttest.Base1 \
- -Ttest.Base2 \
- -Tcom.sun.star.lang.XMultiServiceFactory \
- -Tcom.sun.star.lang.XSingleServiceFactory \
- -Tcom.sun.star.lang.XInitialization \
- -Tcom.sun.star.lang.XServiceInfo \
- -Tcom.sun.star.lang.XEventListener \
- -Tcom.sun.star.lang.XTypeProvider \
- -Tcom.sun.star.lang.DisposedException \
- -Tcom.sun.star.registry.XSimpleRegistry \
- -Tcom.sun.star.registry.XRegistryKey \
- -Tcom.sun.star.loader.XImplementationLoader \
- -Tcom.sun.star.registry.XImplementationRegistration \
- -Tcom.sun.star.lang.XComponent \
- -Tcom.sun.star.uno.XComponentContext \
- -Tcom.sun.star.container.XSet \
- -Tcom.sun.star.container.XNameContainer \
- -Tcom.sun.star.uno.TypeClass \
- -Tcom.sun.star.uno.XReference \
- -Tcom.sun.star.uno.XAdapter \
- -Tcom.sun.star.uno.XAggregation \
- -Tcom.sun.star.uno.XWeak \
- -Tcom.sun.star.beans.XPropertySet \
- -Tcom.sun.star.reflection.XIdlClassProvider \
- -Tcom.sun.star.container.XHierarchicalNameAccess \
- -Tcom.sun.star.uno.XCurrentContext
-
-$(BIN)$/testcppu.rdb: $(ALLIDLFILES)
- idlc -I$(PRJ) -I$(SOLARIDLDIR) -O$(BIN) $?
- regmerge $@ /UCR $(BIN)$/{$(?:f:s/.idl/.urd/)}
- regmerge $@ / $(UNOUCRRDB)
- touch $@
-
-# regcomp -register -r $@ -c javaloader.dll
-# regcomp -register -r $@ -c jen.dll
-
-unoheader: $(BIN)$/testcppu.rdb
- cppumaker $(CPPUMAKERFLAGS) -BUCR -O$(UNOUCROUT) $(TYPES) $(BIN)$/testcppu.rdb
-# cunomaker -BUCR -O$(UNOUCROUT) $(TYPES) $(BIN)$/testcppu.rdb
-
diff --git a/cppu/test/mapping_tester/Mapping.tester.hxx b/cppu/test/mapping_tester/Mapping.tester.hxx
deleted file mode 100644
index 6a2573a105f8..000000000000
--- a/cppu/test/mapping_tester/Mapping.tester.hxx
+++ /dev/null
@@ -1,75 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_Mapping_tester_hxx
-#define INCLUDED_Mapping_tester_hxx
-
-
-#include "../ObjectFactory/callee.hxx"
-
-
-#ifdef CPPU_TEST_MAPPING_TESTER_TESTS_IMPL
-# define CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT SAL_DLLPUBLIC_EXPORT
-
-#elif defined(CPPU_TEST_MAPPING_TESTER_TESTS_LIB)
-# define CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT extern
-
-#elif defined(__GNUC__) && defined(HAVE_GCC_VISIBILITY_FEATURE)
-# define CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT extern __attribute__ ((weak))
-
-#elif defined(__SUNPRO_CC)
-# define CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT extern
- extern rtl::OUString g_from_envDcp;
- extern rtl::OUString g_to_envDcp;
- extern rtl::OUString g_ref;
- extern rtl::OUString g_custom;
- extern rtl::OUString g_result;
- extern int g_check;
-# pragma weak g_from_envDcp
-# pragma weak g_to_envDcp
-# pragma weak g_ref
-# pragma weak g_custom
-# pragma weak g_result
-# pragma weak g_check
-
-#else
-# define CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT SAL_DLLPUBLIC_IMPORT
-
-#endif
-
-CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT rtl::OUString g_from_envDcp;
-CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT rtl::OUString g_to_envDcp;
-CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT rtl::OUString g_ref;
-CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT rtl::OUString g_custom;
-CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT rtl::OUString g_result;
-CPPU_TEST_MAPPING_TESTER_TESTS_EXPORT int g_check;
-
-
-#define D_CALLEE extern "C" void CALLEE(rtl_uString * pMethod_name)
-
-
-#endif
diff --git a/cppu/test/mapping_tester/makefile.mk b/cppu/test/mapping_tester/makefile.mk
deleted file mode 100644
index db62dcd5b14a..000000000000
--- a/cppu/test/mapping_tester/makefile.mk
+++ /dev/null
@@ -1,63 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := mapping.tester
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-
-
-.INCLUDE : settings.mk
-
-VERSIONOBJ := # NO GetVersionInfo symbols :-)
-ENVINCPRE := -I$(OUT)$/inc$/$(TARGET)
-#CDEFS += -DLOG_LIFECYCLE
-
-.IF "$(COM)" == "GCC"
-LINKFLAGS += -rdynamic
-.ENDIF
-
-
-.IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC"
-ObjectFactory_LIB := -lObjectFactory.$(COMID)
-
-.ELSE
-ObjectFactory_LIB := $(LIBPRE) iObjectFactory.$(COMID).lib
-
-.ENDIF
-
-
-APP1TARGET := mapping.tester
-APP1OBJS := $(OBJ)$/mapping.tester.obj
-APP1STDLIBS := $(ObjectFactory_LIB) $(SALLIB) $(CPPULIB) $(CPPUHELPERLIB)
-
-
-.INCLUDE : target.mk
-
-
diff --git a/cppu/test/mapping_tester/mapping.tester.cxx b/cppu/test/mapping_tester/mapping.tester.cxx
deleted file mode 100644
index bed213daefba..000000000000
--- a/cppu/test/mapping_tester/mapping.tester.cxx
+++ /dev/null
@@ -1,456 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-#define CPPU_TEST_MAPPING_TESTER_TESTS_IMPL
-
-
-#include <iostream>
-
-#include "sal/main.h"
-#include "osl/module.hxx"
-#include "rtl/ustring.hxx"
-#include "uno/environment.hxx"
-#include "uno/mapping.hxx"
-
-#include "../ObjectFactory/ObjectFactory.hxx"
-#include "Mapping.tester.hxx"
-
-using namespace ::com::sun::star;
-
-
-
-static uno::Mapping s_getMapping(rtl::OUString const & from_envDcp,
- rtl::OUString const & to_envDcp,
- uno::Environment * pSourceEnv,
- uno::Environment * pTargetEnv)
-{
- uno::Environment sourceEnv(from_envDcp);
- uno::Environment targetEnv(to_envDcp);
-
- uno::Mapping mapping(sourceEnv, targetEnv);
-
- if (pSourceEnv)
- *pSourceEnv = sourceEnv;
-
- if (pTargetEnv)
- *pTargetEnv = targetEnv;
-
- return mapping;
-}
-
-static void * s_mapObject(rtl::OUString const & from_envDcp,
- rtl::OUString const & to_envDcp,
- void * object,
- uno::Environment * pSourceEnv,
- uno::Environment * pTargetEnv)
-{
- uno::Mapping mapping(s_getMapping(from_envDcp, to_envDcp, pSourceEnv, pTargetEnv));
-
- void * mapped_object = NULL;
-
- typelib_TypeDescriptionReference * type_XInterface =
- * typelib_static_type_getByTypeClass( typelib_TypeClass_INTERFACE );
-
- typelib_InterfaceTypeDescription * pTXInterfaceDescr = 0;
-
- TYPELIB_DANGER_GET( (typelib_TypeDescription **) &pTXInterfaceDescr, type_XInterface );
- mapping.mapInterface(&mapped_object, object, pTXInterfaceDescr);
- TYPELIB_DANGER_RELEASE( (typelib_TypeDescription *) pTXInterfaceDescr );
-
- return mapped_object;
-}
-
-
-static rtl::OUString s_test_regetMapping(void)
-{
- g_result = rtl::OUString();
- g_custom = rtl::OUString();
-
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\tmapping reget test --> "));
-
- uno::Mapping mapping1(g_from_envDcp, g_to_envDcp);
- uno::Mapping mapping2(g_from_envDcp, g_to_envDcp);
-
- if (mapping2.get() == mapping1.get())
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OKAY\n"));
-
- else
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED\n"));
-
- result += g_result;
-
- return result;
-}
-
-static rtl::OUString s_test_mapObject(Callee * pCallee)
-{
- g_result = rtl::OUString();
- g_custom = rtl::OUString();
-
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\tobject map test --> "));
-
- void * pObject = createObject(g_to_envDcp, pCallee);
-
- uno::Environment sourceEnv;
- uno::Environment targetEnv;
- void * mapped_object = s_mapObject(g_to_envDcp, g_from_envDcp, pObject, &sourceEnv, &targetEnv);
- sourceEnv.get()->pExtEnv->releaseInterface(sourceEnv.get()->pExtEnv, pObject);
- sourceEnv.clear();
-
- if (mapped_object)
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OKAY\n"));
-
- else
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED\n"));
-
- targetEnv.get()->pExtEnv->releaseInterface(targetEnv.get()->pExtEnv, mapped_object);
-
- result += g_result;
-
- return result;
-}
-
-static rtl::OUString s_test_remapObject(Callee * pCallee)
-{
- g_result = rtl::OUString();
- g_custom = rtl::OUString();
-
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\tobject remap test --> "));
-
- void * pObject = createObject(g_to_envDcp, pCallee);
-
- uno::Environment sourceEnv;
- uno::Environment targetEnv;
- void * mapped_object1 = s_mapObject(g_to_envDcp, g_from_envDcp, pObject, &sourceEnv, &targetEnv);
- void * mapped_object2 = s_mapObject(g_to_envDcp, g_from_envDcp, pObject, NULL, NULL);
- sourceEnv.get()->pExtEnv->releaseInterface(sourceEnv.get()->pExtEnv, pObject);
- sourceEnv.clear();
-
- if (mapped_object2 == mapped_object1)
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OKAY\n"));
-
- else
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED\n"));
-
- targetEnv.get()->pExtEnv->releaseInterface(targetEnv.get()->pExtEnv, mapped_object1);
- targetEnv.get()->pExtEnv->releaseInterface(targetEnv.get()->pExtEnv, mapped_object2);
-
- result += g_result;
-
- return result;
-}
-
-static rtl::OUString s_test_mapBackObject(Callee * pCallee)
-{
- g_result = rtl::OUString();
- g_custom = rtl::OUString();
-
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\tobject map back test --> "));
-
- void * pObject = createObject(g_to_envDcp, pCallee);
-
- uno::Environment to_sourceEnv;
- uno::Environment to_targetEnv;
- void * mapped_object = s_mapObject(g_to_envDcp,
- g_from_envDcp,
- pObject,
- &to_sourceEnv,
- &to_targetEnv);
-
- uno::Environment back_sourceEnv;
- uno::Environment back_targetEnv;
- void * mapped_back_object = s_mapObject(g_from_envDcp,
- g_to_envDcp,
- mapped_object,
- &back_sourceEnv,
- &back_targetEnv);
-
- if (back_targetEnv.get() != to_sourceEnv.get())
- abort();
-
- if (back_sourceEnv.get() != to_targetEnv.get())
- abort();
-
- if (pObject == mapped_back_object)
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OKAY\n"));
-
- else
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED\n"));
-
- to_sourceEnv .get()->pExtEnv->releaseInterface(to_sourceEnv .get()->pExtEnv, pObject);
- to_targetEnv .get()->pExtEnv->releaseInterface(to_targetEnv .get()->pExtEnv, mapped_object);
- back_targetEnv.get()->pExtEnv->releaseInterface(back_targetEnv.get()->pExtEnv, mapped_back_object);
-
- result += g_result;
-
- return result;
-}
-
-static rtl::OUString s_test_objectRegistered(Callee * pCallee)
-{
- g_result = rtl::OUString();
- g_custom = rtl::OUString();
-
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\tobject registered test --> "));
-
- void * pObject = createObject(g_to_envDcp, pCallee);
-
- uno::Environment sourceEnv;
- uno::Environment targetEnv;
- void * mapped_object = s_mapObject(g_to_envDcp,
- g_from_envDcp,
- pObject,
- &sourceEnv,
- &targetEnv);
-
- if (sourceEnv.get() == targetEnv.get())
- {
- if (mapped_object != pObject)
- abort();
- }
- else
- {
- typelib_TypeDescriptionReference * type_XInterface =
- * typelib_static_type_getByTypeClass( typelib_TypeClass_INTERFACE );
-
- typelib_InterfaceTypeDescription * pTXInterfaceDescr = 0;
- TYPELIB_DANGER_GET( (typelib_TypeDescription **) &pTXInterfaceDescr, type_XInterface );
-
- rtl_uString * pOId = 0;
- targetEnv.get()->pExtEnv->getObjectIdentifier(targetEnv.get()->pExtEnv, &pOId, mapped_object);
-
- void * pOut = NULL;
-
- targetEnv.get()->pExtEnv->getRegisteredInterface(targetEnv.get()->pExtEnv,
- &pOut,
- pOId,
- pTXInterfaceDescr);
-
- TYPELIB_DANGER_RELEASE( (typelib_TypeDescription *) pTXInterfaceDescr );
-
- if (mapped_object == pOut)
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OKAY\n"));
-
- else
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED\n"));
-
-
- targetEnv.get()->pExtEnv->releaseInterface(targetEnv.get()->pExtEnv, pOut);
- }
-
- sourceEnv.get()->pExtEnv->releaseInterface(sourceEnv.get()->pExtEnv, pObject);
- targetEnv.get()->pExtEnv->releaseInterface(targetEnv.get()->pExtEnv, mapped_object);
-
- result += g_result;
-
- return result;
-}
-
-
-// static void s_test_mappingNotEqual(char const * source1Name, char const * dest1Name,
-// char const * source2Name, char const * dest2Name)
-// {
-// rtl::OUString source1EnvName(source1Name, rtl_str_getLength(source1Name), RTL_TEXTENCODING_ASCII_US);
-// rtl::OUString dest1EnvName (dest1Name, rtl_str_getLength(dest1Name), RTL_TEXTENCODING_ASCII_US);
-
-// rtl::OUString source2EnvName(source2Name, rtl_str_getLength(source2Name), RTL_TEXTENCODING_ASCII_US);
-// rtl::OUString dest2EnvName (dest2Name, rtl_str_getLength(dest2Name), RTL_TEXTENCODING_ASCII_US);
-
-// uno::Mapping mapping1(s_getMapping(source1EnvName, dest1EnvName, NULL, NULL));
-// uno::Mapping mapping2(s_getMapping(source2EnvName, dest2EnvName, NULL, NULL));
-
-// if (mapping2.get() == mapping1.get())
-// {
-// // fprintf(stderr, "***************** can not reget mapping\n");
-// abort();
-// }
-// }
-
-static rtl::OUString s_test_call(Callee * pCallee)
-{
- g_result = rtl::OUString();
- g_custom = rtl::OUString();
-
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\tobject call test --> "));
-
- void * pObject = createObject(g_to_envDcp, pCallee);
-
- uno::Environment sourceEnv;
- uno::Environment targetEnv;
- void * mapped_object = s_mapObject(g_to_envDcp, g_from_envDcp, pObject, &sourceEnv, &targetEnv);
- sourceEnv.get()->pExtEnv->releaseInterface(sourceEnv.get()->pExtEnv, pObject);
- sourceEnv.clear();
-
- g_check = 1;
- callObject(g_from_envDcp, mapped_object);
- g_check = 0;
-
- targetEnv.get()->pExtEnv->releaseInterface(targetEnv.get()->pExtEnv, mapped_object);
-
- result += g_result;
-
- return result;
-}
-
-
-static rtl::OString test_mapping_a(char const * pfrom_envDcp,
- char const * pto_envDcp,
- Callee * pCallee,
- char const * pRef)
-{
- g_from_envDcp = rtl::OUString(pfrom_envDcp, rtl_str_getLength(pfrom_envDcp), RTL_TEXTENCODING_ASCII_US);
- g_to_envDcp = rtl::OUString(pto_envDcp, rtl_str_getLength(pto_envDcp), RTL_TEXTENCODING_ASCII_US);
- g_ref = rtl::OUString(pRef, rtl_str_getLength(pRef), RTL_TEXTENCODING_ASCII_US);
-
- rtl::OUString result;
-
- g_check = 0;
-
- result += s_test_regetMapping ();
- result += s_test_objectRegistered(pCallee);
- result += s_test_remapObject (pCallee);
- result += s_test_mapBackObject (pCallee);
- result += s_test_mapObject (pCallee);
- result += s_test_call (pCallee);
-
- return rtl::OUStringToOString(result, RTL_TEXTENCODING_ASCII_US);
-}
-
-
-static rtl::OString s_replaceCPP(rtl::OString const & str)
-{
- rtl::OString result;
-
- sal_Int32 index_old = 0;
- sal_Int32 index = str.indexOf("CPP", index_old);
- while (index != -1)
- {
- result += str.copy(index_old, index - index_old);
- result += rtl::OString(CPPU_STRINGIFY(CPPU_ENV));
-
- index_old = index + 3;
- index = str.indexOf("CPP", index_old);
- }
- result += str.copy(index_old);
-
- return result;
-}
-
-
-extern "C" { static void s_dummy(rtl_uString * pMethod_name)
-{
- rtl::OUString result(RTL_CONSTASCII_USTRINGPARAM("\t\tmethod: "));
- result += rtl::OUString(pMethod_name);
- result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" -dummy-\n"));
-
- g_result = result;
-}}
-
-static Callee * s_pCustomCallee = s_dummy;
-
-extern "C" { static void s_callee(rtl_uString * pMethod_name)
-{
- if (rtl::OUString(pMethod_name).equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XInterface::queryInterface"))))
- {
- rtl::OUString tmp;
-
- if (!g_from_envDcp.match(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))))
- {
- tmp += g_from_envDcp;
- tmp += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-->"));
- }
-
- tmp += g_custom;
-
- if (!g_to_envDcp.match(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO))))
- {
- tmp += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-->"));
- tmp += g_to_envDcp;
- }
-
- g_custom = tmp;
- s_pCustomCallee(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XInterface::queryInterface")).pData);
- }
- else
- s_pCustomCallee(pMethod_name);
-}}
-
-
-SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
-{
- int ret = 0;
- rtl::OString message;
-
- if (argc == 3 || argc == 6)
- {
- rtl::OString from_envDcp(argv[1]);
- from_envDcp = s_replaceCPP(from_envDcp);
-
- rtl::OString to_envDcp(argv[2]);
- to_envDcp = s_replaceCPP(to_envDcp);
-
- osl::Module module;
-
- rtl::OString ref;
- if (argc == 6 && rtl::OString(argv[3]).equals(rtl::OString("-s")))
- {
- rtl::OUString libName(argv[4], rtl_str_getLength(argv[4]), RTL_TEXTENCODING_ASCII_US);
- libName += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SAL_DLLEXTENSION));
- module.load(libName);
-
- s_pCustomCallee = (Callee *)module.getFunctionSymbol(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CALLEE")));
- if (!s_pCustomCallee)
- abort();
-
- ref = s_replaceCPP(rtl::OString(argv[5]));
- }
-
- message += rtl::OString("TESTING: ");
- message += from_envDcp;
- message += rtl::OString("-->");
- message += to_envDcp;
- message += rtl::OString("\n");
-
- message += test_mapping_a(from_envDcp.getStr(), to_envDcp.getStr(), s_callee, ref);
-
- if (message.indexOf(rtl::OString("FAILED")) == -1)
- message += rtl::OString("TESTS PASSED\n");
-
- else
- {
- message += rtl::OString("TESTS _NOT_ PASSED\n");
- ret = -1;
- }
- }
- else
- message = "Usage: <source env. dcp> <destination env. dcp> [-s testfun <ref. string>]\n";
-
-
- std::cout << message.getStr();
-
- return ret;
-}
diff --git a/cppu/test/purpenvhelper/TestEnv.cxx b/cppu/test/purpenvhelper/TestEnv.cxx
deleted file mode 100644
index 65a91230dd03..000000000000
--- a/cppu/test/purpenvhelper/TestEnv.cxx
+++ /dev/null
@@ -1,129 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-
-
-#include "cppu/EnvDcp.hxx"
-
-#include "cppu/helper/purpenv/Environment.hxx"
-#include "cppu/helper/purpenv/Mapping.hxx"
-
-
-
-#define LOG_LIFECYCLE_TestEnv
-#ifdef LOG_LIFECYCLE_TestEnv
-# include <iostream>
-# define LOG_LIFECYCLE_TestEnv_emit(x) x
-
-#else
-# define LOG_LIFECYCLE_TestEnv_emit(x)
-
-#endif
-
-
-class SAL_DLLPRIVATE TestEnv : public cppu::Enterable
-{
- int m_inCount;
-
- virtual ~TestEnv(void);
-
-public:
- explicit TestEnv(void);
-
-protected:
- virtual void v_enter(void);
- virtual void v_leave(void);
-
- virtual void v_callInto_v(uno_EnvCallee * pCallee, va_list * pParam);
- virtual void v_callOut_v (uno_EnvCallee * pCallee, va_list * pParam);
-
- virtual int v_isValid (rtl::OUString * pReason);
-};
-
-TestEnv::TestEnv(void)
- : m_inCount(0)
-{
- LOG_LIFECYCLE_TestEnv_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestEnv::TestEnv(...)", this));
-}
-
-TestEnv::~TestEnv(void)
-{
- LOG_LIFECYCLE_TestEnv_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestEnv::~TestEnv(void)", this));
-}
-
-
-void TestEnv::v_callInto_v(uno_EnvCallee * pCallee, va_list * pParam)
-{
- ++ m_inCount;
- pCallee(pParam);
- -- m_inCount;
-}
-
-void TestEnv::v_callOut_v(uno_EnvCallee * pCallee, va_list * pParam)
-{
- -- m_inCount;
- pCallee(pParam);
- ++ m_inCount;
-}
-
-void TestEnv::v_enter(void)
-{
- ++ m_inCount;
-}
-
-void TestEnv::v_leave(void)
-{
- -- m_inCount;
-}
-
-int TestEnv::v_isValid(rtl::OUString * pReason)
-{
- int result = m_inCount & 1;
-
- if (result)
- *pReason = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OK"));
-
- else
- *pReason = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("not entered/invoked"));
-
- return result;
-}
-
-extern "C" void SAL_CALL uno_initEnvironment(uno_Environment * pEnv) SAL_THROW_EXTERN_C()
-{
- cppu::helper::purpenv::Environment_initWithEnterable(pEnv, new TestEnv());
-}
-
-extern "C" void uno_ext_getMapping(uno_Mapping ** ppMapping,
- uno_Environment * pFrom,
- uno_Environment * pTo )
-{
- cppu::helper::purpenv::createMapping(ppMapping, pFrom, pTo);
-}
-
diff --git a/cppu/test/purpenvhelper/TestEnv.def b/cppu/test/purpenvhelper/TestEnv.def
deleted file mode 100644
index 1444d92c13fa..000000000000
--- a/cppu/test/purpenvhelper/TestEnv.def
+++ /dev/null
@@ -1,8 +0,0 @@
-HEAPSIZE 0
-EXPORTS
- uno_initEnvironment
- uno_ext_getMapping
-
-
-
-
diff --git a/cppu/test/purpenvhelper/makefile.mk b/cppu/test/purpenvhelper/makefile.mk
deleted file mode 100644
index 3d9b9eaedcbf..000000000000
--- a/cppu/test/purpenvhelper/makefile.mk
+++ /dev/null
@@ -1,54 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := purpenvhelper.test.pl
-
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
-
-
-.INCLUDE : settings.mk
-.INCLUDE : ../../source/helper/purpenv/export.mk
-
-
-SHL1TARGET := TestEnv_uno_uno
-SHL1IMPLIB := i$(SHL1TARGET)
-SHL1OBJS := $(SLO)$/TestEnv.obj
-SHL1STDLIBS := $(purpenv_helper_LIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB)
-SHL1DEF := TestEnv.def
-
-
-.INCLUDE : target.mk
-
-ALLTAR: $(BIN)$/$(TARGET)
-
-$(BIN)$/$(TARGET): purpenvhelper.test.pl
- @+$(COPY) $^ $@
diff --git a/cppu/test/purpenvhelper/purpenvhelper.test.pl b/cppu/test/purpenvhelper/purpenvhelper.test.pl
deleted file mode 100755
index aa5605f71416..000000000000
--- a/cppu/test/purpenvhelper/purpenvhelper.test.pl
+++ /dev/null
@@ -1,67 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-my $rc = 0;
-my $comment = "";
-
-
-@tests=(
- "env.tester.bin uno:TestEnv"
-);
-
-foreach $test (@tests) {
- $output = "";
-
- $cmd = $test;
- open TESTER, $cmd . "|";
- while (<TESTER>) {
- chomp;
-
- $output = $output . "\t" . $_ . "\n";
- }
- close TESTER ;
-
- if ($? != 0) {
- $comment = $comment . "TEST FAILED: " . $cmd . "\n";
- $comment = $comment . $output;
- }
- $rc = $rc + $?;
-}
-
-
-print $comment;
-
-if ($rc == 0) {
- print "*********** SUCCESS\n";
-}
-else {
- print "*********** FAILURE\n";
-}
diff --git a/cppu/test/purpose_envs/makefile.mk b/cppu/test/purpose_envs/makefile.mk
deleted file mode 100644
index 6e9fe8ebb067..000000000000
--- a/cppu/test/purpose_envs/makefile.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-#*************************************************************************
-#
-# 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 := cppu
-TARGET := purpose_envs.test.pl
-
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-
-
-.INCLUDE : settings.mk
-
-
-.INCLUDE : target.mk
-
-ALLTAR: $(BIN)$/$(TARGET)
-
-$(BIN)$/$(TARGET): purpose_envs.test.pl
- @+$(COPY) $^ $@
diff --git a/cppu/test/purpose_envs/purpose_envs.test.pl b/cppu/test/purpose_envs/purpose_envs.test.pl
deleted file mode 100755
index 28abe2b72398..000000000000
--- a/cppu/test/purpose_envs/purpose_envs.test.pl
+++ /dev/null
@@ -1,67 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-my $rc = 0;
-my $comment = "";
-
-
-@tests=(
-"env.tester.bin uno"
-);
-
-foreach $test (@tests) {
- $output = "";
-
- $cmd = $test;
- open TESTER, $cmd . "|";
- while (<TESTER>) {
- chomp;
-
- $output = $output . "\t" . $_ . "\n";
- }
- close TESTER ;
-
- if ($? != 0) {
- $comment = $comment . "TEST FAILED: " . $cmd . "\n";
- $comment = $comment . $output;
- }
- $rc = $rc + $?;
-}
-
-
-print $comment;
-
-if ($rc == 0) {
- print "*********** SUCCESS\n";
-}
-else {
- print "*********** FAILURE\n";
-}
diff --git a/cppu/test/surrogate.hxx b/cppu/test/surrogate.hxx
deleted file mode 100644
index 3f479d3e5009..000000000000
--- a/cppu/test/surrogate.hxx
+++ /dev/null
@@ -1,155 +0,0 @@
-/*************************************************************************
- *
- * 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 <uno/dispatcher.h>
-#include <uno/mapping.hxx>
-#include <uno/environment.h>
-#include <uno/data.h>
-#include <osl/diagnose.h>
-#include <osl/interlck.h>
-
-#include <com/sun/star/uno/Reference.hxx>
-
-/*
-//==================================================================================================
-struct UnoMediator : public uno_Interface
-{
- oslInterlockedCount nRef;
- uno_Interface * pDest;
-
- UnoMediator( uno_Interface * pDest );
- ~UnoMediator();
-};
-
-//--------------------------------------------------------------------------------------------------
-inline static void SAL_CALL UnoMediator_acquire( uno_Interface * pUnoI )
-{
- osl_incrementInterlockedCount( &((UnoMediator *)pUnoI)->nRef );
-}
-//--------------------------------------------------------------------------------------------------
-inline static void SAL_CALL UnoMediator_release( uno_Interface * pUnoI )
-{
- if (! osl_decrementInterlockedCount( &((UnoMediator *)pUnoI)->nRef ))
- delete (UnoMediator *)pUnoI;
-}
-//--------------------------------------------------------------------------------------------------
-inline static void SAL_CALL UnoMediator_dispatch(
- uno_Interface * pUnoI, const typelib_TypeDescription * pMemberType,
- void * pReturn, void * pArgs[], uno_Any ** ppException )
-{
- (*((UnoMediator *)pUnoI)->pDest->pDispatcher)(
- ((UnoMediator *)pUnoI)->pDest, pMemberType, pReturn, pArgs, ppException );
-}
-
-//__________________________________________________________________________________________________
-UnoMediator::UnoMediator( uno_Interface * pDest_ )
- : nRef( 0 )
- , pDest( pDest_ )
-{
- (*pDest->acquire)( pDest );
- uno_Interface::acquire = UnoMediator_acquire;
- uno_Interface::release = UnoMediator_release;
- uno_Interface::pDispatcher = UnoMediator_dispatch;
-}
-//__________________________________________________________________________________________________
-UnoMediator::~UnoMediator()
-{
- (*pDest->release)( pDest );
-}
-*/
-
-//##################################################################################################
-
-template< class T >
-inline sal_Bool makeSurrogate( com::sun::star::uno::Reference< T > & rOut,
- const com::sun::star::uno::Reference< T > & rOriginal )
-{
- rOut.clear();
-
- typelib_TypeDescription * pTD = 0;
- const com::sun::star::uno::Type & rType = ::getCppuType( &rOriginal );
- TYPELIB_DANGER_GET( &pTD, rType.getTypeLibType() );
- OSL_ENSURE( pTD, "### cannot get typedescription!" );
- if (pTD)
- {
- uno_Environment * pCppEnv1 = 0;
- uno_Environment * pCppEnv2 = 0;
-
- ::rtl::OUString aCppEnvTypeName( RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME) );
- uno_getEnvironment( &pCppEnv1, aCppEnvTypeName.pData, 0 );
- uno_createEnvironment( &pCppEnv2, aCppEnvTypeName.pData, 0 ); // anonymous
-
- ::com::sun::star::uno::Mapping aMapping( pCppEnv1, pCppEnv2, ::rtl::OUString::createFromAscii("prot") );
- T * p = (T *)aMapping.mapInterface( rOriginal.get(), (typelib_InterfaceTypeDescription *)pTD );
- if (p)
- {
- rOut = p;
- p->release();
- }
-
- (*pCppEnv2->release)( pCppEnv2 );
- (*pCppEnv1->release)( pCppEnv1 );
-
- TYPELIB_DANGER_RELEASE( pTD );
- }
-/*
- ::com::sun::star::uno::Mapping aCpp2Uno( CPPU_CURRENT_LANGUAGE_BINDING_NAME, UNO_LB_UNO );
- ::com::sun::star::uno::Mapping aUno2Cpp( UNO_LB_UNO, CPPU_CURRENT_LANGUAGE_BINDING_NAME );
- OSL_ENSURE( aCpp2Uno.is() && aUno2Cpp.is(), "### cannot get mappings!" );
- if (aCpp2Uno.is() && aUno2Cpp.is())
- {
- typelib_TypeDescription * pTD = 0;
- const com::sun::star::uno::Type & rType = ::getCppuType( &rOriginal );
- TYPELIB_DANGER_GET( &pTD, rType.getTypeLibType() );
- OSL_ENSURE( pTD, "### cannot get typedescription!" );
- if (pTD)
- {
- uno_Interface * pUno = (uno_Interface *)aCpp2Uno.mapInterface(
- rOriginal.get(), (typelib_InterfaceTypeDescription *)pTD );
- if (pUno)
- {
- UnoMediator * pPseudo = new UnoMediator( pUno );
- (*pPseudo->acquire)( pPseudo );
- OSL_ENSURE( uno_equals( &pUno, &pPseudo, pTD, 0 ), "### interfaces don't belong to same object, but they do!?" );
- (*pUno->release)( pUno );
-
- T * pCpp = (T *)aUno2Cpp.mapInterface(
- pPseudo, (typelib_InterfaceTypeDescription *)pTD );
- (*pPseudo->release)( pPseudo );
-
- if (pCpp)
- {
- rOut = pCpp;
- pCpp->release();
- }
- }
- TYPELIB_DANGER_RELEASE( pTD );
- }
- }
-*/
- return rOut.is();
-}
diff --git a/cppu/test/test_Cincludes.c b/cppu/test/test_Cincludes.c
deleted file mode 100644
index bacdbc67209e..000000000000
--- a/cppu/test/test_Cincludes.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <uno/any2.h>
-#include <uno/data.h>
-#include <uno/dispatcher.h>
-#include <uno/environment.h>
-#include <uno/mapping.h>
-#include <uno/sequence2.h>
-#include <uno/threadpool.h>
-#include <typelib/typedescription.h>
-
diff --git a/cppu/test/test_cuno.c b/cppu/test/test_cuno.c
deleted file mode 100644
index 5757e0c229bb..000000000000
--- a/cppu/test/test_cuno.c
+++ /dev/null
@@ -1,784 +0,0 @@
-/*************************************************************************
- *
- * 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 <stdio.h>
-#include <osl/diagnose.h>
-#include <osl/time.h>
-#include <osl/interlck.h>
-#include <rtl/alloc.h>
-//
-/*
-#include <uno/dispatcher.h>
-#include <uno/environment.h>
-#include <uno/mapping.hxx>
-*/
-#include <uno/data.h>
-#include <uno/any2.h>
-#include <uno/sequence2.h>
-
-#include <test/XLanguageBindingTest.h>
-
-
-typedef struct _InstanceData
-{
- void const * m_XInterface[2];
- void const * m_XLBTestBase[2];
- void const * m_XLanguageBindingTest[2];
-
- sal_Int32 m_refCount;
- typelib_TypeDescription* m_pTDXInterface;
- typelib_TypeDescription* m_pTDSeqTestElement;
- typelib_TypeDescription* m_pTDTestDataElements;
- test_TestDataElements m_data, m_structData;
-} InstanceData;
-
-#define GET_THIS( p ) (InstanceData *)((void **)p)[1]
-
-//==================================================================================================
-static void SAL_CALL c_acquire( void * p )
- SAL_THROW_EXTERN_C( )
-{
- CUNO_CALL( ((com_sun_star_uno_XInterface *)p) )->acquire( (com_sun_star_uno_XInterface *)p );
-}
-//==================================================================================================
-static void SAL_CALL c_release( void * p )
- SAL_THROW_EXTERN_C( )
-{
- CUNO_CALL( ((com_sun_star_uno_XInterface *)p) )->release( (com_sun_star_uno_XInterface *)p );
-}
-//==================================================================================================
-static void * SAL_CALL c_queryInterface( void * p, typelib_TypeDescriptionReference * pType )
- SAL_THROW_EXTERN_C( )
-{
- uno_Any aExc;
- com_sun_star_uno_XInterface * pRet = NULL;
-
- if (CUNO_EXCEPTION_OCCURED( CUNO_CALL( ((com_sun_star_uno_XInterface *)p) )->queryInterface( (com_sun_star_uno_XInterface *)p, &aExc, &pRet, pType ) ))
- {
- uno_any_destruct( &aExc, c_release );
- return NULL;
- }
- else
- {
- return pRet;
- }
-}
-
-void defaultConstructData(test_TestDataElements* pData, typelib_TypeDescriptionReference * pElemType)
-{
- pData->_Base._Base.Bool = sal_False;
- pData->_Base._Base.Char = 0;
- pData->_Base._Base.Byte = 0;
- pData->_Base._Base.Short = 0;
- pData->_Base._Base.UShort = 0;
- pData->_Base._Base.Long = 0;
- pData->_Base._Base.ULong = 0;
- pData->_Base._Base.Hyper = 0;
- pData->_Base._Base.UHyper = 0;
- pData->_Base._Base.Float = 0;
- pData->_Base._Base.Double = 0;
- pData->_Base._Base.Enum = test_TestEnum_TEST;
- pData->_Base.String = 0;
- rtl_uString_new(&pData->_Base.String);
- pData->_Base.Interface = 0;
- uno_any_construct(&pData->_Base.Any, 0, 0, 0);
-/* pData->Sequence = 0; */
- uno_type_sequence_construct(
- &pData->Sequence, pElemType, 0, 0, c_acquire );
-}
-
-void assign1( test_TestSimple* rData,
- sal_Bool bBool, sal_Unicode cChar, sal_Int8 nByte,
- sal_Int16 nShort, sal_uInt16 nUShort,
- sal_Int32 nLong, sal_uInt32 nULong,
- sal_Int64 nHyper, sal_uInt64 nUHyper,
- float fFloat, double fDouble,
- test_TestEnum eEnum)
-{
- rData->Bool = bBool;
- rData->Char = cChar;
- rData->Byte = nByte;
- rData->Short = nShort;
- rData->UShort = nUShort;
- rData->Long = nLong;
- rData->ULong = nULong;
- rData->Hyper = nHyper;
- rData->UHyper = nUHyper;
- rData->Float = fFloat;
- rData->Double = fDouble;
- rData->Enum = eEnum;
-}
-
-void assign2( test_TestElement* rData,
- sal_Bool bBool, sal_Unicode cChar, sal_Int8 nByte,
- sal_Int16 nShort, sal_uInt16 nUShort,
- sal_Int32 nLong, sal_uInt32 nULong,
- sal_Int64 nHyper, sal_uInt64 nUHyper,
- float fFloat, double fDouble,
- test_TestEnum eEnum, rtl_uString* rStr,
- com_sun_star_uno_XInterface* xTest,
- uno_Any* rAny,
- typelib_TypeDescription* pTDIface)
-{
- assign1( (test_TestSimple *)rData,
- bBool, cChar, nByte, nShort, nUShort, nLong, nULong, nHyper, nUHyper, fFloat, fDouble,
- eEnum );
- rtl_uString_assign(&rData->String, rStr);
-/* uno_assignData(&rData->Interface, pTDIface, &xTest, pTDIface, c_queryInterface, c_acquire, c_release); */
- if ( rData->Interface )
- CUNO_CALL(rData->Interface)->release(rData->Interface);
-
- if ( xTest )
- {
- CUNO_CALL(xTest)->acquire(xTest);
- rData->Interface = xTest;
- } else
- {
- rData->Interface = 0;
- }
-
- uno_type_any_assign(&rData->Any, rAny->pData, rAny->pType, c_acquire, c_release);
-}
-
-void assign3( test_TestDataElements* rData,
- sal_Bool bBool, sal_Unicode cChar, sal_Int8 nByte,
- sal_Int16 nShort, sal_uInt16 nUShort,
- sal_Int32 nLong, sal_uInt32 nULong,
- sal_Int64 nHyper, sal_uInt64 nUHyper,
- float fFloat, double fDouble,
- test_TestEnum eEnum, rtl_uString* rStr,
- com_sun_star_uno_XInterface* xTest,
- uno_Any* rAny,
- /* sequence< test_TestElement >*/uno_Sequence* rSequence,
- typelib_TypeDescription* pTDIface,
- typelib_TypeDescription* pTDSeqElem)
-{
- assign2( (test_TestElement *)rData,
- bBool, cChar, nByte, nShort, nUShort, nLong, nULong, nHyper, nUHyper, fFloat, fDouble,
- eEnum,rStr, xTest, rAny, pTDIface );
- uno_sequence_assign(&rData->Sequence, rSequence, pTDSeqElem, c_release);
-}
-
-/* XInterface =============================================================================== */
-
-/* XInterface::acquire */
-cuno_ErrorCode SAL_CALL XInterface_acquire( com_sun_star_uno_XInterface* pIFace)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- osl_incrementInterlockedCount( &pImpl->m_refCount );
- return CUNO_ERROR_NONE;
-}
-
-/* XInterface::release */
-cuno_ErrorCode SAL_CALL XInterface_release( com_sun_star_uno_XInterface * pIFace )
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- if( osl_decrementInterlockedCount( &pImpl->m_refCount ) == 0)
- {
- uno_destructData(&pImpl->m_data, pImpl->m_pTDTestDataElements, c_release);
- uno_destructData(&pImpl->m_structData, pImpl->m_pTDTestDataElements, c_release);
- typelib_typedescription_release(pImpl->m_pTDXInterface);
- typelib_typedescription_release(pImpl->m_pTDSeqTestElement);
- typelib_typedescription_release(pImpl->m_pTDTestDataElements);
- rtl_freeMemory( pImpl );
- }
- return CUNO_ERROR_NONE;
-}
-
-/* XInterface::queryInterface */
-cuno_ErrorCode SAL_CALL XInterface_queryInterface( com_sun_star_uno_XInterface * pIFace, uno_Any * pExc, com_sun_star_uno_XInterface ** pRet, typelib_TypeDescriptionReference * pTypeRef)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- com_sun_star_uno_XInterface * pIFaceRet = 0;
- if ( pTypeRef )
- {
- if( ! rtl_ustr_ascii_compare_WithLength( pTypeRef->pTypeName->buffer, pTypeRef->pTypeName->length,
- "com.sun.star.uno.XInterface" ) )
- pIFaceRet = (com_sun_star_uno_XInterface *)&pImpl->m_XInterface;
- else if( !rtl_ustr_ascii_compare_WithLength( pTypeRef->pTypeName->buffer, pTypeRef->pTypeName->length,
- "test.XLBTestBase" ) )
- pIFaceRet = (com_sun_star_uno_XInterface *)&pImpl->m_XLBTestBase;
- else if( !rtl_ustr_ascii_compare_WithLength( pTypeRef->pTypeName->buffer, pTypeRef->pTypeName->length,
- "test.XLanguageBindingTest" ) )
- pIFaceRet = (com_sun_star_uno_XInterface *)&pImpl->m_XLanguageBindingTest;
-
- if( pIFaceRet )
- {
- CUNO_CALL(pIFaceRet)->acquire( pIFaceRet );
- *pRet = pIFaceRet;
- } else
- {
- *pRet = 0;
- }
- }
- return CUNO_ERROR_NONE;
-}
-
-/* XLBTestBase =============================================================================== */
-
-/* XLBTestBase::getBool */
-cuno_ErrorCode SAL_CALL XLBTestBase_getBool( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Bool *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.Bool;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setBool */
-cuno_ErrorCode SAL_CALL XLBTestBase_setBool( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Bool value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.Bool = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getByte */
-cuno_ErrorCode SAL_CALL XLBTestBase_getByte( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Int8 *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.Byte;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setByte */
-cuno_ErrorCode SAL_CALL XLBTestBase_setByte( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Int8 value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.Byte = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getChar */
-cuno_ErrorCode SAL_CALL XLBTestBase_getChar( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Unicode *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.Char;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setChar */
-cuno_ErrorCode SAL_CALL XLBTestBase_setChar( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Unicode value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.Char = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getShort */
-cuno_ErrorCode SAL_CALL XLBTestBase_getShort( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Int16 *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.Short;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setShort */
-cuno_ErrorCode SAL_CALL XLBTestBase_setShort( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Int16 value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.Short = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getUShort */
-cuno_ErrorCode SAL_CALL XLBTestBase_getUShort( test_XLBTestBase * pIFace, uno_Any * pExc, sal_uInt16 *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.UShort;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setUShort */
-cuno_ErrorCode SAL_CALL XLBTestBase_setUShort( test_XLBTestBase * pIFace, uno_Any * pExc, sal_uInt16 value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.UShort = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getLong */
-cuno_ErrorCode SAL_CALL XLBTestBase_getLong( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Int32 *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.Long;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setLong */
-cuno_ErrorCode SAL_CALL XLBTestBase_setLong( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Int32 value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.Long = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getULong */
-cuno_ErrorCode SAL_CALL XLBTestBase_getULong( test_XLBTestBase * pIFace, uno_Any * pExc, sal_uInt32 *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.ULong;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setULong */
-cuno_ErrorCode SAL_CALL XLBTestBase_setULong( test_XLBTestBase * pIFace, uno_Any * pExc, sal_uInt32 value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.ULong = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getHyper */
-cuno_ErrorCode SAL_CALL XLBTestBase_getHyper( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Int64 *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.Hyper;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setHyper */
-cuno_ErrorCode SAL_CALL XLBTestBase_setHyper( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Int64 value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.Hyper = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getUHyper */
-cuno_ErrorCode SAL_CALL XLBTestBase_getUHyper( test_XLBTestBase * pIFace, uno_Any * pExc, sal_uInt64 *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.UHyper;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setUHyper */
-cuno_ErrorCode SAL_CALL XLBTestBase_setUHyper( test_XLBTestBase * pIFace, uno_Any * pExc, sal_uInt64 value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.UHyper = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getFloat */
-cuno_ErrorCode SAL_CALL XLBTestBase_getFloat( test_XLBTestBase * pIFace, uno_Any * pExc, float *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.Float;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setFloat */
-cuno_ErrorCode SAL_CALL XLBTestBase_setFloat( test_XLBTestBase * pIFace, uno_Any * pExc, float value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.Float = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getDouble */
-cuno_ErrorCode SAL_CALL XLBTestBase_getDouble( test_XLBTestBase * pIFace, uno_Any * pExc, double *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.Double;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setDouble */
-cuno_ErrorCode SAL_CALL XLBTestBase_setDouble( test_XLBTestBase * pIFace, uno_Any * pExc, double value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.Double = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getEnum */
-cuno_ErrorCode SAL_CALL XLBTestBase_getEnum( test_XLBTestBase * pIFace, uno_Any * pExc, test_TestEnum *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = pImpl->m_data._Base._Base.Enum;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setEnum */
-cuno_ErrorCode SAL_CALL XLBTestBase_setEnum( test_XLBTestBase * pIFace, uno_Any * pExc, test_TestEnum value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- pImpl->m_data._Base._Base.Enum = value;
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getString */
-cuno_ErrorCode SAL_CALL XLBTestBase_getString( test_XLBTestBase * pIFace, uno_Any * pExc, rtl_uString **pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- *pRet = 0;
- rtl_uString_newFromString(pRet, pImpl->m_data._Base.String);
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setString */
-cuno_ErrorCode SAL_CALL XLBTestBase_setString( test_XLBTestBase * pIFace, uno_Any * pExc, rtl_uString *value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- rtl_uString_assign(&pImpl->m_data._Base.String, value);
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getInterface */
-cuno_ErrorCode SAL_CALL XLBTestBase_getInterface( test_XLBTestBase * pIFace, uno_Any * pExc, com_sun_star_uno_XInterface **pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
-/* uno_copyData(pRet, &pImpl->m_data._Base.Interface, pImpl->m_pTDXInterface, c_acquire); */
- if ( pImpl->m_data._Base.Interface )
- {
- CUNO_CALL(pImpl->m_data._Base.Interface)->acquire(pImpl->m_data._Base.Interface);
- *pRet = pImpl->m_data._Base.Interface;
- } else
- {
- *pRet = 0;
- }
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setInterface */
-cuno_ErrorCode SAL_CALL XLBTestBase_setInterface( test_XLBTestBase * pIFace, uno_Any * pExc, com_sun_star_uno_XInterface *value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
-/* uno_assignData(&pImpl->m_data._Base.Interface, pImpl->m_pTDXInterface, &value, pImpl->m_pTDXInterface, c_queryInterface, c_acquire, c_release); */
- if ( pImpl->m_data._Base.Interface )
- CUNO_CALL(pImpl->m_data._Base.Interface)->release(pImpl->m_data._Base.Interface);
-
- if ( value )
- {
- CUNO_CALL(value)->acquire(value);
- pImpl->m_data._Base.Interface = value;
- } else
- {
- pImpl->m_data._Base.Interface = 0;
- }
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getAny */
-cuno_ErrorCode SAL_CALL XLBTestBase_getAny( test_XLBTestBase * pIFace, uno_Any * pExc, uno_Any *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- typelib_TypeDescription* pTD = 0;
- typelib_typedescriptionreference_getDescription(&pTD, pImpl->m_data._Base.Any.pType);
- uno_any_construct(pRet, pImpl->m_data._Base.Any.pData, pTD, c_acquire);
- typelib_typedescription_release(pTD);
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setAny */
-cuno_ErrorCode SAL_CALL XLBTestBase_setAny( test_XLBTestBase * pIFace, uno_Any * pExc, uno_Any *value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- typelib_TypeDescription* pTD = 0;
- typelib_typedescriptionreference_getDescription(&pTD, value->pType);
- uno_any_assign(&pImpl->m_data._Base.Any, value->pData, pTD, c_acquire, c_release);
- typelib_typedescription_release(pTD);
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getSequence */
-cuno_ErrorCode SAL_CALL XLBTestBase_getSequence( test_XLBTestBase * pIFace, uno_Any * pExc, /*sequence< test.TestElement >*/uno_Sequence **pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- uno_sequence_construct(pRet, pImpl->m_pTDSeqTestElement, pImpl->m_data.Sequence->elements, pImpl->m_data.Sequence->nElements, c_acquire);
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setSequence */
-cuno_ErrorCode SAL_CALL XLBTestBase_setSequence( test_XLBTestBase * pIFace, uno_Any * pExc, /*sequence< test.TestElement >*/uno_Sequence *value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- uno_sequence_assign(&pImpl->m_data.Sequence, value, pImpl->m_pTDSeqTestElement, c_release);
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getStruct */
-cuno_ErrorCode SAL_CALL XLBTestBase_getStruct( test_XLBTestBase * pIFace, uno_Any * pExc, test_TestDataElements *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- uno_copyData(pRet, &pImpl->m_structData, pImpl->m_pTDTestDataElements, c_acquire);
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setStruct */
-cuno_ErrorCode SAL_CALL XLBTestBase_setStruct( test_XLBTestBase * pIFace, uno_Any * pExc, test_TestDataElements *value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- uno_assignData(&pImpl->m_structData, pImpl->m_pTDTestDataElements, value, pImpl->m_pTDTestDataElements, c_queryInterface, c_acquire, c_release);
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setValues */
-cuno_ErrorCode SAL_CALL XLBTestBase_setValues( test_XLBTestBase * pIFace, uno_Any * pExc, sal_Bool aBool, sal_Unicode aChar, sal_Int8 aByte, sal_Int16 aShort, sal_uInt16 aUShort, sal_Int32 aLong, sal_uInt32 aULong, sal_Int64 aHyper, sal_uInt64 aUHyper, float aFloat, double aDouble, test_TestEnum aEnum, rtl_uString* aString, com_sun_star_uno_XInterface *aInterface, uno_Any * aAny, /*sequence< test.TestElement >*/ uno_Sequence * aSequence, test_TestDataElements *aStruct)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- assign3(&pImpl->m_data, aBool, aChar, aByte, aShort, aUShort, aLong, aULong, aHyper, aUHyper, aFloat, aDouble,
- aEnum, aString, aInterface, aAny,aSequence, pImpl->m_pTDXInterface, pImpl->m_pTDSeqTestElement);
- uno_assignData(&pImpl->m_structData, pImpl->m_pTDTestDataElements, aStruct, pImpl->m_pTDTestDataElements, c_queryInterface, c_acquire, c_release);
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::setValues2 */
-cuno_ErrorCode SAL_CALL XLBTestBase_setValues2( test_XLBTestBase * pIFace, uno_Any * pExc, test_TestDataElements* pRet, sal_Bool* aBool, sal_Unicode* aChar, sal_Int8* aByte, sal_Int16* aShort, sal_uInt16* aUShort, sal_Int32* aLong, sal_uInt32* aULong, sal_Int64* aHyper, sal_uInt64* aUHyper, float* aFloat, double* aDouble, test_TestEnum* aEnum, rtl_uString** aString, com_sun_star_uno_XInterface **aInterface, uno_Any * aAny, /*sequence< test.TestElement >*/ uno_Sequence ** aSequence, test_TestDataElements * aStruct)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- assign3(&pImpl->m_data, *aBool, *aChar, *aByte, *aShort, *aUShort, *aLong, *aULong, *aHyper, *aUHyper, *aFloat, *aDouble,
- *aEnum, *aString, *aInterface, aAny, *aSequence, pImpl->m_pTDXInterface, pImpl->m_pTDSeqTestElement);
- uno_assignData(&pImpl->m_structData, pImpl->m_pTDTestDataElements, aStruct, pImpl->m_pTDTestDataElements, c_queryInterface, c_acquire, c_release);
- uno_copyData(pRet, &pImpl->m_structData, pImpl->m_pTDTestDataElements, c_acquire);
- return CUNO_ERROR_NONE;
-}
-/* XLBTestBase::getValues */
-cuno_ErrorCode SAL_CALL XLBTestBase_getValues( test_XLBTestBase * pIFace, uno_Any * pExc, test_TestDataElements* pRet, sal_Bool* aBool, sal_Unicode* aChar, sal_Int8* aByte, sal_Int16* aShort, sal_uInt16* aUShort, sal_Int32* aLong, sal_uInt32* aULong, sal_Int64* aHyper, sal_uInt64* aUHyper, float* aFloat, double* aDouble, test_TestEnum* aEnum, rtl_uString** aString, com_sun_star_uno_XInterface **aInterface, uno_Any * aAny, /*sequence< test.TestElement >*/ uno_Sequence ** aSequence, test_TestDataElements * aStruct)
-{
- typelib_TypeDescription* pTD = 0;
- InstanceData * pImpl = GET_THIS( pIFace );
- *aBool = pImpl->m_data._Base._Base.Bool;
- *aChar = pImpl->m_data._Base._Base.Char;
- *aByte = pImpl->m_data._Base._Base.Byte;
- *aShort = pImpl->m_data._Base._Base.Short;
- *aUShort = pImpl->m_data._Base._Base.UShort;
- *aLong = pImpl->m_data._Base._Base.Long;
- *aULong = pImpl->m_data._Base._Base.ULong;
- *aHyper = pImpl->m_data._Base._Base.Hyper;
- *aUHyper = pImpl->m_data._Base._Base.UHyper;
- *aFloat = pImpl->m_data._Base._Base.Float;
- *aDouble = pImpl->m_data._Base._Base.Double;
- *aEnum = pImpl->m_data._Base._Base.Enum;
- *aString = 0;
- rtl_uString_newFromString(aString, pImpl->m_data._Base.String);
-/* uno_copyData(aInterface, &pImpl->m_data._Base.Interface, pImpl->m_pTDXInterface, c_acquire); */
- if ( pImpl->m_data._Base.Interface )
- {
- CUNO_CALL(pImpl->m_data._Base.Interface)->acquire(pImpl->m_data._Base.Interface);
- *aInterface = pImpl->m_data._Base.Interface;
- } else
- {
- *aInterface = 0;
- }
- typelib_typedescriptionreference_getDescription(&pTD, pImpl->m_data._Base.Any.pType);
- uno_any_construct(aAny, pImpl->m_data._Base.Any.pData, pTD, c_acquire);
- typelib_typedescription_release(pTD);
- uno_sequence_construct(aSequence, pImpl->m_pTDSeqTestElement, pImpl->m_data.Sequence->elements, pImpl->m_data.Sequence->nElements, c_acquire);
- uno_copyData(aStruct, &pImpl->m_structData, pImpl->m_pTDTestDataElements, c_acquire);
- uno_copyData(pRet, &pImpl->m_structData, pImpl->m_pTDTestDataElements, c_acquire);
- return CUNO_ERROR_NONE;
-}
-
-/* XLanguageBindingTest =============================================================================== */
-
-/* XLanguageBindingTest::getRuntimeException */
-cuno_ErrorCode SAL_CALL XLanguageBindingTest_getRuntimeException( test_XLanguageBindingTest * pIFace, uno_Any * pExc, sal_Int32 *pRet)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- com_sun_star_uno_RuntimeException aExc;
- typelib_TypeDescription * pTD = 0;
- rtl_uString * pTypeName = 0;
- uno_Any excp;
-
- rtl_uString_newFromAscii( &pTypeName, "com.sun.star.uno.RuntimeException");
- typelib_typedescription_getByName(&pTD, pTypeName);
-
- aExc._Base.Message = 0;
- rtl_uString_newFromAscii(&aExc._Base.Message, "dum dum dum ich tanz im kreis herum...");
- aExc._Base.Context = 0;
- if (CUNO_EXCEPTION_OCCURED( CUNO_CALL(pIFace)->getInterface( (test_XLBTestBase *)pIFace, &excp, &aExc._Base.Context) ))
- {
- /* ... */
- uno_any_destruct( &excp, 0 );
- }
-
- uno_any_construct(pExc, &aExc, pTD, c_acquire);
- uno_destructData(&aExc, pTD, c_release);
- typelib_typedescription_release(pTD);
- rtl_uString_release(pTypeName);
-
- return CUNO_ERROR_EXCEPTION;
-}
-/* XLanguageBindingTest::setRuntimeException */
-cuno_ErrorCode SAL_CALL XLanguageBindingTest_setRuntimeException( test_XLanguageBindingTest * pIFace, uno_Any * pExc, sal_Int32 value)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- com_sun_star_uno_RuntimeException aExc;
- typelib_TypeDescription * pTD = 0;
- rtl_uString * pTypeName = 0;
- uno_Any excp;
-
- rtl_uString_newFromAscii( &pTypeName, "com.sun.star.uno.RuntimeException");
- typelib_typedescription_getByName(&pTD, pTypeName);
-
- aExc._Base.Message = 0;
- rtl_uString_newFromAscii(&aExc._Base.Message, "dum dum dum ich tanz im kreis herum...");
- aExc._Base.Context = 0;
- if (CUNO_EXCEPTION_OCCURED( CUNO_CALL(pIFace)->getInterface( (test_XLBTestBase *)pIFace, &excp, &aExc._Base.Context) ))
- {
- /* ... */
- uno_any_destruct( &excp, 0 );
- }
-
- uno_any_construct(pExc, &aExc, pTD, c_acquire);
- uno_destructData(&aExc, pTD, c_release);
- typelib_typedescription_release(pTD);
- rtl_uString_release(pTypeName);
-
- return CUNO_ERROR_EXCEPTION;
-}
-/* XLanguageBindingTest::raiseException */
-cuno_ErrorCode SAL_CALL XLanguageBindingTest_raiseException( test_XLanguageBindingTest * pIFace, uno_Any * pExc, test_TestDataElements* pRet, sal_Bool* aBool, sal_Unicode* aChar, sal_Int8* aByte, sal_Int16* aShort, sal_uInt16* aUShort, sal_Int32* aLong, sal_uInt32* aULong, sal_Int64* aHyper, sal_uInt64* aUHyper, float* aFloat, double* aDouble, test_TestEnum* aEnum, rtl_uString ** aString, com_sun_star_uno_XInterface ** aInterface, uno_Any* aAny, /*sequence< test.TestElement >*/ uno_Sequence ** aSequence, test_TestDataElements* AStruct)
-{
- InstanceData * pImpl = GET_THIS( pIFace );
- com_sun_star_lang_IllegalArgumentException aExc;
- typelib_TypeDescription * pTD = 0;
- rtl_uString * pTypeName = 0;
- uno_Any excp;
-
- rtl_uString_newFromAscii( &pTypeName, "com.sun.star.lang.IllegalArgumentException");
- typelib_typedescription_getByName(&pTD, pTypeName);
-
- aExc.ArgumentPosition = 5;
- aExc._Base.Message = 0;
- rtl_uString_newFromAscii(&aExc._Base.Message, "dum dum dum ich tanz im kreis herum...");
- aExc._Base.Context = 0;
- if (CUNO_EXCEPTION_OCCURED( CUNO_CALL(pIFace)->getInterface( (test_XLBTestBase *)pIFace, &excp, &aExc._Base.Context) ))
- {
- /* ... */
- uno_any_destruct( &excp, 0 );
- }
-
- uno_any_construct(pExc, &aExc, pTD, c_acquire);
- uno_destructData(&aExc, pTD, c_release);
- typelib_typedescription_release(pTD);
- rtl_uString_release(pTypeName);
-
- return CUNO_ERROR_EXCEPTION;
-}
-
-
-static const com_sun_star_uno_XInterface_ftab s_XInterface_ftab={
- XInterface_queryInterface,
- XInterface_acquire,
- XInterface_release,
- };
-static const test_XLBTestBase_ftab s_XLBTestBase_ftab={
- XInterface_queryInterface,
- XInterface_acquire,
- XInterface_release,
- XLBTestBase_getBool,
- XLBTestBase_setBool,
- XLBTestBase_getByte,
- XLBTestBase_setByte,
- XLBTestBase_getChar,
- XLBTestBase_setChar,
- XLBTestBase_getShort,
- XLBTestBase_setShort,
- XLBTestBase_getUShort,
- XLBTestBase_setUShort,
- XLBTestBase_getLong,
- XLBTestBase_setLong,
- XLBTestBase_getULong,
- XLBTestBase_setULong,
- XLBTestBase_getHyper,
- XLBTestBase_setHyper,
- XLBTestBase_getUHyper,
- XLBTestBase_setUHyper,
- XLBTestBase_getFloat,
- XLBTestBase_setFloat,
- XLBTestBase_getDouble,
- XLBTestBase_setDouble,
- XLBTestBase_getEnum,
- XLBTestBase_setEnum,
- XLBTestBase_getString,
- XLBTestBase_setString,
- XLBTestBase_getInterface,
- XLBTestBase_setInterface,
- XLBTestBase_getAny,
- XLBTestBase_setAny,
- XLBTestBase_getSequence,
- XLBTestBase_setSequence,
- XLBTestBase_getStruct,
- XLBTestBase_setStruct,
- XLBTestBase_setValues,
- XLBTestBase_setValues2,
- XLBTestBase_getValues
- };
-static const test_XLanguageBindingTest_ftab s_XLanguageBindingTest_ftab={
- XInterface_queryInterface,
- XInterface_acquire,
- XInterface_release,
- XLBTestBase_getBool,
- XLBTestBase_setBool,
- XLBTestBase_getByte,
- XLBTestBase_setByte,
- XLBTestBase_getChar,
- XLBTestBase_setChar,
- XLBTestBase_getShort,
- XLBTestBase_setShort,
- XLBTestBase_getUShort,
- XLBTestBase_setUShort,
- XLBTestBase_getLong,
- XLBTestBase_setLong,
- XLBTestBase_getULong,
- XLBTestBase_setULong,
- XLBTestBase_getHyper,
- XLBTestBase_setHyper,
- XLBTestBase_getUHyper,
- XLBTestBase_setUHyper,
- XLBTestBase_getFloat,
- XLBTestBase_setFloat,
- XLBTestBase_getDouble,
- XLBTestBase_setDouble,
- XLBTestBase_getEnum,
- XLBTestBase_setEnum,
- XLBTestBase_getString,
- XLBTestBase_setString,
- XLBTestBase_getInterface,
- XLBTestBase_setInterface,
- XLBTestBase_getAny,
- XLBTestBase_setAny,
- XLBTestBase_getSequence,
- XLBTestBase_setSequence,
- XLBTestBase_getStruct,
- XLBTestBase_setStruct,
- XLBTestBase_setValues,
- XLBTestBase_setValues2,
- XLBTestBase_getValues,
- XLanguageBindingTest_getRuntimeException,
- XLanguageBindingTest_setRuntimeException,
- XLanguageBindingTest_raiseException
- };
-
-com_sun_star_uno_XInterface* SAL_CALL createTestObject()
-{
- InstanceData *pObj;
- rtl_uString* usXInterface = 0;
- rtl_uString* usSeqTestElement = 0;
- rtl_uString* usTestDataElements = 0;
-
- /* Create a data instance of the component */
- pObj= (InstanceData*)rtl_allocateMemory( sizeof( InstanceData) );
- pObj->m_XInterface[0] = &s_XInterface_ftab;
- pObj->m_XInterface[1] = pObj;
- pObj->m_XLBTestBase[0] = &s_XLBTestBase_ftab;
- pObj->m_XLBTestBase[1] = pObj;
- pObj->m_XLanguageBindingTest[0] = &s_XLanguageBindingTest_ftab;
- pObj->m_XLanguageBindingTest[1] = pObj;
-
- /* Initalize the reference counter member and other component data */
- pObj->m_refCount= 1;
-
- pObj->m_pTDXInterface = 0;
- rtl_uString_newFromAscii( &usXInterface, "com.sun.star.uno.XInterface");
- typelib_typedescription_getByName(&pObj->m_pTDXInterface, usXInterface);
-
- pObj->m_pTDSeqTestElement = 0;
- rtl_uString_newFromAscii( &usSeqTestElement, "[]test.TestElement");
- typelib_typedescription_getByName(&pObj->m_pTDSeqTestElement, usSeqTestElement);
-
- pObj->m_pTDTestDataElements = 0;
- rtl_uString_newFromAscii( &usTestDataElements, "test.TestDataElements");
- typelib_typedescription_getByName(&pObj->m_pTDTestDataElements, usTestDataElements);
-
- defaultConstructData(&pObj->m_data, pObj->m_pTDSeqTestElement->pWeakRef);
- defaultConstructData(&pObj->m_structData, pObj->m_pTDSeqTestElement->pWeakRef);
-
- rtl_uString_release(usXInterface);
- rtl_uString_release(usSeqTestElement);
- rtl_uString_release(usTestDataElements);
- return (com_sun_star_uno_XInterface *)&pObj->m_XInterface;
-}
-
diff --git a/cppu/test/test_di.cxx b/cppu/test/test_di.cxx
deleted file mode 100644
index 88e8f9ac639d..000000000000
--- a/cppu/test/test_di.cxx
+++ /dev/null
@@ -1,888 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-#if !defined(OSL_DEBUG_LEVEL) || OSL_DEBUG_LEVEL == 0
-# undef OSL_DEBUG_LEVEL
-# define OSL_DEBUG_LEVEL 2
-#endif
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-
-#include <stdio.h>
-#include <string.h>
-#include <rtl/ustring.hxx>
-#include <osl/diagnose.h>
-#include <osl/time.h>
-#include <sal/types.h>
-//
-#include <uno/dispatcher.h>
-#include <uno/environment.h>
-#include <uno/mapping.hxx>
-#include <uno/data.h>
-
-// #include <uno/cuno.h>
-// #include <test/XLanguageBindingTest.h>
-
-#include <cppuhelper/weak.hxx>
-#include <cppuhelper/queryinterface.hxx>
-#include <cppu/macros.hxx>
-#include <test/XLanguageBindingTest.hpp>
-
-#include <cppuhelper/implbase1.hxx>
-
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/lang/DisposedException.hpp>
-
-
-using namespace test;
-using namespace cppu;
-using namespace osl;
-using namespace rtl;
-using namespace com::sun::star;
-using namespace com::sun::star::uno;
-
-
-//==================================================================================================
-sal_Bool equals( const test::TestElement & rData1, const test::TestElement & rData2 )
-{
- OSL_ENSURE( rData1.Bool == rData2.Bool, "### bool does not match!" );
- OSL_ENSURE( rData1.Char == rData2.Char, "### char does not match!" );
- OSL_ENSURE( rData1.Byte == rData2.Byte, "### byte does not match!" );
- OSL_ENSURE( rData1.Short == rData2.Short, "### short does not match!" );
- OSL_ENSURE( rData1.UShort == rData2.UShort, "### unsigned short does not match!" );
- OSL_ENSURE( rData1.Long == rData2.Long, "### long does not match!" );
- OSL_ENSURE( rData1.ULong == rData2.ULong, "### unsigned long does not match!" );
- OSL_ENSURE( rData1.Hyper == rData2.Hyper, "### hyper does not match!" );
- OSL_ENSURE( rData1.UHyper == rData2.UHyper, "### unsigned hyper does not match!" );
- OSL_ENSURE( rData1.Float == rData2.Float, "### float does not match!" );
- OSL_ENSURE( rData1.Double == rData2.Double, "### double does not match!" );
- OSL_ENSURE( rData1.Enum == rData2.Enum, "### enum does not match!" );
- OSL_ENSURE( rData1.String == rData2.String, "### string does not match!" );
- OSL_ENSURE( rData1.Interface == rData2.Interface, "### interface does not match!" );
- OSL_ENSURE( rData1.Any == rData2.Any, "### any does not match!" );
-
- return (rData1.Bool == rData2.Bool &&
- rData1.Char == rData2.Char &&
- rData1.Byte == rData2.Byte &&
- rData1.Short == rData2.Short &&
- rData1.UShort == rData2.UShort &&
- rData1.Long == rData2.Long &&
- rData1.ULong == rData2.ULong &&
- rData1.Hyper == rData2.Hyper &&
- rData1.UHyper == rData2.UHyper &&
- rData1.Float == rData2.Float &&
- rData1.Double == rData2.Double &&
- rData1.Enum == rData2.Enum &&
- rData1.String == rData2.String &&
- rData1.Interface == rData2.Interface &&
- rData1.Any == rData2.Any);
-}
-//==================================================================================================
-sal_Bool equals( const test::TestData & rData1, const test::TestData & rData2 )
-{
- sal_Int32 nLen;
-
- if ((rData1.Sequence == rData2.Sequence) &&
- equals( (const test::TestElement &)rData1, (const test::TestElement &)rData2 ) &&
- (nLen = rData1.Sequence.getLength()) == rData2.Sequence.getLength())
- {
- // once again by hand sequence ==
- const test::TestElement * pElements1 = rData1.Sequence.getConstArray();
- const test::TestElement * pElements2 = rData2.Sequence.getConstArray();
- for ( ; nLen--; )
- {
- if (! equals( pElements1[nLen], pElements2[nLen] ))
- {
- OSL_ENSURE( sal_False, "### sequence element did not match!" );
- return sal_False;
- }
- }
- return sal_True;
- }
- return sal_False;
-}
-//==================================================================================================
-void assign( test::TestElement & rData,
- sal_Bool bBool, sal_Unicode cChar, sal_Int8 nByte,
- sal_Int16 nShort, sal_uInt16 nUShort,
- sal_Int32 nLong, sal_uInt32 nULong,
- sal_Int64 nHyper, sal_uInt64 nUHyper,
- float fFloat, double fDouble,
- test::TestEnum eEnum, const ::rtl::OUString& rStr,
- const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xTest,
- const ::com::sun::star::uno::Any& rAny )
-{
- rData.Bool = bBool;
- rData.Char = cChar;
- rData.Byte = nByte;
- rData.Short = nShort;
- rData.UShort = nUShort;
- rData.Long = nLong;
- rData.ULong = nULong;
- rData.Hyper = nHyper;
- rData.UHyper = nUHyper;
- rData.Float = fFloat;
- rData.Double = fDouble;
- rData.Enum = eEnum;
- rData.String = rStr;
- rData.Interface = xTest;
- rData.Any = rAny;
-}
-//==================================================================================================
-void assign( test::TestData & rData,
- sal_Bool bBool, sal_Unicode cChar, sal_Int8 nByte,
- sal_Int16 nShort, sal_uInt16 nUShort,
- sal_Int32 nLong, sal_uInt32 nULong,
- sal_Int64 nHyper, sal_uInt64 nUHyper,
- float fFloat, double fDouble,
- test::TestEnum eEnum, const ::rtl::OUString& rStr,
- const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xTest,
- const ::com::sun::star::uno::Any& rAny,
- const com::sun::star::uno::Sequence< test::TestElement >& rSequence )
-{
- assign( (test::TestElement &)rData,
- bBool, cChar, nByte, nShort, nUShort, nLong, nULong, nHyper, nUHyper, fFloat, fDouble,
- eEnum, rStr, xTest, rAny );
- rData.Sequence = rSequence;
-}
-
-//==================================================================================================
-class TestDummy : public OWeakObject
-{
-public:
- sal_Int32 getRefCount() const
- { return m_refCount; }
-
- virtual ~TestDummy()
- { OSL_TRACE( "> scalar TestDummy dtor <\n" ); }
-};
-//==================================================================================================
-class Test_Impl : public cppu::WeakImplHelper1< XLanguageBindingTest >
-{
- test::TestData _aData, _aStructData;
-
-public:
- sal_Int32 getRefCount() const
- { return m_refCount; }
-
- virtual ~Test_Impl()
- { OSL_TRACE( "> scalar Test_Impl dtor <\n" ); }
-
- // XLBTestBase
- virtual void SAL_CALL setValues( sal_Bool bBool, sal_Unicode cChar, sal_Int8 nByte,
- sal_Int16 nShort, sal_uInt16 nUShort,
- sal_Int32 nLong, sal_uInt32 nULong,
- sal_Int64 nHyper, sal_uInt64 nUHyper,
- float fFloat, double fDouble,
- test::TestEnum eEnum, const ::rtl::OUString& rStr,
- const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xTest,
- const ::com::sun::star::uno::Any& rAny,
- const ::com::sun::star::uno::Sequence<test::TestElement >& rSequence,
- const test::TestData& rStruct )
- throw(com::sun::star::uno::RuntimeException);
-
- virtual test::TestData SAL_CALL setValues2( sal_Bool& bBool, sal_Unicode& cChar, sal_Int8& nByte,
- sal_Int16& nShort, sal_uInt16& nUShort,
- sal_Int32& nLong, sal_uInt32& nULong,
- sal_Int64& nHyper, sal_uInt64& nUHyper,
- float& fFloat, double& fDouble,
- test::TestEnum& eEnum, rtl::OUString& rStr,
- ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xTest,
- ::com::sun::star::uno::Any& rAny,
- ::com::sun::star::uno::Sequence<test::TestElement >& rSequence,
- test::TestData& rStruct )
- throw(com::sun::star::uno::RuntimeException);
-
- virtual test::TestData SAL_CALL getValues( sal_Bool& bBool, sal_Unicode& cChar, sal_Int8& nByte,
- sal_Int16& nShort, sal_uInt16& nUShort,
- sal_Int32& nLong, sal_uInt32& nULong,
- sal_Int64& nHyper, sal_uInt64& nUHyper,
- float& fFloat, double& fDouble,
- test::TestEnum& eEnum, rtl::OUString& rStr,
- ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xTest,
- ::com::sun::star::uno::Any& rAny,
- ::com::sun::star::uno::Sequence< test::TestElement >& rSequence,
- test::TestData& rStruct )
- throw(com::sun::star::uno::RuntimeException);
-
- virtual test::SmallStruct echoSmallStruct(const test::SmallStruct& rStruct) throw(com::sun::star::uno::RuntimeException)
- { return rStruct; }
- virtual test::MediumStruct echoMediumStruct(const test::MediumStruct& rStruct) throw(com::sun::star::uno::RuntimeException)
- { return rStruct; }
- virtual test::BigStruct echoBigStruct(const test::BigStruct& rStruct) throw(com::sun::star::uno::RuntimeException)
- { return rStruct; }
- virtual test::AllFloats echoAllFloats(const test::AllFloats& rStruct) throw(com::sun::star::uno::RuntimeException)
- { return rStruct; }
-
- virtual sal_Bool SAL_CALL getBool() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Bool; }
- virtual sal_Int8 SAL_CALL getByte() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Byte; }
- virtual sal_Unicode SAL_CALL getChar() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Char; }
- virtual sal_Int16 SAL_CALL getShort() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Short; }
- virtual sal_uInt16 SAL_CALL getUShort() throw(com::sun::star::uno::RuntimeException)
- { return _aData.UShort; }
- virtual sal_Int32 SAL_CALL getLong() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Long; }
- virtual sal_uInt32 SAL_CALL getULong() throw(com::sun::star::uno::RuntimeException)
- { return _aData.ULong; }
- virtual sal_Int64 SAL_CALL getHyper() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Hyper; }
- virtual sal_uInt64 SAL_CALL getUHyper() throw(com::sun::star::uno::RuntimeException)
- { return _aData.UHyper; }
- virtual float SAL_CALL getFloat() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Float; }
- virtual double SAL_CALL getDouble() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Double; }
- virtual test::TestEnum SAL_CALL getEnum() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Enum; }
- virtual rtl::OUString SAL_CALL getString() throw(com::sun::star::uno::RuntimeException)
- { return _aData.String; }
- virtual com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getInterface( ) throw(com::sun::star::uno::RuntimeException)
- { return _aData.Interface; }
- virtual com::sun::star::uno::Any SAL_CALL getAny() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Any; }
- virtual com::sun::star::uno::Sequence< test::TestElement > SAL_CALL getSequence() throw(com::sun::star::uno::RuntimeException)
- { return _aData.Sequence; }
- virtual test::TestData SAL_CALL getStruct() throw(com::sun::star::uno::RuntimeException)
- { return _aStructData; }
-
- virtual void SAL_CALL setBool( sal_Bool _bool ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Bool = _bool; }
- virtual void SAL_CALL setByte( sal_Int8 _byte ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Byte = _byte; }
- virtual void SAL_CALL setChar( sal_Unicode _char ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Char = _char; }
- virtual void SAL_CALL setShort( sal_Int16 _short ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Short = _short; }
- virtual void SAL_CALL setUShort( sal_uInt16 _ushort ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.UShort = _ushort; }
- virtual void SAL_CALL setLong( sal_Int32 _long ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Long = _long; }
- virtual void SAL_CALL setULong( sal_uInt32 _ulong ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.ULong = _ulong; }
- virtual void SAL_CALL setHyper( sal_Int64 _hyper ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Hyper = _hyper; }
- virtual void SAL_CALL setUHyper( sal_uInt64 _uhyper ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.UHyper = _uhyper; }
- virtual void SAL_CALL setFloat( float _float ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Float = _float; }
- virtual void SAL_CALL setDouble( double _double ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Double = _double; }
- virtual void SAL_CALL setEnum( test::TestEnum _enum ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Enum = _enum; }
- virtual void SAL_CALL setString( const ::rtl::OUString& _string ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.String = _string; }
- virtual void SAL_CALL setInterface( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _interface ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Interface = _interface; }
- virtual void SAL_CALL setAny( const ::com::sun::star::uno::Any& _any ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Any = _any; }
- virtual void SAL_CALL setSequence( const ::com::sun::star::uno::Sequence<test::TestElement >& _sequence ) throw(::com::sun::star::uno::RuntimeException)
- { _aData.Sequence = _sequence; }
- virtual void SAL_CALL setStruct( const test::TestData& _struct ) throw(::com::sun::star::uno::RuntimeException)
- { _aStructData = _struct; }
-
- // XLanguageBindingTest
- virtual test::TestData SAL_CALL raiseException( sal_Bool& bBool, sal_Unicode& cChar, sal_Int8& nByte, sal_Int16& nShort, sal_uInt16& nUShort, sal_Int32& nLong, sal_uInt32& nULong, sal_Int64& nHyper, sal_uInt64& nUHyper, float& fFloat, double& fDouble, test::TestEnum& eEnum, ::rtl::OUString& aString, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xInterface, ::com::sun::star::uno::Any& aAny, ::com::sun::star::uno::Sequence<test::TestElement >& aSequence,test::TestData& aStruct )
- throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
-
- virtual sal_Int32 SAL_CALL getRuntimeException() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setRuntimeException( sal_Int32 _runtimeexception ) throw(::com::sun::star::uno::RuntimeException);
-};
-//__________________________________________________________________________________________________
-void Test_Impl::setValues( sal_Bool bBool, sal_Unicode cChar, sal_Int8 nByte,
- sal_Int16 nShort, sal_uInt16 nUShort,
- sal_Int32 nLong, sal_uInt32 nULong,
- sal_Int64 nHyper, sal_uInt64 nUHyper,
- float fFloat, double fDouble,
- test::TestEnum eEnum, const ::rtl::OUString& rStr,
- const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xTest,
- const ::com::sun::star::uno::Any& rAny,
- const ::com::sun::star::uno::Sequence<test::TestElement >& rSequence,
- const test::TestData& rStruct )
- throw(com::sun::star::uno::RuntimeException)
-{
- assign( _aData,
- bBool, cChar, nByte, nShort, nUShort, nLong, nULong, nHyper, nUHyper, fFloat, fDouble,
- eEnum, rStr, xTest, rAny, rSequence );
- _aStructData = rStruct;
-}
-//__________________________________________________________________________________________________
-test::TestData Test_Impl::setValues2( sal_Bool& bBool, sal_Unicode& cChar, sal_Int8& nByte,
- sal_Int16& nShort, sal_uInt16& nUShort,
- sal_Int32& nLong, sal_uInt32& nULong,
- sal_Int64& nHyper, sal_uInt64& nUHyper,
- float& fFloat, double& fDouble,
- test::TestEnum& eEnum, rtl::OUString& rStr,
- ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xTest,
- ::com::sun::star::uno::Any& rAny,
- ::com::sun::star::uno::Sequence<test::TestElement >& rSequence,
- test::TestData& rStruct )
- throw(com::sun::star::uno::RuntimeException)
-{
- assign( _aData,
- bBool, cChar, nByte, nShort, nUShort, nLong, nULong, nHyper, nUHyper, fFloat, fDouble,
- eEnum, rStr, xTest, rAny, rSequence );
- _aStructData = rStruct;
- return _aStructData;
-}
-//__________________________________________________________________________________________________
-test::TestData Test_Impl::getValues( sal_Bool& bBool, sal_Unicode& cChar, sal_Int8& nByte,
- sal_Int16& nShort, sal_uInt16& nUShort,
- sal_Int32& nLong, sal_uInt32& nULong,
- sal_Int64& nHyper, sal_uInt64& nUHyper,
- float& fFloat, double& fDouble,
- test::TestEnum& eEnum, rtl::OUString& rStr,
- ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xTest,
- ::com::sun::star::uno::Any& rAny,
- ::com::sun::star::uno::Sequence<test::TestElement >& rSequence,
- test::TestData& rStruct )
- throw(com::sun::star::uno::RuntimeException)
-{
- bBool = _aData.Bool;
- cChar = _aData.Char;
- nByte = _aData.Byte;
- nShort = _aData.Short;
- nUShort = _aData.UShort;
- nLong = _aData.Long;
- nULong = _aData.ULong;
- nHyper = _aData.Hyper;
- nUHyper = _aData.UHyper;
- fFloat = _aData.Float;
- fDouble = _aData.Double;
- eEnum = _aData.Enum;
- rStr = _aData.String;
- xTest = _aData.Interface;
- rAny = _aData.Any;
- rSequence = _aData.Sequence;
- rStruct = _aStructData;
- return _aStructData;
-}
-
-//==================================================================================================
-static sal_Bool performTest(
- const Reference< XLanguageBindingTest > & xLBT,
- const Reference< XInterface > & xDummyInterface )
-{
- OSL_ENSURE( xLBT.is() && xDummyInterface.is(), "### no test interfaces!" );
- if (xLBT.is() && xDummyInterface.is())
- {
- // this data is never ever granted access to by calls other than equals(), assign()!
- test::TestData aData; // test against this data
-
- assign( (test::TestElement &)aData,
- sal_True, '@', 17, 0x1234, 0xfedc, 0x12345678, 0xfedcba98,
- SAL_CONST_INT64(0x123456789abcdef0),
- SAL_CONST_UINT64(0xfedcba9876543210),
- (float)17.0815, 3.1415926359, TestEnum_LOLA,
- OUString::createFromAscii("dumdidum"), xDummyInterface,
- makeAny( xDummyInterface ) );
- aData.Sequence = Sequence<test::TestElement >( (const test::TestElement *)&aData, 1 );
- OSL_ENSURE( aData.Any == xDummyInterface, "### unexpected any!" );
- OSL_ENSURE( !(aData.Any != xDummyInterface), "### unexpected any!" );
-
- // aData complete ==> never touched again
- //================================================================================
-
- // this is a manually copy of aData for first setting...
- test::TestData aSetData0( aData ); // copy ctor
- // assignment
- test::TestData aSetData1 = aSetData0;
-
- test::TestData aSetData;
- assign( (test::TestElement &)aSetData,
- aSetData1.Bool, aSetData1.Char, aSetData1.Byte, aSetData1.Short, aSetData1.UShort,
- aSetData1.Long, aSetData1.ULong, aSetData1.Hyper, aSetData1.UHyper,
- aSetData1.Float, aSetData1.Double,
- aSetData1.Enum, aSetData1.String, aSetData1.Interface, aSetData1.Any );
- // switch over to new sequence allocation
- aSetData.Sequence = Sequence<test::TestElement >( (const test::TestElement *)&aSetData, 1 );
-
- xLBT->setValues(
- aSetData.Bool, aSetData.Char, aSetData.Byte, aSetData.Short, aSetData.UShort,
- aSetData.Long, aSetData.ULong, aSetData.Hyper, aSetData.UHyper, aSetData.Float, aSetData.Double,
- aSetData.Enum, aSetData.String, aSetData.Interface, aSetData.Any, aSetData.Sequence, aSetData );
-
- {
- test::TestData aRet, aRet2;
- xLBT->getValues(
- aRet.Bool, aRet.Char, aRet.Byte, aRet.Short, aRet.UShort,
- aRet.Long, aRet.ULong, aRet.Hyper, aRet.UHyper, aRet.Float, aRet.Double,
- aRet.Enum, aRet.String, aRet.Interface, aRet.Any, aRet.Sequence, aRet2 );
-
- OSL_ASSERT( equals( aData, aRet ) && equals( aData, aRet2 ) );
-
- // set last retrieved values
- test::TestData aSV2ret = xLBT->setValues2(
- aRet.Bool, aRet.Char, aRet.Byte, aRet.Short, aRet.UShort,
- aRet.Long, aRet.ULong, aRet.Hyper, aRet.UHyper, aRet.Float, aRet.Double,
- aRet.Enum, aRet.String, aRet.Interface, aRet.Any, aRet.Sequence, aRet2 );
-
- OSL_ASSERT( equals( aData, aSV2ret ) && equals( aData, aRet2 ) );
- }
- {
- test::TestData aRet, aRet2;
- test::TestData aGVret = xLBT->getValues(
- aRet.Bool, aRet.Char, aRet.Byte, aRet.Short, aRet.UShort,
- aRet.Long, aRet.ULong, aRet.Hyper, aRet.UHyper, aRet.Float, aRet.Double,
- aRet.Enum, aRet.String, aRet.Interface, aRet.Any, aRet.Sequence, aRet2 );
-
- OSL_ASSERT( equals( aData, aRet ) && equals( aData, aRet2 ) && equals( aData, aGVret ) );
-
- // set last retrieved values
- xLBT->setBool( aRet.Bool );
- xLBT->setChar( aRet.Char );
- xLBT->setByte( aRet.Byte );
- xLBT->setShort( aRet.Short );
- xLBT->setUShort( aRet.UShort );
- xLBT->setLong( aRet.Long );
- xLBT->setULong( aRet.ULong );
- xLBT->setHyper( aRet.Hyper );
- xLBT->setUHyper( aRet.UHyper );
- xLBT->setFloat( aRet.Float );
- xLBT->setDouble( aRet.Double );
- xLBT->setEnum( aRet.Enum );
- xLBT->setString( aRet.String );
- xLBT->setInterface( aRet.Interface );
- xLBT->setAny( aRet.Any );
- xLBT->setSequence( aRet.Sequence );
- xLBT->setStruct( aRet2 );
- }
- {
- test::TestData aRet, aRet2;
- aRet.Hyper = xLBT->getHyper();
- aRet.UHyper = xLBT->getUHyper();
- aRet.Float = xLBT->getFloat();
- aRet.Double = xLBT->getDouble();
- aRet.Byte = xLBT->getByte();
- aRet.Char = xLBT->getChar();
- aRet.Bool = xLBT->getBool();
- aRet.Short = xLBT->getShort();
- aRet.UShort = xLBT->getUShort();
- aRet.Long = xLBT->getLong();
- aRet.ULong = xLBT->getULong();
- aRet.Enum = xLBT->getEnum();
- aRet.String = xLBT->getString();
- aRet.Interface = xLBT->getInterface();
- aRet.Any = xLBT->getAny();
- aRet.Sequence = xLBT->getSequence();
- aRet2 = xLBT->getStruct();
-
- OSL_ASSERT( equals( aData, aRet ) && equals( aData, aRet2 ) );
- }
- {
- test::SmallStruct aIn(1, 2);
- test::SmallStruct aOut = xLBT->echoSmallStruct(aIn);
- OSL_ASSERT( memcmp(&aIn, &aOut, sizeof(test::SmallStruct)) == 0 );
- }
- {
- test::MediumStruct aIn(1, 2, 3, 4);
- test::MediumStruct aOut = xLBT->echoMediumStruct(aIn);
- OSL_ASSERT( memcmp(&aIn, &aOut, sizeof(test::MediumStruct)) == 0 );
- }
- {
- test::BigStruct aIn(1, 2, 3, 4, 5, 6, 7, 8);
- test::BigStruct aOut = xLBT->echoBigStruct(aIn);
- OSL_ASSERT( memcmp(&aIn, &aOut, sizeof(test::BigStruct)) == 0 );
- }
- {
- test::AllFloats aIn(1.1, 2.2, 3.3, 4.4);
- test::AllFloats aOut = xLBT->echoAllFloats(aIn);
- return( memcmp(&aIn, &aOut, sizeof(test::AllFloats)) == 0 );
- }
- }
- return sal_False;
-}
-
-//__________________________________________________________________________________________________
-test::TestData Test_Impl::raiseException( sal_Bool& /*bBool*/, sal_Unicode& /*cChar*/, sal_Int8& /*nByte*/, sal_Int16& /*nShort*/, sal_uInt16& /*nUShort*/, sal_Int32& /*nLong*/, sal_uInt32& /*nULong*/, sal_Int64& /*nHyper*/, sal_uInt64& /*nUHyper*/, float& /*fFloat*/, double& /*fDouble*/, test::TestEnum& /*eEnum*/, ::rtl::OUString& /*aString*/, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& /*xInterface*/, ::com::sun::star::uno::Any& /*aAny*/, ::com::sun::star::uno::Sequence< test::TestElement >& /*aSequence*/, test::TestData& /*aStruct*/ )
- throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException)
-{
- lang::IllegalArgumentException aExc;
- aExc.ArgumentPosition = 5;
- aExc.Message = OUString::createFromAscii( "dum dum dum ich tanz im kreis herum..." );
- aExc.Context = getInterface();
- throw aExc;
-}
-//__________________________________________________________________________________________________
-sal_Int32 Test_Impl::getRuntimeException() throw(::com::sun::star::uno::RuntimeException)
-{
- lang::DisposedException aExc;
- aExc.Message = OUString::createFromAscii( "dum dum dum ich tanz im kreis herum..." );
- aExc.Context = getInterface();
- throw aExc;
-}
-//__________________________________________________________________________________________________
-void Test_Impl::setRuntimeException( sal_Int32 /*_runtimeexception*/ ) throw(::com::sun::star::uno::RuntimeException)
-{
- lang::DisposedException aExc;
- aExc.Message = OUString::createFromAscii( "dum dum dum ich tanz im kreis herum..." );
- aExc.Context = getInterface();
- throw aExc;
-}
-
-static void raising1( const Reference< XLanguageBindingTest > & xLBT )
-{
- test::TestData aRet, aRet2;
- xLBT->raiseException(
- aRet.Bool, aRet.Char, aRet.Byte, aRet.Short, aRet.UShort,
- aRet.Long, aRet.ULong, aRet.Hyper, aRet.UHyper, aRet.Float, aRet.Double,
- aRet.Enum, aRet.String, aRet.Interface, aRet.Any, aRet.Sequence, aRet2 );
-}
-static void raising2( const Reference< XLanguageBindingTest > & xLBT )
-{
- try
- {
- raising1( xLBT );
- }
- catch (RuntimeException &)
- {
- }
- catch (...)
- {
- throw;
- }
-}
-//==================================================================================================
-sal_Bool raiseException( const Reference< XLanguageBindingTest > & xLBT )
-{
- try
- {
- xLBT->getRuntimeException();
- }
- catch (lang::DisposedException & exc)
- {
- OSL_ENSURE( exc.Context == xLBT->getInterface() &&
- exc.Message.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("dum dum dum ich tanz im kreis herum...") ),
- "### unexpected exception content!" );
- }
- catch (RuntimeException &)
- {
- }
- catch (Exception &)
- {
- return sal_False;
- }
- catch (...)
- {
- return sal_False;
- }
-
- sal_Int32 nCount = 0;
- try
- {
- try
- {
- try
- {
- raising2( xLBT );
- }
- catch (RuntimeException &)
- {
- }
- catch (lang::IllegalArgumentException aExc)
- {
- ++nCount;
- OSL_ENSURE( aExc.ArgumentPosition == 5 &&
- aExc.Context == xLBT->getInterface() &&
- aExc.Message.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("dum dum dum ich tanz im kreis herum...") ),
- "### unexpected exception content!" );
-
- /** it is certain, that the RuntimeException testing will fail, if no */
- xLBT->getRuntimeException();
- }
- }
- catch (const RuntimeException & rExc)
- {
- ++nCount;
- OSL_ENSURE( rExc.Context == xLBT->getInterface() &&
- rExc.Message.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("dum dum dum ich tanz im kreis herum...") ),
- "### unexpected exception content!" );
-
- /** it is certain, that the RuntimeException testing will fail, if no */
- xLBT->setRuntimeException( 0xcafebabe );
- }
- catch (lang::IllegalArgumentException &)
- {
- }
- }
- catch (Exception & rExc)
- {
- ++nCount;
- OSL_ENSURE( rExc.Context == xLBT->getInterface() &&
- rExc.Message.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("dum dum dum ich tanz im kreis herum...") ),
- "### unexpected exception content!" );
- return (nCount == 3 &&
- rExc.Context == xLBT->getInterface() &&
- rExc.Message.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("dum dum dum ich tanz im kreis herum...") ));
- }
- return sal_False;
-}
-
-//==================================================================================================
-static void checkInvalidInterfaceQuery(
- Reference< XInterface > const & xObj )
-{
- try
- {
- Any aRet( xObj->queryInterface( ::getCppuType( (const lang::IllegalArgumentException *)0 ) ) );
- OSL_ASSERT( ! aRet.hasValue() );
- }
- catch (RuntimeException &)
- {
- }
- try
- {
- Reference< lang::XComponent > xComp( xObj, UNO_QUERY_THROW );
- OSL_ASSERT( 0 );
- }
- catch (RuntimeException & /*exc*/)
- {
-// OString str( OUStringToOString( exc.Message, RTL_TEXTENCODING_ASCII_US ) );
-// OSL_TRACE( str.getStr() );
- }
-}
-
-//==================================================================================================
-static bool perform_test(
- Reference< XLanguageBindingTest > const & xObj,
- Reference< XInterface > const & xDummy )
-{
- checkInvalidInterfaceQuery( xObj );
-
- if (performTest( xObj, xDummy ))
- {
- ::fprintf( stderr, "> invocation test succeeded!\n" );
- if (raiseException( xObj ))
- {
- ::fprintf( stderr, "> exception test succeeded!\n" );
- return true;
- }
- else
- {
- ::fprintf( stderr, "> exception test failed!\n" );
- }
- }
-
- ::fprintf( stderr, "> dynamic invocation test failed!\n" );
- return false;
-}
-
-//==================================================================================================
-void test_CppBridge(void)
-{
- // C++-UNO test
- {
- TestDummy * p = new TestDummy();
- Reference< XInterface > xDummy( *p );
- {
- Test_Impl * p2 = new Test_Impl();
- Reference< XLanguageBindingTest > xOriginal( p2 );
- checkInvalidInterfaceQuery( xOriginal );
- {
- const char * pExtraMapping = "";
-
- Reference< XLanguageBindingTest > xMapped;
- {
- uno_Interface * pUnoI = 0;
-
- OUString aCppEnvTypeName( RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME) );
- OUString aUnoEnvTypeName( RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO) );
-
- uno_Environment * pCppEnv = 0;
- uno_Environment * pUnoEnv = 0;
- ::uno_getEnvironment( &pCppEnv, aCppEnvTypeName.pData, 0 );
- ::uno_getEnvironment( &pUnoEnv, aUnoEnvTypeName.pData, 0 );
-
- // C++ -> UNO
- Mapping mapping( pCppEnv, pUnoEnv );
- mapping.mapInterface( (void **)&pUnoI, xOriginal.get(), ::getCppuType( &xOriginal ) );
-
-#ifdef EXTRA_MAPPING
- // UNO -> ano C++a
- ::uno_createEnvironment( &pCppEnv, aCppEnvTypeName.pData, 0 );
- mapping = Mapping( pUnoEnv, pCppEnv );
- mapping.mapInterface( (void **)&xMapped, pUnoI, ::getCppuType( &xMapped ) );
- // ano C++a -> ano UNOa
- ::uno_createEnvironment( &pUnoEnv, aUnoEnvTypeName.pData, 0 );
- mapping = Mapping( pCppEnv, pUnoEnv );
- mapping.mapInterface( (void **)&pUnoI, xMapped.get(), ::getCppuType( &xMapped ) );
- pExtraMapping = " <-> c++ <-> uno";
-#endif
-
- // ano UNOa -> ano C++b
- ::uno_createEnvironment( &pCppEnv, aCppEnvTypeName.pData, 0 );
- mapping = Mapping( pUnoEnv, pCppEnv );
- mapping.mapInterface( (void **)&xMapped, pUnoI, ::getCppuType( &xMapped ) );
- (*pUnoI->release)( pUnoI );
- (*pCppEnv->release)( pCppEnv );
- (*pUnoEnv->release)( pUnoEnv );
- }
-
- if (perform_test( xMapped, xDummy ))
- {
- ::fprintf( stderr, "> C++-UNO test (c++ <-> uno%s <-> c++ [component impl]) succeeded!\n", pExtraMapping );
- }
- else
- {
- ::fprintf( stderr, "> C++-UNO test (c++ <-> uno%s <-> c++ [component impl]) failed!\n", pExtraMapping );
- exit( 1 );
- }
- }
- OSL_ENSURE( p2->getRefCount() == 1, "### test object ref count > 1 !" );
- }
- OSL_ENSURE( p->getRefCount() == 1, "### dummy object ref count > 1 !" );
- }
-}
-
-//==================================================================================================
-void test_CBridge(void)
-{
- // C-UNO test
- {
- TestDummy * p = new TestDummy();
- Reference< XInterface > xDummy( *p );
- {
- Test_Impl * p2 = new Test_Impl();
- Reference< XLanguageBindingTest > xOriginal( p2 );
- checkInvalidInterfaceQuery( xOriginal );
- {
- Reference< XLanguageBindingTest > xMapped;
- {
- uno_Interface * pUnoI2 = 0;
- void * pC = 0;
- uno_Interface * pUnoI1 = 0;
-
- OUString aCppEnvTypeName( RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME) );
- OUString aCEnvTypeName( RTL_CONSTASCII_USTRINGPARAM(UNO_LB_C) );
- OUString aUnoEnvTypeName( RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO) );
-
- // C++ -> UNO
- uno_Environment * pCppEnv = 0;
- uno_Environment * pUnoEnv = 0;
- ::uno_getEnvironment( &pCppEnv, aCppEnvTypeName.pData, 0 );
- ::uno_getEnvironment( &pUnoEnv, aUnoEnvTypeName.pData, 0 );
- Mapping aCpp2Uno( pCppEnv, pUnoEnv );
- aCpp2Uno.mapInterface( (void **)&pUnoI1, xOriginal.get(), ::getCppuType( &xOriginal ) );
- (*pCppEnv->release)( pCppEnv );
-
- // UNO -> C
- uno_Environment * pCEnv = 0;
- ::uno_getEnvironment( &pCEnv, aCEnvTypeName.pData, 0 );
- Mapping aUno2C( pUnoEnv, pCEnv );
- aUno2C.mapInterface( &pC, pUnoI1, ::getCppuType( &xOriginal ) );
- (*pUnoI1->release)( pUnoI1 );
- (*pUnoEnv->release)( pUnoEnv );
-
- // C -> ano UNO
- uno_Environment * pAnoUnoEnv = 0;
- ::uno_createEnvironment( &pAnoUnoEnv, aUnoEnvTypeName.pData, 0 ); // anonymous
- Mapping aC2Uno( pCEnv, pAnoUnoEnv );
- aC2Uno.mapInterface( (void **)&pUnoI2, pC, ::getCppuType( &xOriginal ) );
- (*pCEnv->pExtEnv->releaseInterface)( pCEnv->pExtEnv, pC );
- (*pCEnv->release)( pCEnv );
-
- // ano UNO -> ano C++
- uno_Environment * pAnoCppEnv = 0;
- ::uno_createEnvironment( &pAnoCppEnv, aCppEnvTypeName.pData, 0 );
- Mapping aUno2Cpp( pAnoUnoEnv, pAnoCppEnv );
- (*pAnoCppEnv->release)( pAnoCppEnv );
- (*pAnoUnoEnv->release)( pAnoUnoEnv );
- aUno2Cpp.mapInterface( (void **)&xMapped, pUnoI2, ::getCppuType( &xOriginal ) );
- (*pUnoI2->release)( pUnoI2 );
- }
-
- if (perform_test( xMapped, xDummy ))
- {
- ::fprintf( stderr, "> C-UNO test (c++ <-> uno <-> c <-> uno <-> c++ [component impl]) succeeded!\n" );
- }
- else
- {
- ::fprintf( stderr, "> C-UNO test (c++ <-> uno <-> c <-> uno <-> c++ [component impl]) failed!\n" );
- exit( 1 );
- }
- }
- OSL_ENSURE( p->getRefCount() == 1, "### test object ref count > 1 !" );
- }
- OSL_ENSURE( p->getRefCount() == 1, "### dummy object ref count > 1 !" );
- }
-}
-#if 0
-//==================================================================================================
-extern "C" com_sun_star_uno_XInterface* SAL_CALL createTestObject();
-
-void test_CBridge2(void)
-{
- // C-UNO test
- {
- TestDummy * p = new TestDummy();
- Reference< XInterface > xDummy( *p );
- {
- com_sun_star_uno_XInterface* pXIface = createTestObject();
- test_XLanguageBindingTest* pXLBTest = 0;
- uno_Any aExc;
- Reference< XLanguageBindingTest > xMapped;
-
- OSL_ENSURE( pXIface != 0, "create test object failed\n");
-
- /* Get interface XFoo2 */
- if (CUNO_EXCEPTION_OCCURED( CUNO_CALL(pXIface)->queryInterface( pXIface, &aExc, (com_sun_star_uno_XInterface**)&pXLBTest, ::getCppuType( &xMapped ).getTypeLibType()) ))
- {
- uno_any_destruct( &aExc, 0 );
- }
- OSL_ENSURE( pXLBTest != 0, "query_Interface XLanguageBindingTest failed\n");
-
- Mapping aC2Cpp(
- OUString( RTL_CONSTASCII_USTRINGPARAM(UNO_LB_C) ),
- OUString( RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME) ) );
- aC2Cpp.mapInterface( (void **)&xMapped, pXLBTest, ::getCppuType( &xMapped ) );
-
- OSL_ENSURE( xMapped.is(), "mapping interface failed\n");
-
- if (perform_test( xMapped, xDummy ))
- {
- ::fprintf( stderr, "> second C-UNO test (c++ <-> uno <-> c [component impl]) succeeded!\n" );
- }
- else
- {
- ::fprintf( stderr, "> second C-UNO test (c++ <-> uno <-> c [component impl]) failed!\n" );
- exit( 1 );
- }
-
-
- CUNO_CALL(pXIface)->release( pXIface );
- CUNO_CALL(pXLBTest)->release( (com_sun_star_uno_XInterface *)pXLBTest );
- }
- OSL_ENSURE( p->getRefCount() == 1, "### dummy object ref count > 1 !" );
- }
-
-}
-#endif
-
diff --git a/cppu/test/test_sec.cxx b/cppu/test/test_sec.cxx
deleted file mode 100644
index 0bc3585e23d0..000000000000
--- a/cppu/test/test_sec.cxx
+++ /dev/null
@@ -1,211 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-
-#include <stdio.h>
-
-
-#include <uno/current_context.hxx>
-
-#include <cppuhelper/implbase1.hxx>
-
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/loader/XImplementationLoader.hpp>
-#include <com/sun/star/container/XNameContainer.hpp>
-
-using namespace rtl;
-using namespace cppu;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::security;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::loader;
-using namespace com::sun::star::registry;
-using namespace com::sun::star::container;
-
-
-static inline void out( const sal_Char * p )
-{
- ::fprintf( stderr, p );
-}
-static inline void out( const OUString & r )
-{
- OString aStr( OUStringToOString( r, RTL_TEXTENCODING_ASCII_US ) );
- out( aStr.getStr() );
-}
-
-
-static Reference< XInterface > load(
- const Reference< XMultiServiceFactory > & xMgr,
- const char * service,
- const char * implName, const char * activator, const char * loc ) throw ()
-{
- Reference< XInterface > xRet(
- xMgr->createInstance( OUString::createFromAscii( service ) ) );
- if (xRet.is())
- return xRet;
-
- try
- {
- Reference< XImplementationLoader > xLoader(
- xMgr->createInstance( OUString::createFromAscii( activator ) ), UNO_QUERY );
- if (xLoader.is())
- {
- Reference< XSingleServiceFactory > xFac( xLoader->activate(
- OUString::createFromAscii( implName ), OUString(),
- OUString::createFromAscii( loc ),
- Reference< XRegistryKey >() ), UNO_QUERY );
- if (xFac.is())
- return xFac->createInstance();
- }
- else
- {
- out( "### cannot activate loader \"" );
- out( activator );
- out( "\"!\n" );
- }
- }
- catch (Exception &)
- {
- out( "### cannot activate service \"" );
- out( service );
- out( "\"!\n" );
- }
- return Reference< XInterface >();
-}
-
-static void setEnv( const Reference< XMultiServiceFactory > & xMgr ) throw ()
-{
- OSL_ASSERT( xMgr.is() );
- Reference< XNameContainer > xContext( getCurrentContext(), UNO_QUERY );
- OSL_ASSERT( xContext.is() );
-
- try
- {
- xContext->insertByName(
- OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.lang.ServiceManager") ),
- makeAny( xMgr ) );
- xContext->insertByName(
- OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.security.AccessController") ),
- makeAny( load( xMgr,
- "com.sun.star.security.AccessController",
- "com.sun.star.comp.security.AccessController",
- "com.sun.star.loader.Java2",
- "com.sun.star.comp.security.AccessController" ) ) );
- xContext->insertByName(
- OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.security.auth.login.LoginContext") ),
- makeAny( load( xMgr,
- "com.sun.star.security.auth.login.LoginContext",
- "com.sun.star.comp.security.auth.login.LoginContext",
- "com.sun.star.loader.Java2",
- "com.sun.star.comp.security.auth.login.LoginContext" ) ) );
- }
- catch (Exception & rExc)
- {
- out( "### exception occured: " );
- out( rExc.Message );
- out( "\n" );
- }
-}
-
-//##################################################################################################
-//##################################################################################################
-//##################################################################################################
-
-struct PrivAction : WeakImplHelper1< XPrivilegedAction >
-{
- virtual Any SAL_CALL run()
- throw (Exception)
- {
- throw IllegalArgumentException(
- OUString::createFromAscii("testtest"), (OWeakObject *)this, (sal_Int16)5 );
- }
-};
-
-struct Thread1 : public OThread
-{
- Reference< XMultiServiceFactory > _xMgr;
-
- Thread1( const Reference< XMultiServiceFactory > & xMgr )
- : _xMgr( xMgr )
- {}
-
- void f()
- {
- Reference< XNameAccess > xAccess( getCurrentContext(), UNO_QUERY );
- OSL_ASSERT( xAccess->getByName( OUString::createFromAscii("a") ) == (sal_Int16)5 );
- Reference< XNameContainer > xCont( getCurrentContext(), UNO_QUERY );
- xCont->insertByName( OUString::createFromAscii("b"), makeAny( (sal_Int32)6 ) );
- }
- virtual void SAL_CALL run()
- {
- try
- {
- setEnv( _xMgr );
- Reference< XNameContainer > xCont( getCurrentContext(), UNO_QUERY );
- xCont->insertByName( OUString::createFromAscii("a"), makeAny( (sal_Int32)5 ) );
- f();
- Reference< XNameAccess > xAccess( getCurrentContext(), UNO_QUERY );
- OSL_ASSERT( xAccess->getByName( OUString::createFromAscii("b") ) == (sal_Int16)6 );
-
-// checkPermission(
-// Permission( OUString::createFromAscii("java.io.FilePermission"),
-// OUString::createFromAscii("f:\\userprofiles.dat"),
-// OUString::createFromAscii("read") ) );
-
-// try
-// {
-// Reference< XCurrentContext > xContext( getCurrentContext() );
-// Reference< XAccessController > xACC( xContext->getAccessController() );
-// xACC->doPrivileged( new PrivAction(), Reference< XAccessControlContext >() );
-// }
-// catch (IllegalArgumentException & r)
-// {
-// OSL_ASSERT( r.ArgumentPosition == 5 &&
-// r.Message.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("testtest") ));
-// }
- }
- catch (RuntimeException & rExc)
- {
- out( rExc.Message );
- }
- }
-};
-
-
-void test_security( const Reference< XMultiServiceFactory > & xMgr ) throw ()
-{
- setEnv( xMgr );
- OSL_ASSERT( getCurrentContext()->getServiceManager().is() );
-
- Thread1 thread1( xMgr );
- thread1.create();
- thread1.join();
- out( "> exiting...\n" );
-}
diff --git a/cppu/test/testcppu.cxx b/cppu/test/testcppu.cxx
deleted file mode 100644
index b132ab0cb281..000000000000
--- a/cppu/test/testcppu.cxx
+++ /dev/null
@@ -1,1241 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-#if !defined(OSL_DEBUG_LEVEL) || OSL_DEBUG_LEVEL == 0
-# undef OSL_DEBUG_LEVEL
-# define OSL_DEBUG_LEVEL 2
-#endif
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-
-#include "sal/main.h"
-
-#include <stdio.h>
-
-#include <uno/environment.h>
-#include <uno/mapping.hxx>
-
-#include <uno/dispatcher.h>
-#include <rtl/alloc.h>
-#include <rtl/unload.h>
-
-#include <cppuhelper/queryinterface.hxx>
-#include <com/sun/star/uno/Exception.hpp>
-#include <com/sun/star/uno/XInterface.hpp>
-#include <com/sun/star/uno/Uik.hpp>
-#include <rtl/ustring.hxx>
-#include <osl/diagnose.h>
-#include <osl/interlck.h>
-#include <sal/types.h>
-
-#include <test/Test1.hpp>
-#include <test/Test2.hpp>
-#include <test/TdTest1.hpp>
-#include <test/Test3.hpp>
-#include <test/Base.hpp>
-#include <test/Base1.hpp>
-#include <test/Base2.hpp>
-
-#include <uno/current_context.hxx>
-#include <cppuhelper/bootstrap.hxx>
-#include <cppuhelper/implbase1.hxx>
-
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
-#include <com/sun/star/uno/XCurrentContext.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <test/XSimpleInterface.hpp>
-#include <test/XLanguageBindingTest.hpp>
-#include <com/sun/star/registry/XSimpleRegistry.hpp>
-
-using namespace test;
-using namespace rtl;
-using namespace osl;
-
-using namespace com::sun::star;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-using namespace test;
-
-
-sal_Int32 getSize( const Type & rT )
-{
- sal_Int32 nSize;
- typelib_TypeDescription * pTD = 0;
- typelib_typedescriptionreference_getDescription( &pTD, rT.getTypeLibType() );
- nSize = pTD->nSize;
- typelib_typedescription_release( pTD );
- return nSize;
-}
-
-/*
- * main.
- */
-void testCppu()
-{
- Any a(false);
-#if 0
- // the following don't compile, which is ok:
- a.get<sal_Unicode>();
- a.get<sal_uInt16>();
- a.has<sal_Unicode>();
- a.has<sal_uInt16>();
- Any a_( static_cast<sal_Unicode>('a') );
-#endif
- OSL_ASSERT( a.getValueTypeClass() == TypeClass_BOOLEAN );
- OSL_ASSERT( !a.get<bool>() && !a.get<sal_Bool>() );
- a <<= sal_False;
- OSL_ASSERT( a.getValueTypeClass() == TypeClass_BOOLEAN );
- OSL_ASSERT( !a.get<bool>() && !a.get<sal_Bool>() );
- a = Any(sal_False);
- OSL_ASSERT( a.getValueTypeClass() == TypeClass_BOOLEAN );
- OSL_ASSERT( !a.get<bool>() && !a.get<sal_Bool>() );
- Any b( static_cast<sal_Int8>(32) );
- OSL_ASSERT( b.getValueTypeClass() == TypeClass_BYTE );
- OSL_ASSERT( b.get<sal_Int64>() == 32 &&
- b.get<sal_uInt64>() == 32 &&
- b.get<sal_Int32>() == 32 &&
- b.get<sal_uInt32>() == 32 &&
- b.get<sal_Int16>() == 32 &&
- b.get<sal_Int8>() == 32 );
- OSL_ASSERT( b.has<sal_Int64>() &&
- b.has<sal_uInt64>() &&
- b.has<sal_Int32>() &&
- b.has<sal_uInt32>() &&
- b.has<sal_Int16>() &&
- b.has<sal_Int8>() );
- b <<= true;
- OSL_ASSERT( b.getValueTypeClass() == TypeClass_BOOLEAN );
- OSL_ASSERT( b.get<bool>() && b.get<sal_Bool>() );
- try {
- b.get<sal_Int8>();
- OSL_ASSERT(false);
- }
- catch (RuntimeException & /*exc*/) {
-// exc;
- }
- try {
- const Sequence<beans::PropertyValue> seq(
- b.get< Sequence<beans::PropertyValue> >() );
- OSL_ASSERT(false);
- }
- catch (RuntimeException & /*exc*/) {
-// exc;
- }
-
- sal_Int32 big = 0x7fffffff;
- try
- {
- Sequence< Sequence< Any > > seq( big );
- }
- catch (::std::bad_alloc &)
- {
- }
- try
- {
- Sequence< Sequence< Any > > seq( 0, big );
- }
- catch (::std::bad_alloc &)
- {
- }
- try
- {
- Sequence< Sequence< Any > > seq;
- seq.realloc( big );
- }
- catch (::std::bad_alloc &)
- {
- }
-
- {
- // test the size of types
- OSL_ENSURE( sizeof( Uik ) == getSize( getCppuType( (Uik *)0) ),
- "bad sizeof uik" );
- OSL_ENSURE( sizeof( Test1 ) == getSize( getCppuType( (Test1*)0).getTypeLibType() ),
- "bad sizeof test1" );
-// OSL_ENSURE( sizeof( TdTest1 ) == getSize( get_test_TdTest1_Type().getTypeLibType() ),
-// "bad sizeof TypedefTest1" );
- OSL_ENSURE( sizeof( Test2 ) == getSize( getCppuType( (Test2*)0).getTypeLibType() ),
- "bad sizeof test2" );
-
-/* find the error
-sal_Int32 nPos;
-nPos = (sal_Int32)&((Test3 *)0)->nInt8;
-nPos = (sal_Int32)&((Test3 *)0)->nFloat;
-nPos = (sal_Int32)&((Test3 *)0)->nuInt8;
-nPos = (sal_Int32)&((Test3 *)0)->nDouble;
-nPos = (sal_Int32)&((Test3 *)0)->nInt16;
-nPos = (sal_Int32)&((Test3 *)0)->aString;
-nPos = (sal_Int32)&((Test3 *)0)->nuInt16;
-nPos = (sal_Int32)&((Test3 *)0)->nInt64;
-nPos = (sal_Int32)&((Test3 *)0)->nInt32;
-nPos = (sal_Int32)&((Test3 *)0)->nuInt64;
-nPos = (sal_Int32)&((Test3 *)0)->nuInt32;
-nPos = (sal_Int32)&((Test3 *)0)->eType;
-nPos = (sal_Int32)&((Test3 *)0)->wChar;
-nPos = (sal_Int32)&((Test3 *)0)->td;
-nPos = (sal_Int32)&((Test3 *)0)->bBool;
-nPos = (sal_Int32)&((Test3 *)0)->aAny;
-*/
- OSL_ENSURE( sizeof( Test3 ) == getSize( getCppuType( (Test3*)0).getTypeLibType() ),
- "bad sizeof test3" );
- }
-
- {
- // test the default constructor
- Test1 a1;
- a1.nInt16 = 4;
- a1.dDouble = 3.6;
- a1.bBool = sal_True;
- uno_type_constructData( &a1, getCppuType( (Test1*)0).getTypeLibType() );
- OSL_ASSERT( a1.nInt16 == 0 && a1.dDouble == 0.0 && a1.bBool == sal_False);
-
- Test2 a2;
- a2.nInt16 = 2;
- a2.aTest1.nInt16 = 4;
- a2.aTest1.dDouble = 3.6;
- a2.aTest1.dDouble = sal_True;
- uno_type_constructData( &a2, getCppuType( (Test2*)0).getTypeLibType() );
- OSL_ASSERT( a2.nInt16 == 0 && a2.aTest1.nInt16 == 0 && a2.aTest1.dDouble == 0.0 && a2.aTest1.bBool == sal_False);
-
- Test3 * pa3 = (Test3 *)new char[ sizeof( Test3 ) ];
- Test3 & a3 = *pa3;
- a3.nInt8 = 2;
- a3.nFloat = (float)2;
- a3.nDouble = 2;
- a3.nInt16 = 2;
- a3.nuInt16 = 2;
- a3.nInt64 = 2;
- a3.nInt32 = 2;
- a3.nuInt64 = 2;
- a3.nuInt32 = 2;
- a3.eType = TypeClass_STRUCT;
- a3.wChar = L'g';
- a3.td.nInt16 = 2;
- a3.td.dDouble = 2;
- a3.bBool = sal_True;
- uno_type_constructData( &a3, getCppuType( (Test3*)0).getTypeLibType() );
- OSL_ASSERT( a3.nInt8 == 0 && a3.nFloat == (float)0
- && a3.nDouble == 0 && a3.nInt16 == 0 && a3.aString == OUString()
- && a3.nuInt16 == 0 && a3.nInt64 == 0 && a3.nInt32 == 0
- && a3.nuInt64 == 0 && a3.nuInt32 == 0 && a3.eType == TypeClass_VOID
- && a3.wChar == L'\0' && a3.td.nInt16 == 0 && a3.td.dDouble == 0
- && a3.bBool == sal_False );
- OSL_ASSERT( a3.aAny.getValueType() == getCppuVoidType() );
- delete[] reinterpret_cast< char * >(pa3);
- }
-
- {
- // test the destructor
- long a1[ sizeof( Test1 ) / sizeof(long) +1 ];
- uno_type_constructData( &a1, getCppuType( (Test1*)0).getTypeLibType() );
- uno_type_destructData( &a1, getCppuType( (Test1*)0).getTypeLibType(), reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
-
- long a2[ sizeof( Test2 ) / sizeof(long) +1 ];
- uno_type_constructData( &a2, getCppuType( (Test2*)0).getTypeLibType() );
- uno_type_destructData( &a2, getCppuType( (Test2*)0).getTypeLibType(), reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
-
- long a3[ sizeof( Test3 ) / sizeof(long) +1 ];
- uno_type_constructData( &a3, getCppuType( (Test3*)0).getTypeLibType() );
- OUString aTestString( RTL_CONSTASCII_USTRINGPARAM("test") );
- ((Test3*)a3)->aString = aTestString;
- uno_type_destructData( &a3, getCppuType( (Test3*)0).getTypeLibType(), reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
- OSL_ASSERT( aTestString.pData->refCount == 1 );
- }
-
- {
- // test the copy constructor
- Test1 a1;
- a1.nInt16 = 4;
- a1.dDouble = 3.6;
- a1.bBool = sal_True;
- char sz1[sizeof( Test1 )];
- uno_type_copyData( sz1, &a1, getCppuType( (Test1*)0).getTypeLibType(), reinterpret_cast<uno_AcquireFunc>(cpp_acquire) );
- OSL_ASSERT( ((Test1*)sz1)->nInt16 == 4 && ((Test1*)sz1)->dDouble == 3.6 && ((Test1*)sz1)->bBool == sal_True);
-
- Test2 a2;
- a2.nInt16 = 2;
- a2.aTest1.nInt16 = 4;
- a2.aTest1.dDouble = 3.6;
- a2.aTest1.bBool = sal_True;
- char sz2[sizeof( Test2 )];
- uno_type_copyData( sz2, &a2, getCppuType( (Test2*)0).getTypeLibType(),
- reinterpret_cast<uno_AcquireFunc>(cpp_acquire) );
- OSL_ASSERT( ((Test2*)sz2)->nInt16 == 2 );
- OSL_ASSERT(((Test2*)sz2)->aTest1.nInt16 == 4 );
- OSL_ASSERT( ((Test2*)sz2)->aTest1.dDouble == 3.6 );
- OSL_ASSERT(((Test2*)sz2)->aTest1.bBool == sal_True);
-
- Test3 a3;
- a3.nInt8 = 2;
- a3.nFloat = (float)2;
- a3.nDouble = 2;
- a3.nInt16 = 2;
- a3.aString = OUString::createFromAscii("2");
- a3.nuInt16 = 2;
- a3.nInt64 = 2;
- a3.nInt32 = 2;
- a3.nuInt64 = 2;
- a3.nuInt32 = 2;
- a3.eType = TypeClass_STRUCT;
- a3.wChar = L'2';
- a3.td.nInt16 = 2;
- a3.td.dDouble = 2;
- a3.bBool = sal_True;
- a3.aAny = makeAny( (sal_Int32)2 );
- char sz3[sizeof( Test3 )];
- uno_type_copyData( sz3, &a3, getCppuType( (Test3*)0).getTypeLibType(),
- reinterpret_cast<uno_AcquireFunc>(cpp_acquire) );
- OSL_ASSERT( ((Test3*)sz3)->nInt8 == 2 );
- OSL_ASSERT( ((Test3*)sz3)->nFloat == (float)2 );
- OSL_ASSERT( ((Test3*)sz3)->nDouble == 2 );
- OSL_ASSERT( ((Test3*)sz3)->nInt16 == 2 );
- OSL_ASSERT( ((Test3*)sz3)->aString == OUString::createFromAscii("2") );
- OSL_ASSERT( ((Test3*)sz3)->nuInt16 == 2 );
- OSL_ASSERT( ((Test3*)sz3)->nInt64 == 2 );
- OSL_ASSERT( ((Test3*)sz3)->nInt32 == 2 );
- OSL_ASSERT( ((Test3*)sz3)->nuInt64 == 2 );
- OSL_ASSERT( ((Test3*)sz3)->nuInt32 == 2 );
- OSL_ASSERT( ((Test3*)sz3)->eType == TypeClass_STRUCT );
- OSL_ASSERT( ((Test3*)sz3)->wChar == L'2' );
- OSL_ASSERT( ((Test3*)sz3)->td.nInt16 == 2 );
- OSL_ASSERT( ((Test3*)sz3)->td.dDouble == 2 );
- OSL_ASSERT( ((Test3*)sz3)->bBool == sal_True );
- OSL_ASSERT( ((Test3*)sz3)->aAny.getValueType() == getCppuType( (sal_Int32 *)0 ) );
- OSL_ASSERT( *(sal_Int32*)((Test3*)sz3)->aAny.getValue() == 2 );
- ((Test3 *)sz3)->~Test3();
- }
-
- {
- sal_Bool bAssignable;
- // test assignment
- Test1 a1;
- a1.nInt16 = 4;
- a1.dDouble = 3.6;
- a1.bBool = sal_True;
- Test1 sz1;
- bAssignable = uno_type_assignData(
- &sz1, getCppuType( (Test1*)0).getTypeLibType(),
- &a1, getCppuType( (Test1*)0).getTypeLibType(),
- reinterpret_cast<uno_QueryInterfaceFunc>(cpp_queryInterface),
- reinterpret_cast<uno_AcquireFunc>(cpp_acquire),
- reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
- OSL_ASSERT( bAssignable );
- OSL_ASSERT( sz1.nInt16 == 4 && sz1.dDouble == 3.6 && sz1.bBool == sal_True);
-
- Test2 a2;
- a2.nInt16 = 2;
- a2.aTest1.nInt16 = 4;
- a2.aTest1.dDouble = 3.6;
- a2.aTest1.bBool = sal_True;
- Test2 sz2;
- bAssignable = uno_type_assignData(
- &sz2, getCppuType( (Test2*)0).getTypeLibType(),
- &a2, getCppuType( (Test2*)0).getTypeLibType(),
- reinterpret_cast<uno_QueryInterfaceFunc>(cpp_queryInterface),
- reinterpret_cast<uno_AcquireFunc>(cpp_acquire),
- reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
- OSL_ASSERT( bAssignable );
- OSL_ASSERT( sz2.nInt16 == 2 && sz2.aTest1.nInt16 == 4
- && sz2.aTest1.dDouble == 3.6 && sz2.aTest1.bBool == sal_True);
-
- Test3 a3;
- Test3 sz3;
- a3.nInt8 = 2;
- a3.nFloat = (float)2;
- a3.nDouble = 2;
- a3.nInt16 = 2;
- a3.aString = OUString::createFromAscii("2");
- a3.nuInt16 = 2;
- a3.nInt64 = 2;
- a3.nInt32 = 2;
- a3.nuInt64 = 2;
- a3.nuInt32 = 2;
- a3.eType = TypeClass_STRUCT;
- a3.wChar = L'2';
- a3.td.nInt16 = 2;
- a3.td.dDouble = 2;
- a3.bBool = sal_True;
- a3.aAny = makeAny( (sal_Int32)2 );
- OSL_ASSERT( a3.aAny.isExtractableTo( ::getCppuType( (sal_Int64 const *)0 ) ) );
- OSL_ASSERT( ::getCppuType( (sal_Int64 const *)0 ).isAssignableFrom( a3.aAny.getValueType() ) );
- bAssignable = uno_type_assignData(
- &sz3, getCppuType( (Test3*)0).getTypeLibType(),
- &a3, getCppuType( (Test3*)0).getTypeLibType(),
- reinterpret_cast<uno_QueryInterfaceFunc>(cpp_queryInterface),
- reinterpret_cast<uno_AcquireFunc>(cpp_acquire),
- reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
- OSL_ASSERT( bAssignable );
- OSL_ASSERT( sz3.nInt8 == 2 );
- OSL_ASSERT( sz3.nFloat == (float)2 );
- OSL_ASSERT( sz3.nDouble == 2 );
- OSL_ASSERT( sz3.nInt16 == 2 );
- OSL_ASSERT( sz3.aString == OUString::createFromAscii("2") );
- OSL_ASSERT( sz3.nuInt16 == 2 );
- OSL_ASSERT( sz3.nInt64 == 2 );
- OSL_ASSERT( sz3.nInt32 == 2 );
- OSL_ASSERT( sz3.nuInt64 == 2 );
- OSL_ASSERT( sz3.nuInt32 == 2 );
- OSL_ASSERT( sz3.eType == TypeClass_STRUCT );
- OSL_ASSERT( sz3.wChar == L'2' );
- OSL_ASSERT( sz3.td.nInt16 == 2 );
- OSL_ASSERT( sz3.td.dDouble == 2 );
- OSL_ASSERT( sz3.bBool == sal_True );
- OSL_ASSERT( sz3.aAny.getValueType() == getCppuType( (sal_Int32 *)0 ) );
- OSL_ASSERT( *(sal_Int32*)sz3.aAny.getValue() == 2 );
-
- // test not assigneable values
- bAssignable = uno_type_assignData(
- &a1, getCppuType( (Test1*)0).getTypeLibType(),
- &a2, getCppuType( (Test2*)0).getTypeLibType(),
- reinterpret_cast<uno_QueryInterfaceFunc>(cpp_queryInterface),
- reinterpret_cast<uno_AcquireFunc>(cpp_acquire), reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
- OSL_ASSERT( !bAssignable );
- }
-
- {
- // test any
- Any tb;
- tb <<= true;
- OSL_ASSERT( tb.getValueType() == ::getCppuBooleanType() );
- OSL_ASSERT( tb == makeAny( true ) );
- Any aAny = makeAny( (sal_Int8)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_Int8 *)0 ) );
- OSL_ASSERT( *(sal_Int8*)aAny.getValue() == 2 );
- aAny = makeAny( (float)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (float *)0 ) );
- OSL_ASSERT( *(float*)aAny.getValue() == (float)2 );
- aAny = makeAny( (sal_Int8)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_Int8 *)0 ) );
- OSL_ASSERT( *(sal_Int8*)aAny.getValue() == 2 );
- aAny = makeAny( (double)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (double *)0 ) );
- OSL_ASSERT( *(double*)aAny.getValue() == (double)2 );
- aAny = makeAny( (sal_Int16)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_Int16 *)0 ) );
- OSL_ASSERT( *(sal_Int16*)aAny.getValue() == 2 );
- aAny = makeAny( OUString( RTL_CONSTASCII_USTRINGPARAM("test") ) );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (OUString *)0 ) );
- OSL_ASSERT( *(OUString*)aAny.getValue() == OUString::createFromAscii("test") );
- aAny = makeAny( (sal_uInt16)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_uInt16 *)0 ) );
- OSL_ASSERT( *(sal_Int16*)aAny.getValue() == 2 );
- sal_Int64 aInt64 = SAL_CONST_INT64(0x200000000);
- aAny = makeAny( aInt64 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_Int64 *)0 ) );
- OSL_ASSERT( *(sal_Int64*)aAny.getValue() == SAL_CONST_INT64(0x200000000) );
- aAny = makeAny( (sal_Int32)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_Int32 *)0 ) );
- OSL_ASSERT( *(sal_Int32*)aAny.getValue() == 2 );
- sal_uInt64 auInt64 = SAL_CONST_UINT64(0x200000000);
- aAny = makeAny( auInt64 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_uInt64 *)0 ) );
- OSL_ASSERT( *(sal_uInt64*)aAny.getValue() == SAL_CONST_UINT64(0x200000000) );
- aAny = makeAny( (sal_uInt32)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_uInt32 *)0 ) );
- OSL_ASSERT( *(sal_uInt32*)aAny.getValue() == 2 );
- aAny = makeAny( TypeClass_STRUCT );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (TypeClass *)0 ) );
- OSL_ASSERT( *(TypeClass*)aAny.getValue() == TypeClass_STRUCT );
- sal_Unicode c = L'2';
- aAny.setValue( &c, getCppuCharType() );
- OSL_ASSERT( aAny.getValueType() == getCppuCharType() );
- OSL_ASSERT( *(sal_Unicode*)aAny.getValue() == L'2' );
- sal_Bool b2 = sal_True;
- aAny.setValue( &b2, getCppuBooleanType() );
- OSL_ASSERT( aAny.getValueType() == getCppuBooleanType() );
- OSL_ASSERT( *(sal_Bool*)aAny.getValue() == sal_True );
- }
-
- {
- // test: operator <<=( any, value )
- Any aAny;
- aAny <<= (sal_Int8)2;
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_Int8 *)0 ) );
- OSL_ASSERT( *(sal_Int8*)aAny.getValue() == 2 );
- aAny <<=( (float)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (float *)0 ) );
- OSL_ASSERT( *(float*)aAny.getValue() == (float)2 );
-// aAny <<=( (sal_uInt8)2 );
-// OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_uInt8 *)0 ) );
-// OSL_ASSERT( *(sal_uInt8*)aAny.getValue() == 2 );
- aAny <<=( (double)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (double *)0 ) );
- OSL_ASSERT( *(double*)aAny.getValue() == (double)2 );
- aAny <<=( (sal_Int16)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_Int16 *)0 ) );
- OSL_ASSERT( *(sal_Int16*)aAny.getValue() == 2 );
- aAny <<=( OUString( RTL_CONSTASCII_USTRINGPARAM("test") ) );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (OUString *)0 ) );
- OSL_ASSERT( *(OUString*)aAny.getValue() == OUString::createFromAscii("test") );
- aAny <<=( (sal_uInt16)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_uInt16 *)0 ) );
- OSL_ASSERT( *(sal_Int16*)aAny.getValue() == 2 );
- sal_Int64 aInt64 = SAL_CONST_INT64(0x200000000);
- aAny <<=( aInt64 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_Int64 *)0 ) );
- OSL_ASSERT( *(sal_Int64*)aAny.getValue() == SAL_CONST_UINT64(0x200000000) );
- aAny <<=( (sal_Int32)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_Int32 *)0 ) );
- OSL_ASSERT( *(sal_Int32*)aAny.getValue() == 2 );
- sal_uInt64 auInt64 = SAL_CONST_UINT64(0x200000000);
- aAny <<=( auInt64 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_uInt64 *)0 ) );
- OSL_ASSERT( *(sal_uInt64*)aAny.getValue() == SAL_CONST_UINT64(0x200000000) );
- aAny <<=( (sal_uInt32)2 );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (sal_uInt32 *)0 ) );
- OSL_ASSERT( *(sal_uInt32*)aAny.getValue() == 2 );
- aAny <<=( TypeClass_STRUCT );
- OSL_ASSERT( aAny.getValueType() == getCppuType( (TypeClass *)0 ) );
- OSL_ASSERT( *(TypeClass*)aAny.getValue() == TypeClass_STRUCT );
- }
-
- {
- // test seq< any >
- Sequence< Any > seqAny( 1 );
- seqAny[ 0 ] <<= sal_Int32(5);
- seqAny.realloc( 200000 ); // hopefully different memory
- seqAny[ 1 ] <<= sal_Int32(6);
-
- uno_Any * pAnys = (uno_Any *)seqAny.getConstArray();
- OSL_ASSERT( pAnys[ 1 ].pData == &pAnys[ 1 ].pReserved );
- OSL_ASSERT( *(sal_Int32 *)pAnys[ 1 ].pData == sal_Int32(6) );
- OSL_ASSERT( pAnys[ 0 ].pData == &pAnys[ 0 ].pReserved );
- OSL_ASSERT( *(sal_Int32 *)pAnys[ 0 ].pData == sal_Int32(5) );
- }
-
- {
- // test: operator >>=( any, value )
- Test3 a3;
- makeAny( (sal_Int8)2) >>= a3.nInt8;
- OSL_ASSERT( (makeAny( (sal_Int8)2) >>= a3.nInt8) && a3.nInt8 == 2 );
- OSL_ASSERT( (makeAny( (float)2) >>= a3.nFloat) && a3.nFloat ==(float)2 );
- OSL_ASSERT( (makeAny( (double)2) >>= a3.nDouble) && a3.nDouble == 2 );
- OSL_ASSERT( (makeAny( (sal_Int16)2) >>= a3.nInt16) && a3.nInt16 == 2 );
- OSL_ASSERT( (makeAny( OUString( RTL_CONSTASCII_USTRINGPARAM("2") )) >>= a3.aString) &&
- a3.aString == OUString::createFromAscii("2") );
- OSL_ASSERT( (makeAny( (sal_uInt16)2) >>= a3.nuInt16) && a3.nuInt16 == 2 );
- sal_Int64 aInt64 = SAL_CONST_INT64(0x200000000);
- OSL_ASSERT( makeAny( aInt64 ) >>= a3.nInt64 );
- OSL_ASSERT( a3.nInt64 == SAL_CONST_INT64(0x200000000) );
- OSL_ASSERT( (makeAny( (sal_Int32)2) >>= a3.nInt32) && a3.nInt32 == 2 );
- sal_uInt64 auInt64 = SAL_CONST_UINT64(0x200000000);
- OSL_ASSERT( makeAny( auInt64 ) >>= a3.nuInt64 );
- OSL_ASSERT( a3.nuInt64 == SAL_CONST_UINT64(0x200000000) );
- OSL_ASSERT( (makeAny( (sal_uInt32)2) >>= a3.nuInt32) && a3.nuInt32 == 2 );
- OSL_ASSERT( (makeAny( TypeClass_STRUCT) >>= a3.eType) && a3.eType == TypeClass_STRUCT );
- //OSL_ASSERT( (makeAny( L'2' ) >>= a3.wChar) && a3.nInt8 ==L'2';
- OSL_ASSERT( (makeAny( (sal_Int16)2) >>= a3.td.nInt16) && a3.nInt16 == 2 );
- OSL_ASSERT( (makeAny( (double)2) >>= a3.td.dDouble) && a3.nDouble == 2 );
- //OSL_ASSERT( (makeAny( (sal_True)2) >>= a3.bBool) && a3.nInt8 ==sal_True;
-
- // Only one negative test, the implementation has only one if to test this
- OSL_ASSERT( (makeAny( (float)2) >>= a3.nFloat) && a3.nFloat ==(float)2 );
- }
-
- {
- // test: Sequence
- Sequence< Test1 > aTestSeq;
- OSL_ASSERT( aTestSeq.getLength() == 0 );
- sal_Int32 szInt32[2] = { 1, 2 };
- Sequence< sal_Int32 > aInt32Seq( szInt32, 2 );
- OSL_ASSERT( aInt32Seq.getLength() == 2 );
- OSL_ASSERT( aInt32Seq[0] == 1 && aInt32Seq[1] == 2 );
- OSL_ASSERT( aInt32Seq.getArray()[0] == 1 && aInt32Seq.getArray()[1] == 2 );
- Sequence< sal_Int32 > aNextInt32Seq( aInt32Seq );
- OSL_ASSERT( aNextInt32Seq[0] == 1 && aNextInt32Seq[1] == 2 );
- aInt32Seq[0] = 45;
- OSL_ASSERT( aInt32Seq[0] == 45 && aInt32Seq[1] == 2 );
- OSL_ASSERT( aNextInt32Seq[0] == 1 && aNextInt32Seq[1] == 2 );
- sal_Int32 * pArray = aNextInt32Seq.getArray();
- OSL_ASSERT( pArray[0] == 1 && pArray[1] == 2 );
- Sequence< double > aDoubleSeq( 5 );
- OSL_ASSERT( aDoubleSeq[4] == 0.0 );
- Sequence< OUString > aStringSeq( 5 );
- OSL_ASSERT( aStringSeq[4] == OUString() );
- }
- sal_Int32 szInt32[2] = { 1, 2 };
- Sequence<sal_Int32 > aInt32Seq( szInt32, 2 );
- Sequence<sal_Int32 > aNextInt32Seq( aInt32Seq );
- aNextInt32Seq.realloc( 1 ); // split of sequence
- const sal_Int32 * pArray = aNextInt32Seq.getConstArray();
- OSL_ASSERT( pArray[0] == 1 );
- aInt32Seq.realloc( 1 ); // reallocate mem
- pArray = aInt32Seq.getConstArray();
- OSL_ASSERT( pArray[0] == 1 );
-
- Sequence<sal_Int32 > aInt32Seq2( aInt32Seq );
- aInt32Seq.realloc( 0 );
- aInt32Seq.realloc( 1 );
- aInt32Seq.realloc( 0 );
-}
-
-class TestInterface : public XInterface
-{
-public:
- // XInterface
- void SAL_CALL acquire() throw ()
- { osl_incrementInterlockedCount( &nRefCount ); }
- void SAL_CALL release() throw ()
- { if( !osl_decrementInterlockedCount( &nRefCount ) ) delete this; }
- Any SAL_CALL queryInterface( const Type & rType ) throw (RuntimeException)
- { return cppu::queryInterface( rType, static_cast< XInterface* >( this ) ); }
-
- TestInterface() : nRefCount( 0 ) {}
-
- sal_Int32 nRefCount;
-};
-
-struct SimpleInterface : public TestInterface, public XSimpleInterface
-{
- void SAL_CALL acquire() throw ()
- { TestInterface::acquire(); }
- void SAL_CALL release() throw ()
- { TestInterface::release(); }
- Any SAL_CALL queryInterface( const Type & rType ) throw (RuntimeException)
- {
- Any aRet( cppu::queryInterface( rType, static_cast< XSimpleInterface * >( this ) ) );
- return (aRet.hasValue() ? aRet : TestInterface::queryInterface( rType ));
- }
- virtual void SAL_CALL method() throw(::com::sun::star::uno::RuntimeException)
- {}
-};
-
-static sal_Bool s_aAssignableFromTab[11][11] =
-{
- /* from CH,BO,BY,SH,US,LO,UL,HY,UH,FL,DO */
-/* TypeClass_CHAR */ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-/* TypeClass_BOOLEAN */ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-/* TypeClass_BYTE */ { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
-/* TypeClass_SHORT */ { 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0 },
-/* TypeClass_UNSIGNED_SHORT */ { 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0 },
-/* TypeClass_LONG */ { 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0 },
-/* TypeClass_UNSIGNED_LONG */ { 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0 },
-/* TypeClass_HYPER */ { 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0 },
-/* TypeClass_UNSIGNED_HYPER */ { 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0 },
-/* TypeClass_FLOAT */ { 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0 },
-/* TypeClass_DOUBLE */ { 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1 }
-};
-template < class T >
-void test_assignSimple( const T & rVal, /*const*/ Any /*&*/ rAny )
-{
- typelib_TypeDescription * pTD = 0;
- ::getCppuType( &rVal ).getDescription( &pTD );
- sal_Bool bTable = s_aAssignableFromTab[pTD->eTypeClass-1][rAny.getValueTypeClass()-1];
- OSL_ASSERT(
- (bTable!=sal_False) ==
- (typelib_typedescriptionreference_isAssignableFrom(
- pTD->pWeakRef, rAny.getValueTypeRef() )!=sal_False) );
- T t;
- OSL_ASSERT( (bTable!=sal_False) == ((rAny >>= t)!=sal_False) );
- if (bTable)
- OSL_ASSERT( t == rVal );
- typelib_typedescription_release( pTD );
-}
-template < class T >
-void test_simple_assignment( const T & rVal )
-{
- // bool
- sal_Bool tr = sal_True;
- typelib_TypeDescription * pBoolTD = 0;
- ::getCppuBooleanType().getDescription( &pBoolTD );
- Any a( &tr, pBoolTD );
- test_assignSimple( rVal, a );
- OSL_ASSERT( typelib_typedescriptionreference_isAssignableFrom( pBoolTD->pWeakRef, a.getValueTypeRef() ) );
- typelib_typedescription_release( pBoolTD );
- OSL_ASSERT( *(sal_Bool *)a.getValue() );
- // char
- sal_Unicode ch = 'a';
- typelib_TypeDescription * pCharTD = 0;
- ::getCppuCharType().getDescription( &pCharTD );
- a.setValue( &ch, pCharTD );
- test_assignSimple( rVal, a );
- OSL_ASSERT( typelib_typedescriptionreference_isAssignableFrom( pCharTD->pWeakRef, a.getValueTypeRef() ) );
- typelib_typedescription_release( pCharTD );
- OSL_ASSERT( *(sal_Unicode *)a.getValue() == 'a' );
-
- // rest by template
- a <<= (sal_Int8)5;
- test_assignSimple( rVal, a );
- a <<= (sal_Int16)5;
- test_assignSimple( rVal, a );
- a <<= (sal_uInt16)5;
- test_assignSimple( rVal, a );
- a <<= (sal_Int32)5;
- test_assignSimple( rVal, a );
- a <<= (sal_uInt32)5;
- test_assignSimple( rVal, a );
- a <<= (sal_Int64)5;
- test_assignSimple( rVal, a );
- a <<= (sal_uInt64)5;
- test_assignSimple( rVal, a );
- a <<= (float)5;
- test_assignSimple( rVal, a );
- a <<= (double)5;
- test_assignSimple( rVal, a );
-}
-static void testAssignment()
-{
- // simple types
- test_simple_assignment( (sal_Int8)5 );
- test_simple_assignment( (sal_Int16)5 );
- test_simple_assignment( (sal_uInt16)5 );
- test_simple_assignment( (sal_Int32)5 );
- test_simple_assignment( (sal_uInt32)5 );
- test_simple_assignment( (sal_Int64)5 );
- test_simple_assignment( (sal_uInt64)5 );
- test_simple_assignment( (float)5 );
- test_simple_assignment( (double)5 );
- // some complex things
- Any a;
- TestSimple ts;
- TestElement te; // derived from simple
- a <<= ts;
- OSL_ASSERT( !(a >>= te) );
- OSL_ASSERT( a >>= ts );
- a <<= te;
- OSL_ASSERT( (a >>= te) && (a >>= ts) );
- // interface
- Reference< XSimpleInterface > xOriginal( new SimpleInterface() );
- a <<= xOriginal;
- Reference< XInterface > x;
- OSL_ASSERT( (a >>= x) && (a == xOriginal) && (xOriginal == x) && (x == xOriginal) );
- // sequence
- Sequence< TestElement > aSeq( 5 );
- Sequence< TestElement > aSeq2( 3 );
- aSeq[1].Byte = 17;
- a <<= aSeq;
- OSL_ASSERT( a >>= aSeq2 );
- OSL_ASSERT( aSeq2[1].Byte == 17 );
- aSeq2[1].Byte = 20;
- OSL_ASSERT( aSeq != aSeq2 );
- OSL_ASSERT( a != aSeq2 );
- a <<= aSeq2;
- OSL_ASSERT( a >>= aSeq );
- OSL_ASSERT( a == aSeq );
- OSL_ASSERT( !(a != aSeq) );
- OSL_ASSERT( aSeq == aSeq2 );
- OSL_ASSERT( aSeq[1].Byte == 20 );
-
- // equals...
- sal_uInt64 n = (sal_uInt64)(sal_Int64)-5;
- a.setValue( &n, getCppuType( (sal_uInt64 *)0 ) );
- Any b;
- sal_Int8 n2 = -5;
- b.setValue( &n2, getCppuType( (sal_Int8 *)0 ) );
- OSL_ASSERT( a != b );
-}
-
-void test_interface()
-{
- {
- // test: Interface
- Reference< XInterface > xIFace;
- OSL_ASSERT( !xIFace.is() );
- xIFace.clear(); // do nothing
- }
-}
-
-void test_inheritance()
-{
- OSL_ASSERT( sizeof( Base ) == getSize( getCppuType( (Base *)0).getTypeLibType() ) );
- OSL_ASSERT( sizeof( Base1 ) == getSize( getCppuType( (Base1 *)0).getTypeLibType() ) );
- OSL_ASSERT( sizeof( Base2 ) == getSize( getCppuType( (Base2 *)0).getTypeLibType() ) );
-}
-
-sal_Int32 nCallback_1;
-sal_Int32 nCallback;
-void SAL_CALL typedescription_Callback_1
-(
- void * pContext,
- typelib_TypeDescription ** ppRet,
- rtl_uString * pTypeName
-)
-{
- OSL_ENSURE( pContext == (void *)1, "### unexpected context!" );
- if( *ppRet )
- {
- typelib_typedescription_release( *ppRet );
- *ppRet = 0;
- }
-
- OUString aTypeName( pTypeName );
- if( -1 != aTypeName.indexOf( OUString::createFromAscii("1_") ) )
- {
- nCallback_1++;
- OUString aName( RTL_CONSTASCII_USTRINGPARAM("unsigned short") );
- OUString empty;
- typelib_CompoundMember_Init aMember = { typelib_TypeClass_UNSIGNED_SHORT,
- aName.pData,
- empty.pData };
- typelib_typedescription_new(
- ppRet,
- typelib_TypeClass_STRUCT, pTypeName, 0,
- 1,
- &aMember
- );
- }
-}
-
-void SAL_CALL typedescription_Callback
-(
- void * pContext,
- typelib_TypeDescription ** ppRet,
- rtl_uString * pTypeName
-)
-{
- OSL_ENSURE( pContext == (void *)0, "### unexpected context!" );
- if( *ppRet )
- {
- typelib_typedescription_release( *ppRet );
- *ppRet = 0;
- }
-
- OUString aTypeName( pTypeName );
- if( -1 != aTypeName.indexOf( OUString::createFromAscii("cachetest") ) )
- {
- nCallback++;
- aTypeName = OUString( RTL_CONSTASCII_USTRINGPARAM("1_") ) + aTypeName;
- OUString empty;
- typelib_CompoundMember_Init aMember = { typelib_TypeClass_STRUCT,
- aTypeName.pData,
- empty.pData };
- typelib_typedescription_new(
- ppRet,
- typelib_TypeClass_STRUCT, pTypeName, 0,
- 1,
- &aMember
- );
- }
-}
-
-void test_cache()
-{
- typelib_typedescription_registerCallback(
- (void *)1,
- reinterpret_cast<typelib_typedescription_Callback>(typedescription_Callback_1) );
- typelib_typedescription_registerCallback(
- 0,
- reinterpret_cast<typelib_typedescription_Callback>(typedescription_Callback) );
-
- for( sal_Int32 i = 0; i < 300; i++ )
- {
- typelib_TypeDescription * pTD = 0;
- OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("cachetest") );
- aTypeName = aTypeName + OUString::valueOf( i );
- typelib_typedescription_getByName( &pTD, aTypeName.pData );
- typelib_typedescription_release( pTD );
- }
- OSL_ASSERT( nCallback_1 == 300 );
- OSL_ASSERT( nCallback == 300 );
- // The cache size is 200 so the description "cachetest200" is in the cache
- typelib_TypeDescription * pTD = 0;
- OUString aName200( RTL_CONSTASCII_USTRINGPARAM("cachetest200") );
- typelib_typedescription_getByName( &pTD, aName200.pData );
- OSL_ASSERT( nCallback_1 == 300 );
- OSL_ASSERT( nCallback == 300 );
- // The cache size is 200 so the description "cachetest199" is not in the cache
- // "1_cachetest199" is loaded too.
- OUString aName199( RTL_CONSTASCII_USTRINGPARAM("cachetest199") );
- typelib_typedescription_getByName( &pTD, aName199.pData );
- typelib_typedescription_release( pTD );
- OSL_ASSERT( nCallback_1 == 301 );
- OSL_ASSERT( nCallback == 301 );
-
- typelib_typedescription_revokeCallback(
- (void *)1,
- reinterpret_cast<typelib_typedescription_Callback>(typedescription_Callback_1) );
- typelib_typedescription_revokeCallback(
- 0,
- reinterpret_cast<typelib_typedescription_Callback>(typedescription_Callback) );
-}
-
-static OUString s_aAddPurpose;
-
-static void SAL_CALL getMappingCallback(
- uno_Mapping ** /*ppMapping*/,
- uno_Environment * /*pFrom*/, uno_Environment * /*pTo*/, rtl_uString * pAddPurpose )
-{
- s_aAddPurpose = pAddPurpose;
-}
-static void testMappingCallback()
-{
- uno_registerMappingCallback( reinterpret_cast<uno_getMappingFunc>(getMappingCallback) );
- OSL_ASSERT( ! s_aAddPurpose.getLength() );
- Mapping aTest(
- OUString( RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME) ),
- OUString( RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME) ),
- OUString( RTL_CONSTASCII_USTRINGPARAM("test") ) );
- uno_revokeMappingCallback( reinterpret_cast<uno_getMappingFunc>(getMappingCallback) );
- OSL_ASSERT( s_aAddPurpose.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("test") ) );
- s_aAddPurpose = OUString();
- Mapping aTest2(
- OUString( RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME) ),
- OUString( RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME) ),
- OUString( RTL_CONSTASCII_USTRINGPARAM("test") ) );
- OSL_ASSERT( ! s_aAddPurpose.getLength() );
-}
-
-static void testEnvironments(void)
-{
- uno_Environment ** ppEnv;
- sal_Int32 nLen;
- OUString aTypeName;
-
- ::uno_getRegisteredEnvironments(
- &ppEnv, &nLen, ::rtl_allocateMemory, aTypeName.pData );
-
- if (nLen)
- {
- for ( sal_Int32 nPos = 0; nPos < nLen; ++nPos )
- {
- uno_Environment * pEnv = ppEnv[ nPos ];
-
- // dump out infos
- ::uno_dumpEnvironment( stderr, pEnv, 0 );
-
- // call some releases
- void ** ppInterfaces = 0;
- sal_Int32 nInterfaces;
-
- uno_ExtEnvironment * pExtEnv = pEnv->pExtEnv;
- (*pExtEnv->getRegisteredInterfaces)(
- pExtEnv, &ppInterfaces, &nInterfaces, ::rtl_allocateMemory );
- if (nInterfaces)
- {
- while (nInterfaces--)
- {
- void * p = ppInterfaces[ nInterfaces ];
- (*pExtEnv->releaseInterface)( pExtEnv, p );
- }
- ::rtl_freeMemory( ppInterfaces );
- }
-
- (*pEnv->release)( pEnv );
- }
- ::rtl_freeMemory( ppEnv );
- }
-}
-
-inline const ::com::sun::star::uno::Type& SAL_CALL getCppuType( const Sequence< OUString[2][4] >* ) SAL_THROW( () )
-{
- return getCppuSequenceType< OUString[2][4] >( getCppuArrayType2( (const OUString (*)[2][4])0 ) );
-}
-
-//==================================================================================================
-class Test_CContext
- : public ::cppu::WeakImplHelper1< XCurrentContext >
-{
- Reference< XCurrentContext > m_xDel;
- sal_Int32 m_value;
- OUString m_name;
-public:
- inline Test_CContext( sal_Int32 val, OUString const & rName,
- Reference< XCurrentContext > const & xDel )
- SAL_THROW( () )
- : m_xDel( xDel )
- , m_value( val )
- , m_name( rName )
- {}
-
- virtual Any SAL_CALL getValueByName( OUString const & rName )
- throw (RuntimeException);
-};
-//__________________________________________________________________________________________________
-Any Test_CContext::getValueByName( OUString const & rName )
- throw (RuntimeException)
-{
- if (rName == m_name)
- {
- return makeAny( m_value );
- }
- else if (m_xDel.is())
- {
- return m_xDel->getValueByName( rName );
- }
- return Any();
-}
-//==================================================================================================
-static void testCurrentContext()
-{
- {
- ContextLayer layer( new Test_CContext(
- 5, OUString( RTL_CONSTASCII_USTRINGPARAM("Value1") ),
- Reference< XCurrentContext >() ) );
- Reference< XCurrentContext > xCC( getCurrentContext() );
- OSL_ASSERT(
- xCC.is() &&
- xCC->getValueByName( OUString( RTL_CONSTASCII_USTRINGPARAM("Value1") ) ) == (sal_Int16)5 &&
- !xCC->getValueByName( OUString( RTL_CONSTASCII_USTRINGPARAM("Value2") ) ).hasValue() );
- OSL_ASSERT( ! layer.getPreviousContext().is() );
-
- {
- ContextLayer layer2( new Test_CContext(
- 7, OUString( RTL_CONSTASCII_USTRINGPARAM("Value2") ),
- xCC ) );
- OSL_ASSERT( layer2.getPreviousContext() == xCC );
- xCC = getCurrentContext();
- OSL_ASSERT(
- xCC.is() &&
- xCC->getValueByName( OUString( RTL_CONSTASCII_USTRINGPARAM("Value1") ) ) == (sal_Int16)5 &&
- xCC->getValueByName( OUString( RTL_CONSTASCII_USTRINGPARAM("Value2") ) ) == (sal_Int16)7 &&
- !xCC->getValueByName( OUString( RTL_CONSTASCII_USTRINGPARAM("dummy") ) ).hasValue() );
-
- uno_Interface * pContext = 0;
- OUString aEnvName( RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO) );
- OSL_VERIFY( ::uno_getCurrentContext( (void **)&pContext, aEnvName.pData, 0 ) );
- (*pContext->release)( pContext );
- }
- OSL_ASSERT( ! layer.getPreviousContext().is() );
- }
- OSL_ASSERT( ! getCurrentContext().is() );
-}
-
-void testArray(void)
-{
- long a[5][6];
- getCppuArrayType2( &a );
-
- getCppuArrayType1( (const long (*)[5])0 );
- getCppuArrayType2( (const long (*)[6][7])0 );
- getCppuArrayType3( (const long (*)[7][8][9])0 );
- getCppuArrayType4( (const long (*)[8][9][10][11])0 );
- getCppuArrayType5( (const long (*)[9][10][11][12][13])0 );
- getCppuArrayType6( (const long (*)[10][11][12][13][14][15])0 );
-
- getCppuArrayType2( (const Reference< XInterface > (*)[6][7])0 );
-
- getCppuArrayType1( (const Test1 (*)[5])0 );
- getCppuArrayType2( (const Test1 (*)[6][7])0 );
- getCppuArrayType3( (const Test1 (*)[7][8][9])0 );
- getCppuArrayType4( (const Test1 (*)[8][9][10][11])0 );
- getCppuArrayType5( (const Test1 (*)[9][10][11][12][13])0 );
- getCppuArrayType6( (const Test1 (*)[10][11][12][13][14][15])0 );
-
- typelib_TypeDescription* pType = NULL;
- typelib_TypeDescriptionReference* pTypeRef = NULL;
- sal_Int32 pDim[] = { 2, 4 };
- Type rType = getCppuType((const sal_Int32*)0);
- typelib_typedescription_newArray(&pType, rType.getTypeLibType(), 2, pDim);
- OSL_ASSERT( pType );
- typelib_typedescriptionreference_new(&pTypeRef, typelib_TypeClass_ARRAY, pType->pTypeName);
- OSL_ASSERT( pTypeRef );
-
- sal_Int32 a1[2][4];
- sal_Int32 a2[2][4] = { {1,2,3,4}, {5,6,7,8} };
- uno_constructData( &a1, pType );
-// uno_type_constructData( &a1, pTypeRef );
-
- sal_Bool bAssignable = uno_assignData(&a1, pType, a2, pType,
- reinterpret_cast<uno_QueryInterfaceFunc>(cpp_queryInterface),
- reinterpret_cast<uno_AcquireFunc>(cpp_acquire),
- reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
- sal_Int32 i,j;
- for ( i=0; i<2; i++ )
- for ( j=0; j<4; j++ )
- OSL_ASSERT( a1[i][j] == a2[i][j] );
-
- uno_destructData( a1, pType, reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
-// uno_type_destructData( &a1, pTypeRef, cpp_release );
- uno_destructData( a2, pType, reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
-
- typelib_typedescription_release(pType);
- typelib_typedescriptionreference_release(pTypeRef);
- pType = NULL;
- pTypeRef = NULL;
-
- typelib_typedescription_newArray(&pType, getCppuType((const OUString*)0).getTypeLibType(), 2, pDim);
- OSL_ASSERT( pType );
- typelib_typedescriptionreference_new(&pTypeRef, typelib_TypeClass_ARRAY, pType->pTypeName);
- OSL_ASSERT( pTypeRef );
-
- OUString s1(OUString::createFromAscii("Hallo"));
- OUString s2(OUString::createFromAscii("jetzt"));
- OUString s3(OUString::createFromAscii("teste"));
- OUString s4(OUString::createFromAscii("ich"));
- OUString s5(OUString::createFromAscii("ein"));
- OUString s6(OUString::createFromAscii("Array"));
- OUString s7(OUString::createFromAscii("mit"));
- OUString s8(OUString::createFromAscii("strings"));
- OUString st1,st2,st3,st4,st5,st6,st7,st8;
-
- void* p = rtl_allocateMemory(8 * sizeof(rtl_uString*));
- void* p2 = rtl_allocateMemory(8 * sizeof(rtl_uString*));
- rtl_uString** ppS = (rtl_uString**)p;
- rtl_uString* sa1[2][4] = { {st1.pData,st2.pData,st3.pData,st4.pData},
- {st5.pData,st6.pData,st7.pData,st8.pData} };
- rtl_uString* sa2[2][4] = { {s1.pData,s2.pData,s3.pData,s4.pData},
- {s5.pData,s6.pData,s7.pData,s8.pData} };
- uno_constructData( p, pType );
-
- bAssignable = uno_assignData(p, pType, sa2, pType,
- reinterpret_cast<uno_QueryInterfaceFunc>(cpp_queryInterface),
- reinterpret_cast<uno_AcquireFunc>(cpp_acquire),
- reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
-
- bAssignable = uno_assignData(sa1, pType, p, pType,
- reinterpret_cast<uno_QueryInterfaceFunc>(cpp_queryInterface),
- reinterpret_cast<uno_AcquireFunc>(cpp_acquire),
- reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
-
- for ( i=0; i<2; i++ )
- for ( j=0; j<4; j++ )
- OSL_ASSERT( sa1[i][j] == sa2[i][j] );
-
- OUString sA[2][4];
- sA[0][0] = s1;
- sA[1][0] = s5;
- sA[0][1] = s2;
- sA[1][1] = s6;
- sA[0][2] = s3;
- sA[1][2] = s7;
- sA[0][3] = s4;
- sA[1][3] = s8;
-
- Any aa1, aa2;
- Type arrayType;
- OUString (*sB)[2][4];
- aa1.setValue(&sA, getCppuArrayType2( (const OUString (*)[2][4])0 ));
- aa2 = aa1;
- arrayType = aa2.getValueType();
- sB = (OUString(*)[2][4])aa2.getValue();
- for ( i=0; i<2; i++ )
- for ( j=0; j<4; j++ )
- OSL_ASSERT( sA[i][j] == (*sB)[i][j] );
-
- // requires a specialized getCppuType function 'getCppuType( const Sequence< OUString[2][4] >* )'
-// Sequence< OUString[2][4] > aSeq(2);
-// OUString (*pSeq)[2][4] = aSeq.getArray();
-// uno_copyData(pSeq[0], sA, pType, cpp_acquire);
-// uno_copyData(pSeq[1], sA, pType, cpp_acquire);
-
-// OSL_ASSERT( aSeq[0][0][0] == sA[0][0] );
-// OSL_ASSERT( aSeq[0][0][1] == sA[0][1] );
-// OSL_ASSERT( aSeq[0][0][2] == sA[0][2] );
-// OSL_ASSERT( aSeq[0][0][3] == sA[0][3] );
-// OSL_ASSERT( aSeq[0][1][0] == sA[1][0] );
-// OSL_ASSERT( aSeq[0][1][1] == sA[1][1] );
-// OSL_ASSERT( aSeq[0][1][2] == sA[1][2] );
-// OSL_ASSERT( aSeq[0][1][3] == sA[1][3] );
-
-// OSL_ASSERT( aSeq[1][0][0] == sA[0][0] );
-// OSL_ASSERT( aSeq[1][0][1] == sA[0][1] );
-// OSL_ASSERT( aSeq[1][0][2] == sA[0][2] );
-// OSL_ASSERT( aSeq[1][0][3] == sA[0][3] );
-// OSL_ASSERT( aSeq[1][1][0] == sA[1][0] );
-// OSL_ASSERT( aSeq[1][1][1] == sA[1][1] );
-// OSL_ASSERT( aSeq[1][1][2] == sA[1][2] );
-// OSL_ASSERT( aSeq[1][1][3] == sA[1][3] );
-
- uno_constructData( p2, pType );
- ppS = (rtl_uString**)p2;
- uno_copyData(p2, sa1, pType, reinterpret_cast<uno_AcquireFunc>(cpp_acquire));
- uno_copyData(sa2, p2, pType, reinterpret_cast<uno_AcquireFunc>(cpp_acquire));
-
- uno_destructData( p, pType, reinterpret_cast<uno_ReleaseFunc>(cpp_release));
- uno_destructData( p2, pType, reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
- uno_destructData( sa1, pType, reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
- uno_destructData( sa2, pType, reinterpret_cast<uno_ReleaseFunc>(cpp_release) );
-
- rtl_freeMemory(p);
- rtl_freeMemory(p2);
- typelib_typedescription_release(pType);
- typelib_typedescriptionreference_release(pTypeRef);
- pType = NULL;
- pTypeRef = NULL;
-}
-
-/*
- * main.
- */
-SAL_IMPLEMENT_MAIN()
-{
- rtl::OUString const cppName(
- RTL_CONSTASCII_USTRINGPARAM(CPPU_CURRENT_LANGUAGE_BINDING_NAME) );
- uno_Environment * pCppEnv = 0;
- uno_getEnvironment( &pCppEnv, cppName.pData, 0 );
- uno_getEnvironment( &pCppEnv, cppName.pData, 0 );
- (*pCppEnv->release)( pCppEnv );
-
- try {
- typelib_setCacheSize( 200 );
- Reference< registry::XSimpleRegistry > xRegistry(
- ::cppu::createSimpleRegistry() );
- xRegistry->open( OUString( RTL_CONSTASCII_USTRINGPARAM("testcppu.rdb") ), sal_True, sal_False );
- Reference< XComponentContext > xContext(
- ::cppu::bootstrap_InitialComponentContext( xRegistry ) );
- testEnvironments();
- ::rtl_unloadUnusedModules( 0 );
- testMappingCallback();
- ::rtl_unloadUnusedModules( 0 );
-
-// // security test
-// void test_security( const Reference< XMultiServiceFactory > & );
-// test_security( xMgr );
-
- // C++, C bridges test
- void test_CppBridge(void);
- test_CppBridge();
- ::rtl_unloadUnusedModules( 0 );
-// void test_CBridge(void);
-// void test_CBridge2(void);
-// test_CBridge();
-// test_CBridge2();
-
- testCurrentContext();
- testAssignment();
- testCppu();
-// testArray();
-#if 0 // cache test not possible if types are loaded dynamically (cppumaker -L)
- test_cache();
-#endif
- test_interface();
- test_inheritance();
-
- // shutdown
- Reference< XComponent > xComp( xContext, UNO_QUERY_THROW );
- xComp.set( xContext, UNO_QUERY_THROW );
- Reference< XInterface > x(
- xContext->getValueByName(
- OUString( RTL_CONSTASCII_USTRINGPARAM("/singletons/com.sun.star.reflection.theTypeDescriptionManager") ) ), UNO_QUERY_THROW );
- xComp->dispose();
- }
- catch (Exception & exc) {
- fprintf( stderr, "error: %s\n", rtl::OUStringToOString(
- exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() );
- }
-
- typelib_setCacheSize( 0 );
- ::rtl_unloadUnusedModules( 0 );
- testEnvironments();
- ::rtl_unloadUnusedModules( 0 );
-
- return 0;
-}
diff --git a/cppu/test/testthreadpool.cxx b/cppu/test/testthreadpool.cxx
deleted file mode 100644
index ec404b89793c..000000000000
--- a/cppu/test/testthreadpool.cxx
+++ /dev/null
@@ -1,193 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_cppu.hxx"
-#include <osl/diagnose.h>
-#include <osl/time.h>
-
-#include <rtl/uuid.h>
-
-#include <uno/threadpool.h>
-
-#include <vos/thread.hxx>
-
-#define TEST_ENSURE OSL_ENSURE
-
-using namespace ::vos;
-
-
-class OThread1 : public OThread
-{
-public:
- OThread1( sal_uInt8 *pCallerUuid );
- virtual void run();
-
-public:
- sal_uInt8 *m_pCallerUuid;
- sal_Int8 *m_pThreadIdentifier;
- sal_Int32 m_nThreadIdentifierLength;
-
- void *m_pThreadData;
-};
-
-OThread1::OThread1( sal_uInt8 *pCallerUuid ) :
- m_pCallerUuid( pCallerUuid ),
- m_pThreadData( (void*) 1 ),
- m_pThreadIdentifier( 0 ),
- m_nThreadIdentifierLength( 0 )
-{
-
-}
-
-void OThread1::run()
-{
-
- uno_threadpool_Ticket *pTicket = uno_threadpool_createTicket( m_pCallerUuid );
-
- uno_threadIdent_retrieve( &m_pThreadIdentifier , &m_nThreadIdentifierLength );
-
- uno_threadpool_waitOnTicket( pTicket , &m_pThreadData );
-
- uno_threadIdent_revoke();
-}
-
-
-void SAL_CALL doIt( void *pThreadData )
-{
- *( sal_Int32 *) pThreadData = 2;
-}
-
-void testthreadpool()
-{
- printf( "Testing threadpool ..." );
- fflush( stdout );
-
- sal_uInt8 pCallerUuid1[16];
- sal_uInt8 pCallerUuid2[16];
- rtl_createUuid( pCallerUuid1, 0 , sal_True );
- rtl_createUuid( pCallerUuid2, 0 , sal_True );
-
- //------------
- // Test reply
- //------------
- {
- OThread1 thread1( pCallerUuid1 );
-
- thread1.create();
-
- // do a busy wait
- while( ! thread1.m_pThreadIdentifier && ! thread1.m_nThreadIdentifierLength );
-
- void *pThreadData = (void*)0xdeadbabe;
- uno_threadpool_reply( thread1.m_pThreadIdentifier ,
- thread1.m_nThreadIdentifierLength,
- pThreadData );
-
- // do a busy wait
- while( (void*)1 == thread1.m_pThreadData );
-
- TEST_ENSURE( pThreadData == thread1.m_pThreadData, "uno_threadpool_reply error" );
- }
-
- //---------------
- // Test request
- //---------------
- {
- OThread1 thread1( pCallerUuid1 );
-
- thread1.create();
-
- // do a busy wait
- while( ! thread1.m_pThreadIdentifier && ! thread1.m_nThreadIdentifierLength );
-
- // do a request
- sal_Int32 i = 1;
- uno_threadpool_request( thread1.m_pThreadIdentifier ,
- thread1.m_nThreadIdentifierLength,
- &i,
- doIt,
- sal_False);
-
- // do a busy wait
- while( 1 == i );
- TEST_ENSURE( 2 == i, "uno_threadpool_request error" );
-
- // get it out of the pool
- void *pThreadData = (void*)0xdeadbabe;
- uno_threadpool_reply( thread1.m_pThreadIdentifier ,
- thread1.m_nThreadIdentifierLength,
- pThreadData );
-
- // do a busy wait
- while( pThreadData != thread1.m_pThreadData );
-
- }
-
- //---------------
- // Test dispose threads
- //---------------
- {
- OThread1 thread1( pCallerUuid1 );
- OThread1 thread2( pCallerUuid2 );
-
- thread1.create();
- thread2.create();
-
- // do a busy wait
- while( ! thread1.m_pThreadIdentifier && ! thread1.m_nThreadIdentifierLength &&
- ! thread2.m_pThreadIdentifier && ! thread2.m_nThreadIdentifierLength );
-
- // dispose the first
- uno_threadpool_disposeThreads( pCallerUuid1 );
-
- while( (void*)1 == thread1.m_pThreadData );
- TEST_ENSURE( (void*)0 == thread1.m_pThreadData, "disposing threads failed" );
-
- TimeValue value = {1,0};
- osl_waitThread( &value );
- TEST_ENSURE( (void*)1 == thread2.m_pThreadData, "wrong thread disposed !" );
-
- // test, if new threads are directly disposed
- OThread1 thread3( pCallerUuid1 );
- thread3.create();
-
- while( (void*)1 == thread3.m_pThreadData );
- TEST_ENSURE( (void*)0 == thread3.m_pThreadData ,
- "new threads entering threadpool are not disposed" );
-
- uno_threadpool_reply( thread2.m_pThreadIdentifier ,
- thread2.m_nThreadIdentifierLength,
- (void*)0x2 );
-
- while( (void*)1 == thread2.m_pThreadData );
- TEST_ENSURE( (void*)2 == thread2.m_pThreadData , "reply does not work correctly" );
-
- uno_threadpool_stopDisposeThreads( pCallerUuid1 );
- }
- printf( "Done\n" );
-}
diff --git a/idlc/source/preproc/cpp.h b/idlc/source/preproc/cpp.h
index 24d30222b5a1..4b8645b2d34e 100644
--- a/idlc/source/preproc/cpp.h
+++ b/idlc/source/preproc/cpp.h
@@ -40,11 +40,8 @@
#define NULL 0
#endif
-#ifndef __alpha
typedef unsigned char uchar;
-#endif
-
enum toktype
{
END, UNCLASS, NAME, NUMBER, STRING, CCON, NL, WS, DSHARP,
diff --git a/jurt/com/sun/star/lib/connections/pipe/PipeConnection.java b/jurt/com/sun/star/lib/connections/pipe/PipeConnection.java
index 997b9d1c76ee..455e3aab6502 100644
--- a/jurt/com/sun/star/lib/connections/pipe/PipeConnection.java
+++ b/jurt/com/sun/star/lib/connections/pipe/PipeConnection.java
@@ -58,30 +58,8 @@ public class PipeConnection implements XConnection, XConnectionBroadcaster {
static public final boolean DEBUG = false;
static {
- // preload shared libraries whichs import lips are linked to jpipe
- if ( System.getProperty( "os.name" ).startsWith( "Windows" ) )
- {
- try {
- NativeLibraryLoader.loadLibrary(PipeConnection.class.getClassLoader(), "msvcr71");
- } catch (Throwable e){} // loading twice would fail
-
- try {
- NativeLibraryLoader.loadLibrary(PipeConnection.class.getClassLoader(), "msvcr70");
- } catch (Throwable e){} // loading twice would fail
-
- try {
- NativeLibraryLoader.loadLibrary(PipeConnection.class.getClassLoader(), "uwinapi");
- } catch (Throwable e){} // loading twice would fail
-
- try {
- NativeLibraryLoader.loadLibrary(PipeConnection.class.getClassLoader(), "sal3");
- } catch (Throwable e){} // loading twice would fail
- }
-
// load shared library for JNI code
- try {
- NativeLibraryLoader.loadLibrary(PipeConnection.class.getClassLoader(), "jpipe");
- } catch (Throwable e){} // loading twice would fail
+ NativeLibraryLoader.loadLibrary(PipeConnection.class.getClassLoader(), "jpipe");
}
protected String _aDescription;
diff --git a/jurt/prj/build.lst b/jurt/prj/build.lst
index f3d498b8cdd6..9b9b722bc3ae 100644
--- a/jurt/prj/build.lst
+++ b/jurt/prj/build.lst
@@ -15,4 +15,5 @@ ju jurt\com\sun\star\comp\connections nmake - all ju_con ju_co_loader NULL
ju jurt\com\sun\star\comp\servicemanager nmake - all ju_servman NULL
ju jurt\com\sun\star\comp\urlresolver nmake - all ju_urlres ju_co_loader NULL
ju jurt\source\pipe nmake - all ju_src_pipe NULL
+ju jurt\source\pipe\wrapper nmake - w ju_src_pipe_wrapper NULL
ju jurt\util nmake - all ju_ut ju_brid_jrm ju_co_bfactr ju_con ju_con_sock ju_con_pipe ju_cssl_uno ju_env_java ju_prot_urp ju_servman ju_urlres ju_src_pipe ju_libutil ju_uno NULL
diff --git a/jurt/prj/d.lst b/jurt/prj/d.lst
index 5223fe2fe5ee..848435f61138 100644
--- a/jurt/prj/d.lst
+++ b/jurt/prj/d.lst
@@ -1,5 +1,6 @@
..\%__SRC%\class\jurt.jar %_DEST%\bin%_EXT%\jurt.jar
-..\%__SRC%\bin\jpipe*.dll %_DEST%\bin%_EXT%\jpipe*.dll
+..\%__SRC%\bin\jpipe.dll %_DEST%\bin%_EXT%\jpipe.dll
+..\%__SRC%\bin\jpipx.dll %_DEST%\bin%_EXT%\jpipx.dll
..\%__SRC%\lib\libjpipe*.so %_DEST%\lib%_EXT%\libjpipe*.so
..\%__SRC%\lib\libjpipe*.dylib %_DEST%\lib%_EXT%\libjpipe*.dylib
diff --git a/jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection.c b/jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection.c
index 255da24c2f86..4d0a5b357604 100644
--- a/jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection.c
+++ b/jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection.c
@@ -25,10 +25,20 @@
*
************************************************************************/
+#include "jni.h"
#include "osl/security.h"
#include <osl/pipe.h>
-#include "com_sun_star_lib_connections_pipe_PipeConnection.h"
+/* On Windows, jpipe.dll must not have dependencies on any other URE DLLs, as
+ Java System.LoadLibrary could otherwise not load it. Therefore, on Windows,
+ this code goes into a jpipx.dll that the jpipe.dll wrapper loads with
+ LoadLibraryEx(LOAD_WITH_ALTERED_SEARCH_PATH). The function names in this
+ wrapped code are truncated from the long JNICALL names, as JNICALL causes
+ some "@N" with different numeric values for N (and probably different across
+ 32 and 64 bit) to be added to the symbol names, which the calls to
+ GetProcAddress in wrapper/wrapper.c would otheriwse have to take into
+ account.
+*/
/*****************************************************************************/
/* exception macros */
@@ -100,7 +110,12 @@ static rtl_uString * jstring2ustring(JNIEnv * env, jstring jstr)
* Method: connect
* Signature: (Lcom/sun/star/beans/NativeService;)V
*/
-JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_createJNI
+SAL_DLLPUBLIC_EXPORT void
+#if defined WNT
+PipeConnection_create
+#else
+JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_createJNI
+#endif
(JNIEnv * env, jobject obj_this, jstring name)
{
enum {
@@ -234,7 +249,12 @@ JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_cre
* Method: closeJNI
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_closeJNI
+SAL_DLLPUBLIC_EXPORT void
+#if defined WNT
+PipeConnection_close
+#else
+JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_closeJNI
+#endif
(JNIEnv * env, jobject obj_this)
{
enum {
@@ -315,7 +335,12 @@ JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_clo
* Method: readJNI
* Signature: ([[BI)I
*/
-JNIEXPORT jint JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_readJNI
+SAL_DLLPUBLIC_EXPORT jint
+#if defined WNT
+PipeConnection_read
+#else
+JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_readJNI
+#endif
(JNIEnv * env, jobject obj_this, jobjectArray buffer, jint len)
{
enum {
@@ -430,7 +455,12 @@ JNIEXPORT jint JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_rea
* Method: writeJNI
* Signature: ([B)V
*/
-JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_writeJNI
+SAL_DLLPUBLIC_EXPORT void
+#if defined WNT
+PipeConnection_write
+#else
+JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_writeJNI
+#endif
(JNIEnv * env, jobject obj_this, jbyteArray buffer)
{
enum {
@@ -522,7 +552,12 @@ JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_wri
* Method: flushJNI
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_flushJNI
+SAL_DLLPUBLIC_EXPORT void
+#if defined WNT
+PipeConnection_flush
+#else
+JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_flushJNI
+#endif
(JNIEnv * env, jobject obj_this)
{
(void) env; /* not used */
diff --git a/jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection.h b/jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection.h
deleted file mode 100644
index a21e8f979348..000000000000
--- a/jurt/source/pipe/com_sun_star_lib_connections_pipe_PipeConnection.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_sun_star_connections_pipe_PipeConnection */
-
-#ifndef _Included_com_sun_star_lib_connections_pipe_PipeConnection_h
-#define _Included_com_sun_star_lib_connections_pipe_PipeConnection_h
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class: com_sun_star_lib_connections_pipe_PipeConnection
- * Method: connect
- * Signature: (Ljava/lang/String;)V
- */
-JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_createJNI
- (JNIEnv *, jobject, jstring);
-
-/*
- * Class: com_sun_star_lib_connections_pipe_PipeConnection
- * Method: readJNI
- * Signature: ([[BI)I
- */
-JNIEXPORT jint JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_readJNI
- (JNIEnv *, jobject, jobjectArray, jint);
-
-/*
- * Class: com_sun_star_lib_connections_pipe_PipeConnection
- * Method: writeJNI
- * Signature: ([B)V
- */
-JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_writeJNI
- (JNIEnv *, jobject, jbyteArray);
-
-/*
- * Class: com_sun_star_lib_connections_pipe_PipeConnection
- * Method: flushJNI
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_flushJNI
- (JNIEnv *, jobject);
-
-/*
- * Class: com_sun_star_lib_connections_pipe_PipeConnection
- * Method: closeJNI
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_sun_star_lib_connections_pipe_PipeConnection_closeJNI
- (JNIEnv *, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/jurt/source/pipe/jpipe.dxp b/jurt/source/pipe/jpipe.dxp
deleted file mode 100644
index e07ea907470f..000000000000
--- a/jurt/source/pipe/jpipe.dxp
+++ /dev/null
@@ -1,5 +0,0 @@
-Java_com_sun_star_lib_connections_pipe_PipeConnection_createJNI
-Java_com_sun_star_lib_connections_pipe_PipeConnection_closeJNI
-Java_com_sun_star_lib_connections_pipe_PipeConnection_readJNI
-Java_com_sun_star_lib_connections_pipe_PipeConnection_writeJNI
-Java_com_sun_star_lib_connections_pipe_PipeConnection_flushJNI
diff --git a/jurt/source/pipe/makefile.mk b/jurt/source/pipe/makefile.mk
index e56ece77f5c1..5be6f1ebfd10 100644
--- a/jurt/source/pipe/makefile.mk
+++ b/jurt/source/pipe/makefile.mk
@@ -1,39 +1,57 @@
-PRJ=..$/..
-
-PRJNAME=jurt
-TARGET=jpipe
-ENABLE_EXCEPTIONS=TRUE
-
-#?
-NO_DEFAULT_STL=TRUE
-NO_BSYMBOLIC=TRUE
-USE_DEFFILE=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-.IF "$(SOLAR_JAVA)"==""
-nojava:
- @echo "Not building jurt because Java is disabled"
-.ENDIF
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/com_sun_star_lib_connections_pipe_PipeConnection.obj
-
-SHL1TARGET=$(TARGET)
-SHL1LIBS=$(SLB)$/$(TARGET).lib
-SHL1STDLIBS=$(SALLIB)
-SHL1DEF=$(MISC)$/$(SHL1TARGET).def
-SHL1RPATH=URELIB
-
-DEF1NAME=$(SHL1TARGET)
-DEF1EXPORTFILE=$(TARGET).dxp
-DEF1DES=jurtpipe
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
+#*************************************************************************
+#
+# 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 = jurt
+TARGET = jpipe
+
+NO_DEFAULT_STL = TRUE
+VISIBILITY_HIDDEN = TRUE
+
+.INCLUDE: settings.mk
+
+.IF "$(OS)" == "WNT"
+SHL1TARGET = jpipx
+.ELSE
+SHL1TARGET = jpipe
+.END
+
+SHL1CODETYPE = C
+SHL1IMPLIB = i$(SHL1TARGET)
+SHL1OBJS = $(SLO)/com_sun_star_lib_connections_pipe_PipeConnection.obj
+SHL1RPATH = URELIB
+SHL1STDLIBS = $(SALLIB)
+SHL1USE_EXPORTS = name
+DEF1NAME = $(SHL1TARGET)
+
+SLOFILES = $(SHL1OBJS)
+
+.IF "$(SOLAR_JAVA)" == ""
+nothing .PHONY :
+.END
+
+.INCLUDE: target.mk
diff --git a/cppu/test/EnvDcp/makefile.mk b/jurt/source/pipe/wrapper/makefile.mk
index cc0db62e93fe..88a3b160da2e 100644
--- a/cppu/test/EnvDcp/makefile.mk
+++ b/jurt/source/pipe/wrapper/makefile.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# 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
@@ -23,24 +23,30 @@
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
-#*************************************************************************
-
-PRJ := ..$/..
-PRJNAME := cppu
-TARGET := EnvDcp.test
-
+#***********************************************************************/
-ENABLE_EXCEPTIONS := TRUE
-NO_BSYMBOLIC := TRUE
-USE_DEFFILE := TRUE
+PRJ = ../../..
+PRJNAME = jurt
+TARGET = wrapper
+NO_DEFAULT_STL = TRUE
+UWINAPILIB =
+VISIBILITY_HIDDEN = TRUE
-.INCLUDE : settings.mk
+.INCLUDE: settings.mk
+SHL1CODETYPE = C
+SHL1IMPLIB = i$(SHL1TARGET)
+SHL1OBJS = $(SLO)/wrapper.obj
+SHL1RPATH = URELIB
+SHL1TARGET = jpipe
+SHL1USE_EXPORTS = name
+DEF1NAME = $(SHL1TARGET)
-APP1TARGET := $(TARGET)
-APP1OBJS := $(OBJ)$/EnvDcp.test.obj
-APP1STDLIBS := $(ObjectFactory_LIB) $(CPPULIB) $(SALLIB)
+SLOFILES = $(SHL1OBJS)
+.IF "$(SOLAR_JAVA)" == ""
+nothing .PHONY :
+.END
-.INCLUDE : target.mk
+.INCLUDE: target.mk
diff --git a/jurt/source/pipe/wrapper/wrapper.c b/jurt/source/pipe/wrapper/wrapper.c
new file mode 100644
index 000000000000..5ef40f009191
--- /dev/null
+++ b/jurt/source/pipe/wrapper/wrapper.c
@@ -0,0 +1,99 @@
+/*************************************************************************
+*
+* 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 <stddef.h>
+
+#include <Windows.h>
+
+#include "jni.h"
+#include "sal/types.h"
+
+static HMODULE module;
+
+static FARPROC getFunction(char const * name) {
+ return GetProcAddress(module, name);
+}
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
+ (void) lpvReserved;
+ if (fdwReason == DLL_PROCESS_ATTACH) {
+ wchar_t path[32767];
+ DWORD size;
+ size = GetModuleFileNameW(hinstDLL, path, 32767);
+ if (size == 0) {
+ return FALSE;
+ }
+ path[size - 5] = L'x'; /* ...\jpipe.dll -> ...\jpipx.dll */
+ module = LoadLibraryExW(path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
+ if (module == NULL) {
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+SAL_DLLPUBLIC_EXPORT void JNICALL
+Java_com_sun_star_lib_connections_pipe_PipeConnection_createJNI(
+ JNIEnv * env, jobject obj_this, jstring name)
+{
+ (*(void (*)(JNIEnv *, jobject, jstring))
+ getFunction("PipeConnection_create"))(env, obj_this, name);
+}
+
+SAL_DLLPUBLIC_EXPORT void JNICALL
+Java_com_sun_star_lib_connections_pipe_PipeConnection_closeJNI(
+ JNIEnv * env, jobject obj_this)
+{
+ (*(void (*)(JNIEnv *, jobject))
+ getFunction("PipeConnection_close"))(env, obj_this);
+}
+
+SAL_DLLPUBLIC_EXPORT jint JNICALL
+Java_com_sun_star_lib_connections_pipe_PipeConnection_readJNI(
+ JNIEnv * env, jobject obj_this, jobjectArray buffer, jint len)
+{
+ return (*(jint (*)(JNIEnv *, jobject, jobjectArray, jint))
+ getFunction("PipeConnection_read"))(env, obj_this, buffer, len);
+}
+
+SAL_DLLPUBLIC_EXPORT void JNICALL
+Java_com_sun_star_lib_connections_pipe_PipeConnection_writeJNI(
+ JNIEnv * env, jobject obj_this, jbyteArray buffer)
+{
+ (*(void (*)(JNIEnv *, jobject, jbyteArray))
+ getFunction("PipeConnection_write"))(env, obj_this, buffer);
+}
+
+SAL_DLLPUBLIC_EXPORT void JNICALL
+Java_com_sun_star_lib_connections_pipe_PipeConnection_flushJNI(
+ JNIEnv * env, jobject obj_this)
+{
+ (*(void (*)(JNIEnv *, jobject))
+ getFunction("PipeConnection_flush"))(env, obj_this);
+}
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.hxx b/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.hxx
index 1647a1d9359b..3302fe42e90c 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.hxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.hxx
@@ -69,9 +69,11 @@ namespace jfw_plugin
#define JFW_PLUGIN_ARCH "m68k"
#elif defined HPPA
#define JFW_PLUGIN_ARCH "parisc"
-#else // SPARC, INTEL, POWERPC, MIPS, ARM, IA64, M68K, HPPA
+#elif defined AXP
+#define JFW_PLUGIN_ARCH "alpha"
+#else // SPARC, INTEL, POWERPC, MIPS, ARM, IA64, M68K, HPPA, ALPHA
#error unknown plattform
-#endif // SPARC, INTEL, POWERPC, MIPS, ARM, IA64, M68K, HPPA
+#endif // SPARC, INTEL, POWERPC, MIPS, ARM, IA64, M68K, HPPA, ALPHA
class MalformedVersionException
diff --git a/offapi/com/sun/star/accessibility/AccessibleRole.idl b/offapi/com/sun/star/accessibility/AccessibleRole.idl
index 7231db672c07..5fe65d04ec42 100644
--- a/offapi/com/sun/star/accessibility/AccessibleRole.idl
+++ b/offapi/com/sun/star/accessibility/AccessibleRole.idl
@@ -686,6 +686,33 @@ published constants AccessibleRole
@since OOo 3.0
*/
const short TREE_TABLE = 80;
+
+ /** Comment role
+
+ <p>An object which represents a comment.</p>
+
+ <p>A comment is anchored at a certain content position in the document and
+ annotates this document content position or a certain text range of the document content.
+ In the OpenDocument file format a comment is known as an annotation.</p>
+
+ <p>See also <const>COMMENT_END</const>.</p>
+
+ @since OOo 3.2
+ */
+ const short COMMENT = 81;
+
+ /** Comment end role
+
+ <p>An invisible object which represents the end position of a text range which
+ is annotated by a comment - see <const>COMMENT</const>.</p>
+
+ <p>This object and the corresponding object representing the comment shall be
+ in relation of type <const>MEMBER_OF</const>.</p>
+
+ @since OOo 3.2
+ */
+ const short COMMENT_END = 82;
+
};
}; }; }; };
diff --git a/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl b/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl
index 56f5305d10f2..db69a6b5d842 100644
--- a/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl
+++ b/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl
@@ -38,6 +38,7 @@
//=============================================================================
/** If you do not want to implement the <type>XGridColumnModel</type> yourself, use this service.
+ @since OOo 3.3.0
*/
service DefaultGridColumnModel
{
diff --git a/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl
index e823e451249c..c487afc79b49 100644
--- a/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl
+++ b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl
@@ -38,6 +38,8 @@
//=============================================================================
/** If you do not want to implement the <type>XGridDataModel</type> yourself, use this service.
+
+ @since OOo 3.3.0
*/
service DefaultGridDataModel
{
diff --git a/offapi/com/sun/star/awt/grid/GridColumn.idl b/offapi/com/sun/star/awt/grid/GridColumn.idl
index a38d6cafd903..a87aef84f7d3 100644
--- a/offapi/com/sun/star/awt/grid/GridColumn.idl
+++ b/offapi/com/sun/star/awt/grid/GridColumn.idl
@@ -38,6 +38,8 @@
//=============================================================================
/** Represents a column as used by the <type>DefaultGridColumnModel</type>
+
+ @since OOo 3.3.0
*/
service GridColumn
{
diff --git a/offapi/com/sun/star/awt/grid/GridColumnEvent.idl b/offapi/com/sun/star/awt/grid/GridColumnEvent.idl
index dfc6905d1148..caab721185a5 100644
--- a/offapi/com/sun/star/awt/grid/GridColumnEvent.idl
+++ b/offapi/com/sun/star/awt/grid/GridColumnEvent.idl
@@ -31,24 +31,14 @@
#include <com/sun/star/lang/EventObject.idl>
#endif
-#ifndef __com_sun_star_awt_grid_XGridColumn_idl__
-#include <com/sun/star/awt/grid/XGridColumn.idl>
-#endif
-
//=============================================================================
module com { module sun { module star { module awt { module grid {
//=============================================================================
+/** An event used by a <type>XGridColumn</type> to notify changes in the column.
-/** An event used by a <type>XGridColumnModel</type> to notify changes in the column
- model to the <type>XGridControl</type>.
- You usually need to fill this event only if you implement the <type>XGridColumnModel</type>
- yourself.
-
- @see XGridColumnModel
- @see XGridControl
- @see XGridColumnListener
+ @since OOo 3.3.0
*/
struct GridColumnEvent: com::sun::star::lang::EventObject
{
@@ -63,9 +53,6 @@ struct GridColumnEvent: com::sun::star::lang::EventObject
/** Contains the index of the changed column**/
long index;
-
- /** Contains the changed column**/
- XGridColumn column;
//-------------------------------------------------------------------------
};
diff --git a/offapi/com/sun/star/awt/grid/GridDataEvent.idl b/offapi/com/sun/star/awt/grid/GridDataEvent.idl
index 30d87a3f1c46..1e0afb610f16 100644
--- a/offapi/com/sun/star/awt/grid/GridDataEvent.idl
+++ b/offapi/com/sun/star/awt/grid/GridDataEvent.idl
@@ -27,10 +27,7 @@
#ifndef __com_sun_star_awt_grid_GridDataEvent_idl__
#define __com_sun_star_awt_grid_GridDataEvent_idl__
-#ifndef __com_sun_star_lang_EventObject_idl__
#include <com/sun/star/lang/EventObject.idl>
-#endif
-
//=============================================================================
@@ -46,6 +43,8 @@ module com { module sun { module star { module awt { module grid {
@see XGridDataModel
@see XGridControl
@see XGridDataListener
+
+ @sonce OOo 3.3.0
*/
struct GridDataEvent: com::sun::star::lang::EventObject
{
@@ -67,7 +66,7 @@ struct GridDataEvent: com::sun::star::lang::EventObject
string headerName;
/** Contains the changed row**/
- sequence<string> rowData;
+ sequence<any> rowData;
};
diff --git a/cppu/test/ObjectFactory/CppObject.hxx b/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl
index f8f5786daa31..af1f90dfdc8b 100644
--- a/cppu/test/ObjectFactory/CppObject.hxx
+++ b/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl
@@ -2,10 +2,13 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2000, 2010 Oracle and/or its affiliates.
+ * Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
+ * $RCSfile: GridInvalidDataException.idl,v $
+ * $Revision: 1.0 $
+ *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -24,39 +27,32 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
+#ifndef __com_sun_star_awt_grid_GridInvalidDataException_idl__
+#define __com_sun_star_awt_grid_GridInvalidDataException_idl__
-#ifndef INCLUDED_CppObject_hxx
-#define INCLUDED_CppObject_hxx
-
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
-#include "com/sun/star/uno/XComponentContext.hpp"
+//=============================================================================
-#include "callee.hxx"
+module com { module sun { module star { module awt { module grid {
-namespace cssu = ::com::sun::star::uno;
+//=============================================================================
+/** Exception is thrown to indicate that set data is invalid, e.g. type of data is unknown
+ or data count doesn't match with column count.
-class CppObject: public cssu::XInterface
+ @since OOo 3.3.0
+ */
+exception GridInvalidDataException : com::sun::star::uno::RuntimeException
{
-public:
- static cssu::XInterface * s_create (Callee * pCallee);
- static void s_release(cssu::XInterface * pXInterface);
- static void s_call (cssu::XInterface * pXInterface);
-
- virtual void SAL_CALL acquire() throw ();
- virtual void SAL_CALL release() throw ();
- virtual cssu::Any SAL_CALL queryInterface(cssu::Type const & rType ) throw (cssu::RuntimeException);
-
-protected:
- oslInterlockedCount m_nRef;
-
- explicit CppObject(Callee * pCallee) SAL_THROW((cssu::RuntimeException));
- virtual ~CppObject(void) SAL_THROW((cssu::RuntimeException));
-
- Callee * m_pCallee;
};
+//=============================================================================
+
+}; }; }; }; };
#endif
diff --git a/cppu/test/ObjectFactory/UnoObject.hxx b/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl
index e2d9fba5aa6b..9d96daf624bb 100644
--- a/cppu/test/ObjectFactory/UnoObject.hxx
+++ b/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl
@@ -2,10 +2,13 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2000, 2010 Oracle and/or its affiliates.
+ * Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
+ * $RCSfile: GridInvalidModelException.idl,v $
+ * $Revision: 1.0 $
+ *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -24,20 +27,31 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
+#ifndef __com_sun_star_awt_grid_GridInvalidModelException_idl__
+#define __com_sun_star_awt_grid_GridInvalidModelException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+
+//=============================================================================
-#ifndef INCLUDED_UnoObject_hxx
-#define INCLUDED_UnoObject_hxx
+module com { module sun { module star { module awt { module grid {
+//=============================================================================
-#include "rtl/ustring.hxx"
-#include "uno/dispatcher.h"
+/** Exception is thrown when data or column model isn't set.
-#include "callee.hxx"
+ @since OOo 3.3.0
+ */
+exception GridInvalidModelException : com::sun::star::uno::RuntimeException
+{
+};
-uno_Interface * UnoObject_create (Callee * pCallee);
-void UnoObject_release(uno_Interface * pUnoI);
-void UnoObject_call (uno_Interface * pUnoI);
+//=============================================================================
+}; }; }; }; };
#endif
diff --git a/offapi/com/sun/star/awt/grid/GridSelectionEvent.idl b/offapi/com/sun/star/awt/grid/GridSelectionEvent.idl
index 2475e59b5b26..e9b87c2fe7ed 100644
--- a/offapi/com/sun/star/awt/grid/GridSelectionEvent.idl
+++ b/offapi/com/sun/star/awt/grid/GridSelectionEvent.idl
@@ -50,14 +50,17 @@ struct GridSelectionEvent: com::sun::star::lang::EventObject
{
//-------------------------------------------------------------------------
- /** Contains the x coordinate of the selected cell**/
- long x;
+ /** the selected row*/
+ long Row;
- /** Contains the y coordinate of the selected cell**/
- long y;
+ /** the selected column*/
+ long Column;
+
+ /**number of selected rows, if multiple rows selected*/
+ long Range;
/** Contains the action <type>SelectionEventType</types> that was performed **/
- SelectionEventType action;
+ SelectionEventType Action;
};
diff --git a/offapi/com/sun/star/awt/grid/SelectionEventType.idl b/offapi/com/sun/star/awt/grid/SelectionEventType.idl
index 8096ceceeb13..c7ee61498cc3 100644
--- a/offapi/com/sun/star/awt/grid/SelectionEventType.idl
+++ b/offapi/com/sun/star/awt/grid/SelectionEventType.idl
@@ -49,7 +49,13 @@ enum SelectionEventType
/** This value indicates that a selection was removed from the grid control
*/
- REMOVE
+ REMOVE,
+
+ //-------------------------------------------------------------------------
+
+ /** This value indicates that a selection was changed
+ */
+ CHANGE
};
diff --git a/offapi/com/sun/star/awt/grid/UnoControlGrid.idl b/offapi/com/sun/star/awt/grid/UnoControlGrid.idl
index 7de3eda02231..542c27085dcb 100644
--- a/offapi/com/sun/star/awt/grid/UnoControlGrid.idl
+++ b/offapi/com/sun/star/awt/grid/UnoControlGrid.idl
@@ -66,6 +66,7 @@
The <type>XGridSelection</type> interface provides a bunch of methods to set and get selection for the grid control.
</p>
+ @since OOo 3.3.0
*/
service UnoControlGrid
{
diff --git a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
index bcb28af294b8..7eea49624045 100644
--- a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
+++ b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
@@ -37,6 +37,12 @@
#include <com/sun/star/view/SelectionType.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+
+#include <com/sun/star/style/VerticalAlignment.idl>
+
+#include <com/sun/star/util/Color.idl>
+
//=============================================================================
module com { module sun { module star { module awt { module grid {
@@ -44,6 +50,8 @@ module com { module sun { module star { module awt { module grid {
//=============================================================================
/** specifies the standard model of a <type>UnoControlGridModel</type>.
+
+ @since OOo 3.3.0
*/
service UnoControlGridModel
{
@@ -84,11 +92,68 @@ service UnoControlGridModel
*/
[property] boolean VScroll;
+ /** Specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
/** Specifies the selection mode that is enabled for this grid control.
<p>The default value is <member scope="com::sun::star::view">SelectionType::SINGLE</member></p>
*/
[property] ::com::sun::star::view::SelectionType SelectionModel;
+ /** Specifies the background color of rows. If color for even rows is set, then specifies
+ the color of odd rows. Default value is white.
+ */
+ [property] ::com::sun::star::util::Color RowBackgroundColor;
+
+ /** Specifies the background color of even rows. Default value is white.
+ */
+ [property] ::com::sun::star::util::Color EvenRowBackgroundColor;
+
+ /** Specifies the background color of header. Default value is white.
+ */
+ [property] ::com::sun::star::util::Color HeaderBackgroundColor;
+
+ /** Specifies the text color. Default value is black.
+ */
+ [property] ::com::sun::star::util::Color TextColor;
+
+ /** Specifies the line color. Default value is white.
+ */
+ [property] ::com::sun::star::util::Color LineColor;
+
+ /** specifies the vertical alignment of the content in the control.
+
+ <pre>
+ TOP
+ MIDDLE
+ BOTTOM
+ </pre>
+ */
+ [property] com::sun::star::style::VerticalAlignment VerticalAlign;
+
+ /** specifies the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+ /** specifies the <type scope="com::sun::star::text">FontEmphasis</type>
+ value of the text in the control.
+ */
+ [property] short FontEmphasisMark;
+
+ /** specifies the <type scope="com::sun::star::text">FontRelief</type>
+ value of the text in the control.
+ */
+ [property] short FontRelief;
+
+ /** specifies the help text of the control.
+ */
+ [property] string HelpText;
+
+ /** specifies the help URL of the control.
+ */
+ [property] string HelpURL;
+
};
//=============================================================================
diff --git a/offapi/com/sun/star/awt/grid/XGridCell.idl b/offapi/com/sun/star/awt/grid/XGridCell.idl
index b64c40a3dce4..08f3cfd1b2d5 100644
--- a/offapi/com/sun/star/awt/grid/XGridCell.idl
+++ b/offapi/com/sun/star/awt/grid/XGridCell.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module awt { module grid {
//=============================================================================
-interface XGridCell: com::sun::star::uno::XInterface
+interface XGridCell
{
[attribute] string Value;
diff --git a/offapi/com/sun/star/awt/grid/XGridCellRenderer.idl b/offapi/com/sun/star/awt/grid/XGridCellRenderer.idl
index 825acd4af43a..7f9fa28c3307 100644
--- a/offapi/com/sun/star/awt/grid/XGridCellRenderer.idl
+++ b/offapi/com/sun/star/awt/grid/XGridCellRenderer.idl
@@ -37,10 +37,9 @@ module com { module sun { module star { module awt { module grid {
//=============================================================================
-/** gives access to the items of a list box and makes it possible to
- register item and action event listeners.
+/** renderer for cells
*/
-interface XGridCellRenderer: com::sun::star::uno::XInterface
+interface XGridCellRenderer
{
//-------------------------------------------------------------------------
diff --git a/offapi/com/sun/star/awt/grid/XGridColumn.idl b/offapi/com/sun/star/awt/grid/XGridColumn.idl
index 9c9981959ed3..d217ff5d4ac6 100644
--- a/offapi/com/sun/star/awt/grid/XGridColumn.idl
+++ b/offapi/com/sun/star/awt/grid/XGridColumn.idl
@@ -30,6 +30,9 @@
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
+#include <com/sun/star/style/HorizontalAlignment.idl>
+#include <com/sun/star/awt/grid/XGridColumnListener.idl>
+
//=============================================================================
@@ -38,28 +41,67 @@ module com { module sun { module star { module awt { module grid {
//=============================================================================
/** The <type>XGridColumn</types> defines the properties and behavior of a column in a grid control
+ @since OOo 3.3.0
*/
-interface XGridColumn: com::sun::star::uno::XInterface
+interface XGridColumn
{
/** Specifies the an idendifier of the colomn.**/
[attribute] any Identifier;
/** Specifies the default column witdth. **/
[attribute] long ColumnWidth;
- /*
+
+ /** Specifies the preferred column witdth. **/
[attribute] long PreferredWidth;
+ /** Specifies the min column witdth. **/
[attribute] long MinWidth;
+ /** Specifies the max column witdth. **/
[attribute] long MaxWidth;
- [attribute] boolean Resizable;
- */
+ /** Specifies whether column has fixed size or not. **/
+ [attribute] boolean Resizeable;
+
+ /** Specifies the horizontal alignment of the content in the control.
+
+ <pre>
+ LEFT
+ CENTER
+ RIGHT
+ </pre>
+ */
+ [attribute] ::com::sun::star::style::HorizontalAlignment HorizontalAlign;
/** A title is displayed in the colum header row if <method>UnoControlGridModel::ShowRowHeader</method> is set to <true/>**/
[attribute] string Title;
+ /** Adds a listener for the <type>GridColumnEvent</type> posted after the grid changes.
+ @param Listener
+ the listener to add.
+ */
+ [oneway] void addColumnListener( [in] XGridColumnListener listener);
+ //-------------------------------------------------------------------------
+
+ /** Removes a listener previously added with <method>addColumnListener()</method>.
+ @param Listener
+ the listener to remove.
+ */
+ [oneway] void removeColumnListener( [in] XGridColumnListener listener);
+
+ /**Updates changed column widths, when column widths are being resized.
+ @param name
+ can be PrefWidth or ColWidth, depending on which was changed
+ @param width
+ the new column width
+ */
+ void updateColumn( [in] string name, [in] long width);
+ /**Sets column index
+ @param index
+ index, which is the index of the column in the column array of the column model
+ */
+ void setIndex( [in] long index );
};
//=============================================================================
diff --git a/offapi/com/sun/star/awt/grid/XGridColumnListener.idl b/offapi/com/sun/star/awt/grid/XGridColumnListener.idl
index a9a0e50a34ed..8a2d044f33d5 100644
--- a/offapi/com/sun/star/awt/grid/XGridColumnListener.idl
+++ b/offapi/com/sun/star/awt/grid/XGridColumnListener.idl
@@ -46,18 +46,20 @@ module com { module sun { module star { module awt { module grid {
<p>Usually you must not implement this interface yourself, but you must notify it correctly if
you implement the <type>XGridColumnModel</type> yourself</p>.
+
+ @since OOo 3.3.0
*/
-interface XGridColumnListener: com::sun::star::uno::XInterface
+interface XGridColumnListener
{
- /**
- Invoked after a column was added to the column model.
- */
- void columnAdded( [in] GridColumnEvent event );
-
- /**
- Invoked after a column was removed from the column model.
- */
- void columnRemoved( [in] GridColumnEvent event );
+ // /**
+ // Invoked after a column was added to the column model.
+ //*/
+ //void columnAdded( [in] GridColumnEvent event );
+ //
+ // /**
+ // Invoked after a column was removed from the column model.
+ //*/
+ //void columnRemoved( [in] GridColumnEvent event );
/**
Invoked after a column was modified.
diff --git a/offapi/com/sun/star/awt/grid/XGridColumnModel.idl b/offapi/com/sun/star/awt/grid/XGridColumnModel.idl
index 51f290fcef0e..86e77680cd95 100644
--- a/offapi/com/sun/star/awt/grid/XGridColumnModel.idl
+++ b/offapi/com/sun/star/awt/grid/XGridColumnModel.idl
@@ -30,6 +30,7 @@
#include <com/sun/star/uno/XInterface.idl>
#include <com/sun/star/awt/grid/XGridColumn.idl>
+
#include <com/sun/star/awt/grid/XGridColumnListener.idl>
//=============================================================================
@@ -42,12 +43,18 @@ module com { module sun { module star { module awt { module grid {
retrieve the column structure that is displayed in the actual control.
If you do not need your own model implementation, you can also use the <type>DefaultGridColumnModel</type>.
+
+ @since OOo 3.3.0
*/
-interface XGridColumnModel: com::sun::star::uno::XInterface
+interface XGridColumnModel
{
- /** Specifies whether column selection is allowed
+ ///** Specifies whether column selection is allowed
+ //*/
+ //[attribute] boolean ColumnSelectionAllowed;
+
+ /**Specifies the height of column header.
*/
- [attribute] boolean ColumnSelectionAllowed;
+ [attribute] long ColumnHeaderHeight;
/** Returns the number of columns.
@returns
@@ -81,29 +88,28 @@ interface XGridColumnModel: com::sun::star::uno::XInterface
/** Returns a specific column.
@param index
- the position of the reuquested column.
+ the position of the requested column.
@returns
the requested column.
*/
XGridColumn getColumn( [in] long index);
- /*
- long getTotalColumnWidth();
+ /** Sets default columns to the column model.
+ @param elements
+ the number of default columns that should be set.
*/
+ void setDefaultColumns([in] long elements);
- /** Adds a listener for the <type>GridColumnEvent</type> posted after the grid changes.
- @param Listener
- the listener to add.
+ /**Creates new XGridColumn with the settings of other column. To be used if the columns which are added to
+ the column model have the same settings.
+ @param column
+ the column, which is already created
*/
- [oneway] void addColumnListener( [in] XGridColumnListener listener);
-
- //-------------------------------------------------------------------------
+ XGridColumn copyColumn( [in] XGridColumn column );
- /** Removes a listener previously added with <method>addColumnListener()</method>.
- @param Listener
- the listener to remove.
+ /*
+ long getTotalColumnWidth();
*/
- [oneway] void removeColumnListener( [in] XGridColumnListener listener);
};
//=============================================================================
diff --git a/offapi/com/sun/star/awt/grid/XGridControl.idl b/offapi/com/sun/star/awt/grid/XGridControl.idl
index 05c49aa1669d..5019a571663b 100644
--- a/offapi/com/sun/star/awt/grid/XGridControl.idl
+++ b/offapi/com/sun/star/awt/grid/XGridControl.idl
@@ -41,30 +41,25 @@ module com { module sun { module star { module awt { module grid {
/** An interface to a control that displays a tabular data.
@see UnoControlGrid
+
+ @since OOo 3.3.0
*/
interface XGridControl: XGridSelection
{
- /** Specifies the <type>XGridColumnModel</type> of the control.
- */
- [attribute] XGridColumnModel ColumnModel;
-
- /** Specifies the <type>XGridDataModel</type> of the control.
- */
- [attribute] XGridDataModel DataModel;
-
-
/** Converting
*/
long getItemIndexAtPoint( [in] long x, [in] long y);
- /** registers a listener for mouse events.
- */
- //[oneway] void addMouseListener( [in] com::sun::star::awt::XMouseListener listener );
-
- /** unregisters a listener for mouse events.
- */
- //[oneway] void removeMouseListener( [in] com::sun::star::awt::XMouseListener listener );
+ /** Sets tooltip for row
+ @param textForTooltip
+ text, which will be shown as tooltip.
+ If only cell content should be displayed, leave sequence empty.
+ @param columnsForTooltip
+ column numbers, which define the cell content that should be shown in the tooltip.
+ If only text should be shown, leave this sequence empty.
+ */
+ void setToolTip( [in] sequence< string > textForTooltip, [in] sequence< long > columnsForTooltip);
};
diff --git a/offapi/com/sun/star/awt/grid/XGridControlListener.idl b/offapi/com/sun/star/awt/grid/XGridControlListener.idl
index ac703e8516ee..6f4fdf68ccd4 100644
--- a/offapi/com/sun/star/awt/grid/XGridControlListener.idl
+++ b/offapi/com/sun/star/awt/grid/XGridControlListener.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module awt { module grid {
//=============================================================================
-interface XGridControlListener: com::sun::star::uno::XInterface
+interface XGridControlListener
{
};
diff --git a/offapi/com/sun/star/awt/grid/XGridDataListener.idl b/offapi/com/sun/star/awt/grid/XGridDataListener.idl
index cee808a178f2..d6d0d930b331 100644
--- a/offapi/com/sun/star/awt/grid/XGridDataListener.idl
+++ b/offapi/com/sun/star/awt/grid/XGridDataListener.idl
@@ -46,6 +46,8 @@ module com { module sun { module star { module awt { module grid {
<p>Usually you must not implement this interface yourself, but you must notify it correctly if
you implement the <type>XGridDataModel</type> yourself</p>.
+
+ @since OOo 3.3.0
*/
interface XGridDataListener: com::sun::star::lang::XEventListener
{
diff --git a/offapi/com/sun/star/awt/grid/XGridDataModel.idl b/offapi/com/sun/star/awt/grid/XGridDataModel.idl
index f41841cf8039..5cc4085807e1 100644
--- a/offapi/com/sun/star/awt/grid/XGridDataModel.idl
+++ b/offapi/com/sun/star/awt/grid/XGridDataModel.idl
@@ -1,5 +1,6 @@
/*************************************************************************
*
+ * $Revision: 1.8 $
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
@@ -41,6 +42,8 @@ module com { module sun { module star { module awt { module grid {
retrieve the content data that is displayed in the actual control.
If you do not need your own model implementation, you can also use the <type>DefaultGridDataModel</type>.
+
+ @since OOo 3.3.0
*/
interface XGridDataModel: ::com::sun::star::lang::XComponent
{
@@ -54,7 +57,11 @@ interface XGridDataModel: ::com::sun::star::lang::XComponent
/** Returns the content of each row.
*/
- [attribute,readonly] sequence< sequence< string > > Data;
+ [attribute,readonly] sequence< sequence< any > > Data;
+
+ /**Specifies the width of row header.
+ */
+ [attribute] long RowHeaderWidth;
/** Returns the number of rows in in the model.
@returns
@@ -69,7 +76,7 @@ interface XGridDataModel: ::com::sun::star::lang::XComponent
@param data
the content of the row.
*/
- void addRow( [in] string headername, [in] sequence< string > data );
+ void addRow( [in] string headername, [in] sequence< any > data );
/** Removes a row from the model.
@@ -82,6 +89,26 @@ interface XGridDataModel: ::com::sun::star::lang::XComponent
*/
void removeAll();
+ /**Updates the content of a given cell.
+ @param row
+ the row index
+ @param column
+ the column index
+ @param value
+ the new value of the cell.
+ */
+ void updateCell([in] long row, [in] long column, [in] any value );
+
+ /**Updates the content of a given row.
+ @param row
+ the row index
+ @param columns
+ column indexes of the cells, which should be updated
+ @param value
+ the new values of the cells.
+ */
+ void updateRow([in] long row, [in] sequence< long > columns, [in] sequence< any > values);
+
//-------------------------------------------------------------------------
/** Adds a listener for the <type>GridDataEvent</type> posted after the grid changes.
diff --git a/offapi/com/sun/star/awt/grid/XGridSelection.idl b/offapi/com/sun/star/awt/grid/XGridSelection.idl
index ecb760cb3277..5049426018b0 100644
--- a/offapi/com/sun/star/awt/grid/XGridSelection.idl
+++ b/offapi/com/sun/star/awt/grid/XGridSelection.idl
@@ -39,7 +39,7 @@ module com { module sun { module star { module awt { module grid {
/** This interfaces provides access to the selection of row for <type>UnoControlGrid</type>.
*/
-interface XGridSelection: com::sun::star::uno::XInterface
+interface XGridSelection
{
/** Returns the lowest index of the selection.
@returns
@@ -53,21 +53,25 @@ interface XGridSelection: com::sun::star::uno::XInterface
*/
long getMaxSelectionIndex();
- /** Adds a selection intervall.
- @param start
- the start row index.
- @param length
- the number of rows to be selected.
+ /** Selects all rows.
*/
- [oneway] void insertIndexIntervall( [in] long start, [in] long length);
+ [oneway] void selectAllRows();
- /** Removes a selection intervall.
- @param start
- the start row index.
- @param length
- the number of rows to be selected.
+ /** Selects multiple rows. Previous selections will be removed.
+ @param rangeOfRows
+ array of rows indexes, which will be selected.
*/
- [oneway] void removeIndexIntervall( [in] long start, [in] long length);
+ [oneway] void selectRows( [in] sequence< long > rangeOfRows);
+
+ /** Deselects all selected rows.
+ */
+ [oneway] void deselectAllRows();
+
+ /** Deselects selected rows. Selected rows, which aren't in the range remain selected.
+ @param rangeOfRows
+ array of rows indexes, which will be deselected.
+ */
+ [oneway] void deselectRows( [in] sequence< long > rangeOfRows);
/** Returns the indicies of all selected rows.
@returns
@@ -90,17 +94,17 @@ interface XGridSelection: com::sun::star::uno::XInterface
boolean isSelectedIndex( [in] long index);
/** Marks a row as selected.
- @param
+ @param index
the index of a row.
*/
- [oneway] void selectRow( [in] long y);
+ [oneway] void selectRow( [in] long index);
/*
[oneway] void selectColumn( [in] long x);
*/
/** Adds a listener for the <type>GridSelectionEvent</type> posted after the grid changes.
- @param Listener
+ @param listener
the listener to add.
*/
[oneway] void addSelectionListener( [in] XGridSelectionListener listener);
@@ -108,7 +112,7 @@ interface XGridSelection: com::sun::star::uno::XInterface
//-------------------------------------------------------------------------
/** Removes a listener previously added with <method>addSelectionListener()</method>.
- @param Listener
+ @param listener
the listener to remove.
*/
[oneway] void removeSelectionListener( [in] XGridSelectionListener listener);
diff --git a/offapi/com/sun/star/awt/grid/makefile.mk b/offapi/com/sun/star/awt/grid/makefile.mk
index 3cfe6d83b3ba..02c159f8ffec 100644
--- a/offapi/com/sun/star/awt/grid/makefile.mk
+++ b/offapi/com/sun/star/awt/grid/makefile.mk
@@ -57,7 +57,9 @@ IDLFILES=\
ScrollBarMode.idl\
XGridControl.idl\
UnoControlGrid.idl\
- UnoControlGridModel.idl
+ UnoControlGridModel.idl\
+ GridInvalidDataException.idl\
+ GridInvalidModelException.idl
# ------------------------------------------------------------------
.INCLUDE : target.mk
diff --git a/offapi/com/sun/star/deployment/ExtensionManager.idl b/offapi/com/sun/star/deployment/ExtensionManager.idl
index ee93623ce538..1911ce04dd81 100644
--- a/offapi/com/sun/star/deployment/ExtensionManager.idl
+++ b/offapi/com/sun/star/deployment/ExtensionManager.idl
@@ -33,14 +33,12 @@
module com { module sun { module star { module deployment {
-/** <type>thePackageManagerFactory</type> denotes the one and only
- <type>XPackageManagerFactory</type> object to be used.
- <p>
+/** the ExtensionManager service.
+
The component context entry is
<code>
- /singletons/com.sun.star.deployment.thePackageManagerFactory
+ /singletons/com.sun.star.deployment.ExtensionManager
</code>.
- </p>
@since OOo 3.3.0
*/
diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl
index 8eaa8a05f976..b807df54af65 100644
--- a/offapi/com/sun/star/deployment/XExtensionManager.idl
+++ b/offapi/com/sun/star/deployment/XExtensionManager.idl
@@ -41,27 +41,10 @@
module com { module sun { module star { module deployment {
-/** The <type>XExtensionManager</type> interface is used to add or remove
- packages to a specific deployment context.
- Packages are deployable files, e.g. scripts or UNO components.
- <p>
- Adding an UNO package means that a copy of the package is stored
- with respect to the context of the manager and the package is registered,
- thus activated.
- </p>
- <p>
- Removing an UNO package means that the previously added package is revoked,
- thus deactivated, first and then removed from the context.
- </p>
- <p>
- Objects of this interface are created using the
- <type>XPackageManagerFactory</type> service resp. the singleton
- <code>
- /singletons/com.sun.star.deployment.thePackageManagerFactory
- </code>.
- </p>
-
- @see thePackageManagerFactory
+/** The <type>XExtensionManager</type> interface is used to manage extensions
+ in the user, shared and bundled repository.
+
+ @see ExtensionManager
@since OOo 3.3.0
*/
interface XExtensionManager
@@ -90,7 +73,7 @@ interface XExtensionManager
*/
com::sun::star::task::XAbortChannel createAbortChannel();
- /** adds an UNO package.
+ /** adds an extension.
The properties argument is currently only used to suppress the license information
for shared extensions.
@@ -120,7 +103,7 @@ interface XExtensionManager
com::sun::star::ucb::CommandAbortedException,
com::sun::star::lang::IllegalArgumentException);
- /** removes an UNO package.
+ /** removes an extension.
@param identifier
package identifier
@@ -190,7 +173,9 @@ interface XExtensionManager
com::sun::star::ucb::CommandAbortedException,
com::sun::star::lang::IllegalArgumentException);
- /** gets all currently deployed extensions.
+ /** gets all currently installed extensions, including disabled
+ user extensions.
+
@param repository
the repository from which the extensions are returned
@param xAbortChannel
@@ -199,7 +184,7 @@ interface XExtensionManager
@param xCmdEnv
command environment for error and progress handling
@return
- all currently deployed packages
+ all currently installed packages
*/
sequence<XPackage> getDeployedExtensions(
[in] string repository,
@@ -211,18 +196,18 @@ interface XExtensionManager
com::sun::star::lang::IllegalArgumentException);
- /** gets a deployed extensions.
+ /** gets an installed extensions.
@param repositroy
the name of the repository
@param identifier
- package identifier
+ extension identifier
@param fileName
- package file name
+ extension file name
@param xCmdEnv
command environment for error and progress handling
@return
- <type>XPackage</type> handle
+ <type>XPackage</type> object
*/
XPackage getDeployedExtension(
[in] string repository,
@@ -233,6 +218,23 @@ interface XExtensionManager
com::sun::star::ucb::CommandFailedException,
com::sun::star::lang::IllegalArgumentException);
+ /** gets all extensions with the same identifer from all repositories.
+
+ The extension at the first position in the returned sequence represents
+ the extension from the user repository. The next element is from the shared
+ and the last one is from the bundled repository.
+ If one repository does not contain this extension, then the respective
+ element is a null reference.
+ */
+ sequence<XPackage> getExtensionsWithSameIdentifier(
+ [in] string identifier,
+ [in] string fileName,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
/** returns a sequence containing all installed extensions.
The members of the returned sequence correspond to an extension with a
@@ -252,7 +254,7 @@ interface XExtensionManager
/** Expert feature: erases the underlying registry cache and reinstalls
- all previously added packages. Please keep in mind that all
+ all previously added extensions. Please keep in mind that all
registration status get lost.
<p>
Please use this in case of suspected cache inconsistencies only.
@@ -275,7 +277,7 @@ interface XExtensionManager
/** synchronizes the extension database with the contents of the extensions
- folder.
+ folder of shared and bundled extensinos.
Added extensions will be added to the database and removed extensions
will be removed from the database.
@@ -304,6 +306,12 @@ interface XExtensionManager
Extensions which allow the license to be suppressed, that is, it does not
need to be displayed, and which are installed with the corresponding option,
are also not returned.
+
+ Extensions returned by this functions are not returned by
+ <member>XExtensionManger::getDeployedExtension</member>
+ <member>XExtensionManger::getDeployedExtensions</member>
+ <member>XExtensionManger::getAllExtensions</member>
+ <member>XExtensionManger::getExtensionsWithSameIdentifier</member>
*/
sequence<XPackage> getExtensionsWithUnacceptedLicenses(
[in] string repository,
@@ -312,8 +320,7 @@ interface XExtensionManager
com::sun::star::lang::IllegalArgumentException);
/** check if all prerequisites for the extension are fulfilled
- and registeres it if possible.
- See also <member>XPackageManager::checkPrerequisites</member>
+ and activates it, if possible.
*/
long checkPrerequisitesAndEnable(
[in] XPackage extension,
diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl
index 6d3ae5d91d22..9709b579bc2e 100644
--- a/offapi/com/sun/star/deployment/XPackage.idl
+++ b/offapi/com/sun/star/deployment/XPackage.idl
@@ -137,7 +137,9 @@ interface XPackage
com::sun::star::ucb::CommandFailedException,
com::sun::star::ucb::CommandAbortedException);
- /** registers this <type>XPackage</type>, thus activating the package.
+ /** registers this <type>XPackage</type>.
+
+ NEVER call this directly. This is done by the extension manager if necessary.
@param startup
indicates that registration is adapted to the particular
@@ -161,6 +163,8 @@ interface XPackage
/** revokes this <type>XPackage</type>.
+ NEVER call this directly. This is done by the extension manager if necessary.
+
@param xAbortChannel
abort channel to asynchronously abort the registration process,
or null
diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl
index fde1505ffac0..da329bb9367f 100644
--- a/offapi/com/sun/star/deployment/XPackageManager.idl
+++ b/offapi/com/sun/star/deployment/XPackageManager.idl
@@ -55,7 +55,7 @@ module com { module sun { module star { module deployment {
removed from the repository.
</p>
<p>
- All interface methods do neither register or revoke an extension.
+ All interface methods do neither register nor revoke an extension.
This happens exclusively by <type>XExtensionManager</type>.
</p>
<p>
@@ -82,7 +82,8 @@ interface XPackageManager
*/
interface com::sun::star::util::XModifyBroadcaster;
- /** returns the underlying deployment context.
+ /** returns the underlying deployment context, that is,
+ the name of the repository..
@return
underlying deployment context
diff --git a/offapi/com/sun/star/document/DocumentProperties.idl b/offapi/com/sun/star/document/DocumentProperties.idl
index c8e0ee9ca493..5b00f6c9a8e2 100755
--- a/offapi/com/sun/star/document/DocumentProperties.idl
+++ b/offapi/com/sun/star/document/DocumentProperties.idl
@@ -49,7 +49,7 @@ module com { module sun { module star { module document {
@see XDocumentProperties
@see XDocumentPropertiesSupplier
*/
-service DocumentProperties : XDocumentProperties
+published service DocumentProperties : XDocumentProperties
{
/** constructs default-initialized instance
*/
diff --git a/offapi/com/sun/star/document/MediaDescriptor.idl b/offapi/com/sun/star/document/MediaDescriptor.idl
index 72690a45eccd..89a3141a443d 100644
--- a/offapi/com/sun/star/document/MediaDescriptor.idl
+++ b/offapi/com/sun/star/document/MediaDescriptor.idl
@@ -51,6 +51,10 @@
#include <com/sun/star/task/XStatusIndicator.idl>
#endif
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
//=============================================================================
module com { module sun { module star { module document {
@@ -594,6 +598,11 @@ published service MediaDescriptor
@since OOo 3.0
*/
[optional,property] string ViewControllerName;
+ //-------------------------------------------------------------------------
+
+ /** specifies the frame containing the document. May be empty.
+ */
+ [optional,property] com::sun::star::frame::XFrame Frame;
};
//=============================================================================
diff --git a/offapi/com/sun/star/document/OfficeDocument.idl b/offapi/com/sun/star/document/OfficeDocument.idl
index 98d3b09e39e3..4a3418e4da64 100644
--- a/offapi/com/sun/star/document/OfficeDocument.idl
+++ b/offapi/com/sun/star/document/OfficeDocument.idl
@@ -71,6 +71,10 @@
#include <com/sun/star/document/XEmbeddedScripts.idl>
#endif
+#ifndef __com_sun_star_document_XDocumentPropertiesSupplier_idl__
+#include <com/sun/star/document/XDocumentPropertiesSupplier.idl>
+#endif
+
//=============================================================================
module com { module sun { module star { module document {
@@ -158,6 +162,8 @@ published service OfficeDocument
Instead of the <type>StandaloneDocumentInfo</type> service the <type>DocumentInfo</type>
will be available on an already opened document only.
</p>
+
+ @deprecated Use <type>XDocumentPropertiesSupplier</type> instead.
*/
[optional] interface XDocumentInfoSupplier;
@@ -180,6 +186,13 @@ published service OfficeDocument
[optional] interface XEmbeddedScripts;
//-------------------------------------------------------------------------
+ /** access to the <type>DocumentProperties</type>.
+
+ @since OOo 3.0
+ */
+ [optional] interface XDocumentPropertiesSupplier;
+
+ //-------------------------------------------------------------------------
/** controls the focus behaviour of the form controls in the document
<p>
diff --git a/offapi/com/sun/star/document/XDocumentProperties.idl b/offapi/com/sun/star/document/XDocumentProperties.idl
index 943fbd586f8f..8a3b2c1843aa 100755
--- a/offapi/com/sun/star/document/XDocumentProperties.idl
+++ b/offapi/com/sun/star/document/XDocumentProperties.idl
@@ -88,7 +88,7 @@ module com { module sun { module star { module document {
for getting access to an instance from a loaded document
@see DocumentProperties for a service that implements this interface
*/
-interface XDocumentProperties
+published interface XDocumentProperties
{
//-------------------------------------------------------------------------
/** contains the initial author of the document.
@@ -352,8 +352,6 @@ interface XDocumentProperties
if thrown when trying to open a stream in the given storage
@throws com::sun::star::io::IOException
if thrown when trying to open a stream in the given storage
- @throws com::sun::star::uno::Exception
- in various unspecified circumstances
*/
void loadFromStorage( [in] com::sun::star::embed::XStorage Storage,
@@ -361,15 +359,10 @@ interface XDocumentProperties
raises( com::sun::star::lang::IllegalArgumentException,
com::sun::star::io::WrongFormatException,
com::sun::star::lang::WrappedTargetException,
- com::sun::star::io::IOException,
- com::sun::star::uno::Exception );
+ com::sun::star::io::IOException );
//-------------------------------------------------------------------------
/** loads document properties from an ODF package or an OLE container.
- <p>
- For compatibility reasons this method also supports the import from
- former StarOffice binary file formats.
- </p>
@param URL
the URL of the source document
@@ -389,16 +382,13 @@ interface XDocumentProperties
if thrown when trying to open a stream in the given storage
@throws com::sun::star::io::IOException
if thrown when trying to open a stream in the given storage
- @throws com::sun::star::uno::Exception
- in various unspecified circumstances
*/
void loadFromMedium( [in] string URL,
[in] sequence < com::sun::star::beans::PropertyValue > Medium )
raises( com::sun::star::io::WrongFormatException,
com::sun::star::lang::WrappedTargetException,
- com::sun::star::io::IOException,
- com::sun::star::uno::Exception );
+ com::sun::star::io::IOException );
//-------------------------------------------------------------------------
/** stores document properties to an ODF package.
@@ -428,23 +418,16 @@ interface XDocumentProperties
if thrown when trying to open a stream in the given storage
@throws com::sun::star::io::IOException
if thrown when writing to the storage
- @throws com::sun::star::uno::Exception
- in various unspecified circumstances
*/
void storeToStorage( [in] com::sun::star::embed::XStorage Storage,
[in] sequence < com::sun::star::beans::PropertyValue > Medium )
raises( com::sun::star::lang::IllegalArgumentException,
com::sun::star::lang::WrappedTargetException,
- com::sun::star::io::IOException,
- com::sun::star::uno::Exception );
+ com::sun::star::io::IOException );
//-------------------------------------------------------------------------
/** stores document properties to an ODF package or an OLE container.
- <p>
- For compatibility reasons this method also supports the export to former
- StarOffice binary file formats.
- </p>
@param URL
the URL of the target document
@@ -462,15 +445,12 @@ interface XDocumentProperties
if thrown when trying to open a stream in the given storage
@throws com::sun::star::io::IOException
if thrown when writing to the storage
- @throws com::sun::star::uno::Exception
- in various unspecified circumstances
*/
void storeToMedium( [in] string URL,
[in] sequence < com::sun::star::beans::PropertyValue > Medium )
raises( com::sun::star::lang::WrappedTargetException,
- com::sun::star::io::IOException,
- com::sun::star::uno::Exception );
+ com::sun::star::io::IOException );
};
//=============================================================================
diff --git a/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl b/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl
index 52fa61aa5f12..811513d7a026 100644
--- a/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl
+++ b/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl
@@ -52,7 +52,7 @@ module com { module sun { module star { module document {
@see XDocumentProperties
@see DocumentProperties
*/
-interface XDocumentPropertiesSupplier
+published interface XDocumentPropertiesSupplier
{
//-------------------------------------------------------------------------
/** provides the document properties object.
diff --git a/offapi/com/sun/star/embed/Actions.idl b/offapi/com/sun/star/embed/Actions.idl
index a65766a4ed79..48ad78eb0ab2 100644
--- a/offapi/com/sun/star/embed/Actions.idl
+++ b/offapi/com/sun/star/embed/Actions.idl
@@ -35,7 +35,7 @@ module com { module sun { module star { module embed {
/** This constant set contains possible actions that could be approved by
<type>ActionsApproval</type> implementation.
*/
-constants Actions
+published constants Actions
{
//------------------------------------------------------------------------
/** "Prevent Close" - throws veto excetion if target object is going to
diff --git a/offapi/com/sun/star/embed/Aspects.idl b/offapi/com/sun/star/embed/Aspects.idl
index 3b0d13ba50c8..28431b60f87e 100644
--- a/offapi/com/sun/star/embed/Aspects.idl
+++ b/offapi/com/sun/star/embed/Aspects.idl
@@ -49,7 +49,7 @@ module com { module sun { module star { module embed {
@see XEmbeddedObject
*/
-constants Aspects
+published constants Aspects
{
// MS OLE aspects
diff --git a/offapi/com/sun/star/embed/BaseStorage.idl b/offapi/com/sun/star/embed/BaseStorage.idl
index 776e9b992cbe..81df39792b75 100644
--- a/offapi/com/sun/star/embed/BaseStorage.idl
+++ b/offapi/com/sun/star/embed/BaseStorage.idl
@@ -44,7 +44,7 @@
//============================================================================
/** This is a service that allows to get access to a storage hierarchy.
*/
-service BaseStorage
+published service BaseStorage
{
// -----------------------------------------------------------------------
/** This is a general interface representing storage functionality.
diff --git a/offapi/com/sun/star/embed/DocumentCloser.idl b/offapi/com/sun/star/embed/DocumentCloser.idl
index 89c020c8caa6..9b0eaf617527 100644
--- a/offapi/com/sun/star/embed/DocumentCloser.idl
+++ b/offapi/com/sun/star/embed/DocumentCloser.idl
@@ -65,7 +65,7 @@ module com { module sun { module star { module embed {
from the container system window.
</p>
*/
-service DocumentCloser : com::sun::star::lang::XComponent
+published service DocumentCloser : com::sun::star::lang::XComponent
{
/** is used to initialize the object on it's creation.
diff --git a/offapi/com/sun/star/embed/ElementModes.idl b/offapi/com/sun/star/embed/ElementModes.idl
index d579c7f67be3..314036fd45ec 100644
--- a/offapi/com/sun/star/embed/ElementModes.idl
+++ b/offapi/com/sun/star/embed/ElementModes.idl
@@ -43,7 +43,7 @@ module com { module sun { module star { module embed {
@see <type>XStorage</type>
*/
-constants ElementModes
+published constants ElementModes
{
//------------------------------------------------------------------------
/** specifies opening of an element for reading.
diff --git a/offapi/com/sun/star/embed/EmbedMapUnits.idl b/offapi/com/sun/star/embed/EmbedMapUnits.idl
index 7888eea876b7..ff8a3cebada5 100644
--- a/offapi/com/sun/star/embed/EmbedMapUnits.idl
+++ b/offapi/com/sun/star/embed/EmbedMapUnits.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module embed {
@see XVisualObject
*/
-constants EmbedMapUnits
+published constants EmbedMapUnits
{
// ----------------------------------------------------------------------
/** In this type of map mode one logical point is equal to one-hundredth
diff --git a/offapi/com/sun/star/embed/EmbedMisc.idl b/offapi/com/sun/star/embed/EmbedMisc.idl
index 1fa8204a44b0..a1e05224b00b 100644
--- a/offapi/com/sun/star/embed/EmbedMisc.idl
+++ b/offapi/com/sun/star/embed/EmbedMisc.idl
@@ -47,7 +47,7 @@ module com { module sun { module star { module embed {
@see XEmbeddedObject
*/
-constants EmbedMisc
+published constants EmbedMisc
{
// analog of the MS OLEMISC enum
diff --git a/offapi/com/sun/star/embed/EmbedStates.idl b/offapi/com/sun/star/embed/EmbedStates.idl
index 3f63bec2e607..df94cfa045a5 100644
--- a/offapi/com/sun/star/embed/EmbedStates.idl
+++ b/offapi/com/sun/star/embed/EmbedStates.idl
@@ -36,7 +36,7 @@ module com { module sun { module star { module embed {
/** This constant set contains possible states for
<type>EmbeddedObject</type>.
*/
-constants EmbedStates
+published constants EmbedStates
{
//------------------------------------------------------------------------
/** "Loaded" - the persistent representation of the object is loaded in
diff --git a/offapi/com/sun/star/embed/EmbedUpdateModes.idl b/offapi/com/sun/star/embed/EmbedUpdateModes.idl
index 17213598d92a..9060aa965909 100644
--- a/offapi/com/sun/star/embed/EmbedUpdateModes.idl
+++ b/offapi/com/sun/star/embed/EmbedUpdateModes.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module embed {
@see XEmbeddedObject
*/
-constants EmbedUpdateModes
+published constants EmbedUpdateModes
{
// -----------------------------------------------------------------------
/** An object representation should be updated as often as possible.
diff --git a/offapi/com/sun/star/embed/EmbedVerbs.idl b/offapi/com/sun/star/embed/EmbedVerbs.idl
index cc92013b83d5..5d34fb1e8153 100644
--- a/offapi/com/sun/star/embed/EmbedVerbs.idl
+++ b/offapi/com/sun/star/embed/EmbedVerbs.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module embed {
@see XEmbeddedObject
*/
-constants EmbedVerbs
+published constants EmbedVerbs
{
//------------------------------------------------------------------------
/** lets the object do default activation, as by doubleclick.
diff --git a/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl b/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl
index 733db10e61b1..5a47c8f8fafc 100644
--- a/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl
+++ b/offapi/com/sun/star/embed/EmbeddedObjectDescriptor.idl
@@ -71,7 +71,7 @@ module com { module sun { module star { module embed {
@see com::sun::star::beans::PropertyValue
*/
-service EmbeddedObjectDescriptor
+published service EmbeddedObjectDescriptor
{
//------------------------------------------------------------------------
/** lets the graphical representation of embedded document be stored.
diff --git a/offapi/com/sun/star/embed/EntryInitModes.idl b/offapi/com/sun/star/embed/EntryInitModes.idl
index 2517670dacf9..ae67192d323a 100644
--- a/offapi/com/sun/star/embed/EntryInitModes.idl
+++ b/offapi/com/sun/star/embed/EntryInitModes.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module embed {
@see XEmbedPersist
*/
-constants EntryInitModes
+published constants EntryInitModes
{
// -----------------------------------------------------------------------
/** In case object persistance is created based on existing entry,
diff --git a/offapi/com/sun/star/embed/FileSystemStorage.idl b/offapi/com/sun/star/embed/FileSystemStorage.idl
index 76d07e3f9aeb..2b4d7d456751 100644
--- a/offapi/com/sun/star/embed/FileSystemStorage.idl
+++ b/offapi/com/sun/star/embed/FileSystemStorage.idl
@@ -40,7 +40,7 @@
/** This is a service that allows to get access to a file system folder using
storage hierarchy.
*/
-service FileSystemStorage
+published service FileSystemStorage
{
// -----------------------------------------------------------------------
/** This service describes the base functionality of storages.
diff --git a/offapi/com/sun/star/embed/FileSystemStorageFactory.idl b/offapi/com/sun/star/embed/FileSystemStorageFactory.idl
index 30f7f1fa15db..d27541d703ef 100644
--- a/offapi/com/sun/star/embed/FileSystemStorageFactory.idl
+++ b/offapi/com/sun/star/embed/FileSystemStorageFactory.idl
@@ -42,7 +42,7 @@
create a <type>FileSystemStorage</type> based on URL. The URL must point
to a folder.
*/
-service FileSystemStorageFactory
+published service FileSystemStorageFactory
{
// ----------------------------------------------------------------------
/** A storage can be created through this interface.
diff --git a/offapi/com/sun/star/embed/InsertedObjectInfo.idl b/offapi/com/sun/star/embed/InsertedObjectInfo.idl
index a07529ee34cc..dedfabb75a8f 100644
--- a/offapi/com/sun/star/embed/InsertedObjectInfo.idl
+++ b/offapi/com/sun/star/embed/InsertedObjectInfo.idl
@@ -43,7 +43,7 @@
/** is intended to provide result of creation of an embedded object by dialog.
*/
-struct InsertedObjectInfo
+published struct InsertedObjectInfo
{
//-------------------------------------------------------------------------
/** The new created embedded object.
diff --git a/offapi/com/sun/star/embed/InstanceLocker.idl b/offapi/com/sun/star/embed/InstanceLocker.idl
index 15716cc4fceb..3258dc3b9365 100644
--- a/offapi/com/sun/star/embed/InstanceLocker.idl
+++ b/offapi/com/sun/star/embed/InstanceLocker.idl
@@ -57,7 +57,7 @@ module com { module sun { module star { module embed {
the listener throw related veto exception until the service is disposed.
</p>
*/
-service InstanceLocker : com::sun::star::lang::XComponent
+published service InstanceLocker : com::sun::star::lang::XComponent
{
/** is used to initialize the object on it's creation.
diff --git a/offapi/com/sun/star/embed/InvalidStorageException.idl b/offapi/com/sun/star/embed/InvalidStorageException.idl
index a8eeb067d237..f4eabfb8908e 100644
--- a/offapi/com/sun/star/embed/InvalidStorageException.idl
+++ b/offapi/com/sun/star/embed/InvalidStorageException.idl
@@ -44,7 +44,7 @@
For example in case it is broken one.
</p>
*/
-exception InvalidStorageException: com::sun::star::io::IOException
+published exception InvalidStorageException: com::sun::star::io::IOException
{
};
diff --git a/offapi/com/sun/star/embed/LinkageMisuseException.idl b/offapi/com/sun/star/embed/LinkageMisuseException.idl
index 769938f9ccba..fec43851a373 100644
--- a/offapi/com/sun/star/embed/LinkageMisuseException.idl
+++ b/offapi/com/sun/star/embed/LinkageMisuseException.idl
@@ -44,7 +44,7 @@
Or if embedded object is misused as a linked object.
</p>
*/
-exception LinkageMisuseException: com::sun::star::uno::Exception
+published exception LinkageMisuseException: com::sun::star::uno::Exception
{
};
diff --git a/offapi/com/sun/star/embed/NeedsRunningStateException.idl b/offapi/com/sun/star/embed/NeedsRunningStateException.idl
index 4c5149e36454..8853049ab64f 100644
--- a/offapi/com/sun/star/embed/NeedsRunningStateException.idl
+++ b/offapi/com/sun/star/embed/NeedsRunningStateException.idl
@@ -47,7 +47,7 @@
addition to the loaded state. Other states and possible verbs can be
detected only after object is switched to running state.
*/
-exception NeedsRunningStateException: WrongStateException
+published exception NeedsRunningStateException: WrongStateException
{
};
diff --git a/offapi/com/sun/star/embed/NoVisualAreaSizeException.idl b/offapi/com/sun/star/embed/NoVisualAreaSizeException.idl
index 9262e9f0ee31..c5f8e5935b46 100644
--- a/offapi/com/sun/star/embed/NoVisualAreaSizeException.idl
+++ b/offapi/com/sun/star/embed/NoVisualAreaSizeException.idl
@@ -41,7 +41,7 @@
/** This exception can be thrown in case the object can not provide own visual
area currently.
*/
-exception NoVisualAreaSizeException: com::sun::star::uno::Exception
+published exception NoVisualAreaSizeException: com::sun::star::uno::Exception
{
};
diff --git a/offapi/com/sun/star/embed/OLESimpleStorage.idl b/offapi/com/sun/star/embed/OLESimpleStorage.idl
index d83078dfb315..8aa4630acd6b 100644
--- a/offapi/com/sun/star/embed/OLESimpleStorage.idl
+++ b/offapi/com/sun/star/embed/OLESimpleStorage.idl
@@ -45,7 +45,7 @@ module com { module sun { module star { module embed {
/** This service provides a simple functionality to allow
read/write the storages in OLE storage format.
*/
-service OLESimpleStorage: XOLESimpleStorage
+published service OLESimpleStorage: XOLESimpleStorage
{
// CONSTRUCTORS ----------------------------------------------------------
/** is used to initialize the object on it's creation.
diff --git a/offapi/com/sun/star/embed/ObjectSaveVetoException.idl b/offapi/com/sun/star/embed/ObjectSaveVetoException.idl
index cd75d9c0eb94..3d0252e912fe 100644
--- a/offapi/com/sun/star/embed/ObjectSaveVetoException.idl
+++ b/offapi/com/sun/star/embed/ObjectSaveVetoException.idl
@@ -43,7 +43,7 @@
@see XEmbeddedClient
*/
-exception ObjectSaveVetoException: com::sun::star::uno::Exception
+published exception ObjectSaveVetoException: com::sun::star::uno::Exception
{
};
diff --git a/offapi/com/sun/star/embed/StateChangeInProgressException.idl b/offapi/com/sun/star/embed/StateChangeInProgressException.idl
index fe6e50f221b9..648e839383ba 100644
--- a/offapi/com/sun/star/embed/StateChangeInProgressException.idl
+++ b/offapi/com/sun/star/embed/StateChangeInProgressException.idl
@@ -42,7 +42,7 @@
to call requested functionality currently because the object is changing
state.
*/
-exception StateChangeInProgressException: com::sun::star::embed::WrongStateException
+published exception StateChangeInProgressException: com::sun::star::embed::WrongStateException
{
//------------------------------------------------------------------------
/** contains the target state the object tries to reach currently.
diff --git a/offapi/com/sun/star/embed/Storage.idl b/offapi/com/sun/star/embed/Storage.idl
index 93709d335b2b..d34d736cf5cb 100644
--- a/offapi/com/sun/star/embed/Storage.idl
+++ b/offapi/com/sun/star/embed/Storage.idl
@@ -75,7 +75,7 @@
of a parent storage.
</p>
*/
-service Storage
+published service Storage
{
// -----------------------------------------------------------------------
/** This service describes the base functionality of storages.
diff --git a/offapi/com/sun/star/embed/StorageFactory.idl b/offapi/com/sun/star/embed/StorageFactory.idl
index 0f653069f07e..4b4b40d01a4c 100644
--- a/offapi/com/sun/star/embed/StorageFactory.idl
+++ b/offapi/com/sun/star/embed/StorageFactory.idl
@@ -41,7 +41,7 @@
/** The <type>StorageFactory</type> is a service that allows to create
a storage based on either stream or URL.
*/
-service StorageFactory
+published service StorageFactory
{
// ----------------------------------------------------------------------
/** A storage can be created through this interface.
@@ -82,13 +82,22 @@ service StorageFactory
<dt>parameter 3</dt>
<dd>
- allowes to provide
+ this paramenter represents
+ <type scope="com::sun::star::uno">Any</type>
+ containing a sequence of
+ <type scope="com::sun::star::beans">PropertyValue</type>.<br>
+ The parameter can contain entries from
<type scope="com::sun::star::document">MediaDescryptor</type>
- to the storage so some parts can be used for
+ to transport some document info during the storage
initialization, it can be for example
<type scope="com::sun::star::task">XInteractionHandler</type>
implementation, password for the storage and repair
- package flag.
+ package flag.<br>
+ Additionaly the parameter might contain property with the name
+ "StorageFormat" that can take values from
+ <type scope="com::sun::star::embed">StorageFormats</type>.
+ If the property is not provided a storage of package format
+ is created.
</dd>
</dl>
diff --git a/cppu/test/EnvStack_tester/EnvStack.tester.hxx b/offapi/com/sun/star/embed/StorageFormats.idl
index 1500ffe4723f..128fb1190b15 100644
--- a/cppu/test/EnvStack_tester/EnvStack.tester.hxx
+++ b/offapi/com/sun/star/embed/StorageFormats.idl
@@ -24,38 +24,42 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
+#ifndef __com_sun_star_embed_StorageFormats_idl__
+#define __com_sun_star_embed_StorageFormats_idl__
-#ifndef INCLUDED_cppu_test_EnvStack_tester_hxx
-#define INCLUDED_cppu_test_EnvStack_tester_hxx
-#include "uno/environment.hxx"
+//============================================================================
+module com { module sun { module star { module embed {
-#ifdef CPPU_test_EnvStack_tester_IMPL
-# define CPPU_test_EnvStack_tester_EXPORT SAL_DLLPUBLIC_EXPORT
+//============================================================================
+/** The constant set contains IDs of formats that are supported by
+ <type>StorageFactory</type>.
-#elif defined(CPPU_test_EnvStack_Test_LIB)
-# define CPPU_test_EnvStack_tester_EXPORT extern
+ @see <type>StorageFactory</type>
+ @since OOo 3.3
+*/
+published constants StorageFormats
+{
+ //------------------------------------------------------------------------
+ /** specifies package format
+ */
+ const long PACKAGE = 1;
-#elif defined(__GNUC__) && defined(HAVE_GCC_VISIBILITY_FEATURE)
-# define CPPU_test_EnvStack_tester_EXPORT extern __attribute__ ((weak))
+ //------------------------------------------------------------------------
+ /** specifies zip format
+ */
+ const long ZIP = 2;
-#elif defined(__SUNPRO_CC)
-# define CPPU_test_EnvStack_tester_EXPORT extern
- extern rtl::OUString g_commentStack;
- extern com::sun::star::uno::Environment g_env;
+ //------------------------------------------------------------------------
+ /** specifies Office Open XML format
+ */
+ const long OFOPXML = 3;
+};
-# pragma weak g_commentStack
-# pragma weak g_env
+//============================================================================
-#else
-# define CPPU_test_EnvStack_tester_EXPORT SAL_DLLPUBLIC_IMPORT
+}; }; }; };
#endif
-CPPU_test_EnvStack_tester_EXPORT rtl::OUString g_commentStack;
-CPPU_test_EnvStack_tester_EXPORT com::sun::star::uno::Environment g_env;
-
-
-
-#endif
diff --git a/offapi/com/sun/star/embed/StorageStream.idl b/offapi/com/sun/star/embed/StorageStream.idl
index eb08391619dd..1fb6733605f0 100644
--- a/offapi/com/sun/star/embed/StorageStream.idl
+++ b/offapi/com/sun/star/embed/StorageStream.idl
@@ -64,7 +64,7 @@
of the stream can exist.
</p>
*/
-service StorageStream
+published service StorageStream
{
// -----------------------------------------------------------------------
/** allows to get access to <type scope="com::sun::star::io">XInputStream</type>
diff --git a/offapi/com/sun/star/embed/StorageWrappedTargetException.idl b/offapi/com/sun/star/embed/StorageWrappedTargetException.idl
index 038d2fb9194f..aed449eb90a1 100644
--- a/offapi/com/sun/star/embed/StorageWrappedTargetException.idl
+++ b/offapi/com/sun/star/embed/StorageWrappedTargetException.idl
@@ -41,7 +41,7 @@
/** This exception can wrap an exception thrown during <type>XStorage</type>
methods execution.
*/
-exception StorageWrappedTargetException: com::sun::star::lang::WrappedTargetException
+published exception StorageWrappedTargetException: com::sun::star::lang::WrappedTargetException
{
};
diff --git a/offapi/com/sun/star/embed/UnreachableStateException.idl b/offapi/com/sun/star/embed/UnreachableStateException.idl
index e0347b7894e5..be53beda3bc3 100644
--- a/offapi/com/sun/star/embed/UnreachableStateException.idl
+++ b/offapi/com/sun/star/embed/UnreachableStateException.idl
@@ -40,7 +40,7 @@
/** This exception can be thrown in case specified state can not be reached.
*/
-exception UnreachableStateException: com::sun::star::uno::Exception
+published exception UnreachableStateException: com::sun::star::uno::Exception
{
// -----------------------------------------------------------------------
/** The current state of the object.
diff --git a/offapi/com/sun/star/embed/UseBackupException.idl b/offapi/com/sun/star/embed/UseBackupException.idl
index 34c19b6b59ec..e7d74d30f52c 100644
--- a/offapi/com/sun/star/embed/UseBackupException.idl
+++ b/offapi/com/sun/star/embed/UseBackupException.idl
@@ -51,7 +51,7 @@
internally, and can be used as a temporary storage usually used.
</p>
*/
-exception UseBackupException: com::sun::star::io::IOException
+published exception UseBackupException: com::sun::star::io::IOException
{
/** The URL of the temporary file the storage is based on now.
*/
diff --git a/offapi/com/sun/star/embed/VerbAttributes.idl b/offapi/com/sun/star/embed/VerbAttributes.idl
index f8ee208831c5..742e782eb5c9 100644
--- a/offapi/com/sun/star/embed/VerbAttributes.idl
+++ b/offapi/com/sun/star/embed/VerbAttributes.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module embed {
@see VerbDescriptor
*/
-constants VerbAttributes
+published constants VerbAttributes
{
// -----------------------------------------------------------------------
/** Execution of the verb with this attribute must not modify the
diff --git a/offapi/com/sun/star/embed/VerbDescriptor.idl b/offapi/com/sun/star/embed/VerbDescriptor.idl
index c286e1ef23d0..f213c5969952 100644
--- a/offapi/com/sun/star/embed/VerbDescriptor.idl
+++ b/offapi/com/sun/star/embed/VerbDescriptor.idl
@@ -36,7 +36,7 @@
/** describes a verb.
*/
-struct VerbDescriptor
+published struct VerbDescriptor
{
//------------------------------------------------------------------------
/** specifies the id of the verb.
diff --git a/offapi/com/sun/star/embed/VisualRepresentation.idl b/offapi/com/sun/star/embed/VisualRepresentation.idl
index d41c9acfbe3f..8d07575008bb 100644
--- a/offapi/com/sun/star/embed/VisualRepresentation.idl
+++ b/offapi/com/sun/star/embed/VisualRepresentation.idl
@@ -39,7 +39,7 @@
/** can contain a graphical representation in an arbitrary format.
*/
-struct VisualRepresentation
+published struct VisualRepresentation
{
//-------------------------------------------------------------------------
/** The format of the visual representation.
diff --git a/offapi/com/sun/star/embed/WrongStateException.idl b/offapi/com/sun/star/embed/WrongStateException.idl
index f7a2a31d9058..809389c3a1fa 100644
--- a/offapi/com/sun/star/embed/WrongStateException.idl
+++ b/offapi/com/sun/star/embed/WrongStateException.idl
@@ -41,7 +41,7 @@
/** This exception can be thrown in case the object's state does not allow
to call requested functionality.
*/
-exception WrongStateException: com::sun::star::uno::Exception
+published exception WrongStateException: com::sun::star::uno::Exception
{
};
diff --git a/offapi/com/sun/star/embed/XActionsApproval.idl b/offapi/com/sun/star/embed/XActionsApproval.idl
index 904ae103101a..d3b64367a97b 100644
--- a/offapi/com/sun/star/embed/XActionsApproval.idl
+++ b/offapi/com/sun/star/embed/XActionsApproval.idl
@@ -44,7 +44,7 @@
possible actions must be documented in documentation of the object.
</p>
*/
-interface XActionsApproval: com::sun::star::uno::XInterface
+published interface XActionsApproval: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** requests an approval for the specified action.
diff --git a/offapi/com/sun/star/embed/XClassifiedObject.idl b/offapi/com/sun/star/embed/XClassifiedObject.idl
index 37ca9249cb30..2cde70fa8566 100644
--- a/offapi/com/sun/star/embed/XClassifiedObject.idl
+++ b/offapi/com/sun/star/embed/XClassifiedObject.idl
@@ -43,7 +43,7 @@
//============================================================================
/** represents common functionality for embedded objects
*/
-interface XClassifiedObject: com::sun::star::uno::XInterface
+published interface XClassifiedObject: com::sun::star::uno::XInterface
{
// -----------------------------------------------------------------------
/** retrieves class ID of the object.
diff --git a/offapi/com/sun/star/embed/XCommonEmbedPersist.idl b/offapi/com/sun/star/embed/XCommonEmbedPersist.idl
index 2f07ce1e3015..8b82c44965e0 100644
--- a/offapi/com/sun/star/embed/XCommonEmbedPersist.idl
+++ b/offapi/com/sun/star/embed/XCommonEmbedPersist.idl
@@ -59,7 +59,7 @@
/** specifies common implementation for embedded objects and links
persistence.
*/
-interface XCommonEmbedPersist: com::sun::star::uno::XInterface
+published interface XCommonEmbedPersist: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** lets the object or the link store itself.
diff --git a/offapi/com/sun/star/embed/XComponentSupplier.idl b/offapi/com/sun/star/embed/XComponentSupplier.idl
index de1044bd2901..548b5aa24510 100644
--- a/offapi/com/sun/star/embed/XComponentSupplier.idl
+++ b/offapi/com/sun/star/embed/XComponentSupplier.idl
@@ -38,7 +38,7 @@
//=============================================================================
/** provides access to a component.
*/
-interface XComponentSupplier: com::sun::star::uno::XInterface
+published interface XComponentSupplier: com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
/** allows to get access to a component.
diff --git a/offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl b/offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl
index b0e3c68b512c..45f3aef06cd6 100644
--- a/offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl
+++ b/offapi/com/sun/star/embed/XEmbedObjectClipboardCreator.idl
@@ -67,7 +67,7 @@
an embedded object based on system clipboard.
</p>
*/
-interface XEmbedObjectClipboardCreator: com::sun::star::uno::XInterface
+published interface XEmbedObjectClipboardCreator: com::sun::star::uno::XInterface
{
// -----------------------------------------------------------------------
/** creates a new object and initializes it from the system clipboard.
diff --git a/offapi/com/sun/star/embed/XEmbedObjectCreator.idl b/offapi/com/sun/star/embed/XEmbedObjectCreator.idl
index 09227bd26aa0..a214851922ad 100644
--- a/offapi/com/sun/star/embed/XEmbedObjectCreator.idl
+++ b/offapi/com/sun/star/embed/XEmbedObjectCreator.idl
@@ -63,7 +63,7 @@
an embedded object.
</p>
*/
-interface XEmbedObjectCreator: com::sun::star::uno::XInterface
+published interface XEmbedObjectCreator: com::sun::star::uno::XInterface
{
// -----------------------------------------------------------------------
/** creates a new object and initializes it as a new one.
diff --git a/offapi/com/sun/star/embed/XEmbedObjectFactory.idl b/offapi/com/sun/star/embed/XEmbedObjectFactory.idl
index f5b73f1d3dc3..67a355054c48 100644
--- a/offapi/com/sun/star/embed/XEmbedObjectFactory.idl
+++ b/offapi/com/sun/star/embed/XEmbedObjectFactory.idl
@@ -61,7 +61,7 @@
This interface provides user with full control over object creation.
</p>
*/
-interface XEmbedObjectFactory: com::sun::star::uno::XInterface
+published interface XEmbedObjectFactory: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** creates a new object and transport parameters for persistent
diff --git a/offapi/com/sun/star/embed/XEmbedPersist.idl b/offapi/com/sun/star/embed/XEmbedPersist.idl
index 6eaf57c21a18..73f807188ba6 100644
--- a/offapi/com/sun/star/embed/XEmbedPersist.idl
+++ b/offapi/com/sun/star/embed/XEmbedPersist.idl
@@ -67,7 +67,7 @@
representation.
</p>
*/
-interface XEmbedPersist: XCommonEmbedPersist
+published interface XEmbedPersist: XCommonEmbedPersist
{
//------------------------------------------------------------------------
/** provides object with a parent storage and a name for object's entry.
diff --git a/offapi/com/sun/star/embed/XEmbeddedClient.idl b/offapi/com/sun/star/embed/XEmbeddedClient.idl
index 1704f719287a..f361ea2d8653 100644
--- a/offapi/com/sun/star/embed/XEmbeddedClient.idl
+++ b/offapi/com/sun/star/embed/XEmbeddedClient.idl
@@ -52,7 +52,7 @@
//============================================================================
/** represents common functionality for embedded clients.
*/
-interface XEmbeddedClient: XComponentSupplier
+published interface XEmbeddedClient: XComponentSupplier
{
//------------------------------------------------------------------------
/** asks client to let the object store itself.
diff --git a/offapi/com/sun/star/embed/XEmbeddedObject.idl b/offapi/com/sun/star/embed/XEmbeddedObject.idl
index 37de00b0221f..e0368736279f 100644
--- a/offapi/com/sun/star/embed/XEmbeddedObject.idl
+++ b/offapi/com/sun/star/embed/XEmbeddedObject.idl
@@ -92,7 +92,7 @@
//============================================================================
/** represents common functionality for embedded objects.
*/
-interface XEmbeddedObject
+published interface XEmbeddedObject
{
// INTERFACES
//
diff --git a/offapi/com/sun/star/embed/XEncryptionProtectedSource.idl b/offapi/com/sun/star/embed/XEncryptionProtectedSource.idl
index 1bcb03110a3b..9a71b99e871b 100644
--- a/offapi/com/sun/star/embed/XEncryptionProtectedSource.idl
+++ b/offapi/com/sun/star/embed/XEncryptionProtectedSource.idl
@@ -42,7 +42,7 @@
//============================================================================
/** This interface allows to set a password for an object.
*/
-interface XEncryptionProtectedSource: com::sun::star::uno::XInterface
+published interface XEncryptionProtectedSource: com::sun::star::uno::XInterface
{
// -----------------------------------------------------------------------
/** sets a password for the object.
diff --git a/offapi/com/sun/star/embed/XExtendedStorageStream.idl b/offapi/com/sun/star/embed/XExtendedStorageStream.idl
index e061c74c7337..397358db57ec 100644
--- a/offapi/com/sun/star/embed/XExtendedStorageStream.idl
+++ b/offapi/com/sun/star/embed/XExtendedStorageStream.idl
@@ -63,7 +63,7 @@
/** This interface allows access to an extended storage stream that might be
transacted.
*/
-interface XExtendedStorageStream
+published interface XExtendedStorageStream
{
// INTERFACES
//
diff --git a/offapi/com/sun/star/embed/XHatchWindow.idl b/offapi/com/sun/star/embed/XHatchWindow.idl
index 735a556ab0f5..33733958f6cd 100644
--- a/offapi/com/sun/star/embed/XHatchWindow.idl
+++ b/offapi/com/sun/star/embed/XHatchWindow.idl
@@ -56,7 +56,7 @@
Thus the window can not resize/move itself.
</p>
*/
-interface XHatchWindow: com::sun::star::lang::XComponent
+published interface XHatchWindow: com::sun::star::lang::XComponent
{
//------------------------------------------------------------------------
/** sets the object that will control resizing/moving, if the object is
diff --git a/offapi/com/sun/star/embed/XHatchWindowController.idl b/offapi/com/sun/star/embed/XHatchWindowController.idl
index d4158db605fc..7ec2e0c5a5bb 100644
--- a/offapi/com/sun/star/embed/XHatchWindowController.idl
+++ b/offapi/com/sun/star/embed/XHatchWindowController.idl
@@ -49,7 +49,7 @@
rectangle size.
</p>
*/
-interface XHatchWindowController: com::sun::star::uno::XInterface
+published interface XHatchWindowController: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** requests window owner to resize/move the window.
diff --git a/offapi/com/sun/star/embed/XHatchWindowFactory.idl b/offapi/com/sun/star/embed/XHatchWindowFactory.idl
index 5f6ebf5d5998..79d8db04832d 100644
--- a/offapi/com/sun/star/embed/XHatchWindowFactory.idl
+++ b/offapi/com/sun/star/embed/XHatchWindowFactory.idl
@@ -55,7 +55,7 @@
/** creates a hatch window implementation.
*/
-interface XHatchWindowFactory: com::sun::star::uno::XInterface
+published interface XHatchWindowFactory: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** creates a new hatch window instance.
diff --git a/offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl b/offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl
index d3a05b0b9de5..1f2cdcf132f9 100644
--- a/offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl
+++ b/offapi/com/sun/star/embed/XHierarchicalStorageAccess.idl
@@ -95,7 +95,7 @@
opened ( it is locked by hierarchical access ).
</p>
*/
-interface XHierarchicalStorageAccess
+published interface XHierarchicalStorageAccess
{
// METHODS
//
diff --git a/offapi/com/sun/star/embed/XInplaceObject.idl b/offapi/com/sun/star/embed/XInplaceObject.idl
index 53462a78fe88..3ca6bdf359fb 100644
--- a/offapi/com/sun/star/embed/XInplaceObject.idl
+++ b/offapi/com/sun/star/embed/XInplaceObject.idl
@@ -52,7 +52,7 @@
//============================================================================
/** represents common functionality for inplace embedded objects.
*/
-interface XInplaceObject: com::sun::star::uno::XInterface
+published interface XInplaceObject: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** sets the visible part of the inplace object.
diff --git a/offapi/com/sun/star/embed/XInsertObjectDialog.idl b/offapi/com/sun/star/embed/XInsertObjectDialog.idl
index 84ee0816ea8d..7b98a1c767a2 100644
--- a/offapi/com/sun/star/embed/XInsertObjectDialog.idl
+++ b/offapi/com/sun/star/embed/XInsertObjectDialog.idl
@@ -62,7 +62,7 @@
//=============================================================================
/** allows to create and initialize a new embedded object using GUI dialog.
*/
-interface XInsertObjectDialog: com::sun::star::uno::XInterface
+published interface XInsertObjectDialog: com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
/** creates a new object using GUI dialog.
diff --git a/offapi/com/sun/star/embed/XLinkCreator.idl b/offapi/com/sun/star/embed/XLinkCreator.idl
index 676d112848c9..be4bbe613288 100644
--- a/offapi/com/sun/star/embed/XLinkCreator.idl
+++ b/offapi/com/sun/star/embed/XLinkCreator.idl
@@ -62,7 +62,7 @@
it will be detected.
</p>
*/
-interface XLinkCreator: com::sun::star::uno::XInterface
+published interface XLinkCreator: com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
/** creates a new object based on
diff --git a/offapi/com/sun/star/embed/XLinkFactory.idl b/offapi/com/sun/star/embed/XLinkFactory.idl
index 73cd218d35ca..cd77fbfe0dbb 100644
--- a/offapi/com/sun/star/embed/XLinkFactory.idl
+++ b/offapi/com/sun/star/embed/XLinkFactory.idl
@@ -58,7 +58,7 @@
//============================================================================
/** allows to create and initialize a new link of specified type.
*/
-interface XLinkFactory: com::sun::star::uno::XInterface
+published interface XLinkFactory: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** creates a new link and transport parameters for persistent
diff --git a/offapi/com/sun/star/embed/XLinkageSupport.idl b/offapi/com/sun/star/embed/XLinkageSupport.idl
index eb321989d182..a4a53c36e7a8 100644
--- a/offapi/com/sun/star/embed/XLinkageSupport.idl
+++ b/offapi/com/sun/star/embed/XLinkageSupport.idl
@@ -54,7 +54,7 @@
//============================================================================
/** specifies an additional implementation for linked embedded object support.
*/
-interface XLinkageSupport: XCommonEmbedPersist
+published interface XLinkageSupport: XCommonEmbedPersist
{
//------------------------------------------------------------------------
/** breaks the link and provides the object with a parent storage and a
diff --git a/offapi/com/sun/star/embed/XOLESimpleStorage.idl b/offapi/com/sun/star/embed/XOLESimpleStorage.idl
index 9f8b19573953..ac39370e8a8f 100644
--- a/offapi/com/sun/star/embed/XOLESimpleStorage.idl
+++ b/offapi/com/sun/star/embed/XOLESimpleStorage.idl
@@ -58,7 +58,7 @@ module com { module sun { module star { module embed {
subcomponents are either OLE storages themself or streams.
</p>
*/
-interface XOLESimpleStorage
+published interface XOLESimpleStorage
{
//INTERFACES
//
diff --git a/offapi/com/sun/star/embed/XOptimizedStorage.idl b/offapi/com/sun/star/embed/XOptimizedStorage.idl
index e43a63bb6586..d51371fadfbb 100644
--- a/offapi/com/sun/star/embed/XOptimizedStorage.idl
+++ b/offapi/com/sun/star/embed/XOptimizedStorage.idl
@@ -97,7 +97,7 @@
time and will be depricated soon!
Another solution will be introduced as final one.
*/
-interface XOptimizedStorage
+published interface XOptimizedStorage
{
// -----------------------------------------------------------------------
/** allows to insert a raw stream representing nonencrypted stream with
diff --git a/offapi/com/sun/star/embed/XPackageStructureCreator.idl b/offapi/com/sun/star/embed/XPackageStructureCreator.idl
index 193232cdfdc1..c76d4c787cc7 100644
--- a/offapi/com/sun/star/embed/XPackageStructureCreator.idl
+++ b/offapi/com/sun/star/embed/XPackageStructureCreator.idl
@@ -42,7 +42,7 @@
//=============================================================================
/** allows to convert file system folder tree in to a package.
*/
-interface XPackageStructureCreator: com::sun::star::uno::XInterface
+published interface XPackageStructureCreator: com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
/** converts file system folder tree in to a package.
diff --git a/offapi/com/sun/star/embed/XPersistanceHolder.idl b/offapi/com/sun/star/embed/XPersistanceHolder.idl
index f6d171218549..5528fe62e143 100644
--- a/offapi/com/sun/star/embed/XPersistanceHolder.idl
+++ b/offapi/com/sun/star/embed/XPersistanceHolder.idl
@@ -46,7 +46,7 @@
//=============================================================================
/** allows to disconnect an object from its persistence.
*/
-interface XPersistanceHolder: com::sun::star::uno::XInterface
+published interface XPersistanceHolder: com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
/** disconnects the object from the persistance.
diff --git a/offapi/com/sun/star/embed/XRelationshipAccess.idl b/offapi/com/sun/star/embed/XRelationshipAccess.idl
index 8a527df38a4d..3c934caf1f33 100644
--- a/offapi/com/sun/star/embed/XRelationshipAccess.idl
+++ b/offapi/com/sun/star/embed/XRelationshipAccess.idl
@@ -62,7 +62,7 @@
this tag is used as a uniqued identified of an entry.
</p>
*/
-interface XRelationshipAccess : ::com::sun::star::uno::XInterface
+published interface XRelationshipAccess : ::com::sun::star::uno::XInterface
{
// -----------------------------------------------------------------------
/** allows to detect whether there is an entry with specified value of
diff --git a/offapi/com/sun/star/embed/XStateChangeBroadcaster.idl b/offapi/com/sun/star/embed/XStateChangeBroadcaster.idl
index e50c54c182ff..91a47e8f6288 100644
--- a/offapi/com/sun/star/embed/XStateChangeBroadcaster.idl
+++ b/offapi/com/sun/star/embed/XStateChangeBroadcaster.idl
@@ -44,7 +44,7 @@ module com { module sun { module star { module embed {
/** broadcasts message in case embedded object object changes it's state.
*/
-interface XStateChangeBroadcaster: com::sun::star::uno::XInterface
+published interface XStateChangeBroadcaster: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** adds the specified listener to receive events about states change
diff --git a/offapi/com/sun/star/embed/XStateChangeListener.idl b/offapi/com/sun/star/embed/XStateChangeListener.idl
index 13bde974ceaf..3c552de33222 100644
--- a/offapi/com/sun/star/embed/XStateChangeListener.idl
+++ b/offapi/com/sun/star/embed/XStateChangeListener.idl
@@ -48,7 +48,7 @@ module com { module sun { module star { module embed {
/** makes it possible to receive events when an embedded object changes it's
state.
*/
-interface XStateChangeListener: com::sun::star::lang::XEventListener
+published interface XStateChangeListener: com::sun::star::lang::XEventListener
{
//------------------------------------------------------------------------
/** is called just before the object changes state.
diff --git a/offapi/com/sun/star/embed/XStorage.idl b/offapi/com/sun/star/embed/XStorage.idl
index a03190caddab..0a98cfa3e8eb 100644
--- a/offapi/com/sun/star/embed/XStorage.idl
+++ b/offapi/com/sun/star/embed/XStorage.idl
@@ -91,7 +91,7 @@
//============================================================================
/** This interface represents main storage functionality.
*/
-interface XStorage
+published interface XStorage
{
// INTERFACES
//
diff --git a/offapi/com/sun/star/embed/XStorageRawAccess.idl b/offapi/com/sun/star/embed/XStorageRawAccess.idl
index 64031325f628..b70b2e3c1235 100644
--- a/offapi/com/sun/star/embed/XStorageRawAccess.idl
+++ b/offapi/com/sun/star/embed/XStorageRawAccess.idl
@@ -79,7 +79,7 @@
//============================================================================
/** This interface represents main storage functionality.
*/
-interface XStorageRawAccess
+published interface XStorageRawAccess
{
// -----------------------------------------------------------------------
/** allows to get a plain raw stream representing a package stream.
diff --git a/offapi/com/sun/star/embed/XTransactedObject.idl b/offapi/com/sun/star/embed/XTransactedObject.idl
index afefd0f2d2c5..80f86187a7c6 100644
--- a/offapi/com/sun/star/embed/XTransactedObject.idl
+++ b/offapi/com/sun/star/embed/XTransactedObject.idl
@@ -46,7 +46,7 @@
//============================================================================
/** allows transacted access to an object.
*/
-interface XTransactedObject: com::sun::star::uno::XInterface
+published interface XTransactedObject: com::sun::star::uno::XInterface
{
// -----------------------------------------------------------------------
/** commits the changes made for object.
diff --git a/offapi/com/sun/star/embed/XTransactionBroadcaster.idl b/offapi/com/sun/star/embed/XTransactionBroadcaster.idl
index 66e62538f083..fb5b7d2acc06 100644
--- a/offapi/com/sun/star/embed/XTransactionBroadcaster.idl
+++ b/offapi/com/sun/star/embed/XTransactionBroadcaster.idl
@@ -44,7 +44,7 @@ module com { module sun { module star { module embed {
/** broadcasts messege in case transacted object is commited or reverted.
*/
-interface XTransactionBroadcaster: com::sun::star::uno::XInterface
+published interface XTransactionBroadcaster: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** adds the specified listener to receive events about commits and
diff --git a/offapi/com/sun/star/embed/XTransactionListener.idl b/offapi/com/sun/star/embed/XTransactionListener.idl
index acfa889386ca..89e80956cf11 100644
--- a/offapi/com/sun/star/embed/XTransactionListener.idl
+++ b/offapi/com/sun/star/embed/XTransactionListener.idl
@@ -48,7 +48,7 @@ module com { module sun { module star { module embed {
/** makes it possible to receive events when a transacted object is commited
or reverted.
*/
-interface XTransactionListener: com::sun::star::lang::XEventListener
+published interface XTransactionListener: com::sun::star::lang::XEventListener
{
//------------------------------------------------------------------------
/** is called just before the object is commited.
diff --git a/offapi/com/sun/star/embed/XTransferableSupplier.idl b/offapi/com/sun/star/embed/XTransferableSupplier.idl
index 76034df05231..d22c6fb27769 100644
--- a/offapi/com/sun/star/embed/XTransferableSupplier.idl
+++ b/offapi/com/sun/star/embed/XTransferableSupplier.idl
@@ -40,7 +40,7 @@
<type scope="com::sun::star::datatransfer">XTransferable</type>
implementation from the object.
*/
-interface XTransferableSupplier: com::sun::star::uno::XInterface
+published interface XTransferableSupplier: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** allows to get access to
diff --git a/offapi/com/sun/star/embed/XVisualObject.idl b/offapi/com/sun/star/embed/XVisualObject.idl
index 62430e41778a..bed94da4fa7d 100644
--- a/offapi/com/sun/star/embed/XVisualObject.idl
+++ b/offapi/com/sun/star/embed/XVisualObject.idl
@@ -55,7 +55,7 @@
//=============================================================================
/** represents common visualisation functionality for embedded objects.
*/
-interface XVisualObject: ::com::sun::star::uno::XInterface
+published interface XVisualObject: ::com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
/** sets the size of object's visual area.
diff --git a/offapi/com/sun/star/embed/XWindowSupplier.idl b/offapi/com/sun/star/embed/XWindowSupplier.idl
index 3ff344ab60d9..e878a65d21d2 100644
--- a/offapi/com/sun/star/embed/XWindowSupplier.idl
+++ b/offapi/com/sun/star/embed/XWindowSupplier.idl
@@ -38,7 +38,7 @@
//============================================================================
/** provides access to a vcl window implementation.
*/
-interface XWindowSupplier: com::sun::star::uno::XInterface
+published interface XWindowSupplier: com::sun::star::uno::XInterface
{
//------------------------------------------------------------------------
/** allows to get access to a vcl window implementation.
diff --git a/offapi/com/sun/star/embed/makefile.mk b/offapi/com/sun/star/embed/makefile.mk
index 404f14ceab1c..349017452ef3 100644
--- a/offapi/com/sun/star/embed/makefile.mk
+++ b/offapi/com/sun/star/embed/makefile.mk
@@ -57,6 +57,7 @@ IDLFILES=\
Storage.idl\
StorageStream.idl\
StorageFactory.idl\
+ StorageFormats.idl\
VerbAttributes.idl\
VisualRepresentation.idl\
VerbDescriptor.idl\
diff --git a/offapi/com/sun/star/packages/NoEncryptionException.idl b/offapi/com/sun/star/packages/NoEncryptionException.idl
index 5d057c91cc8f..cffecf7bd637 100644
--- a/offapi/com/sun/star/packages/NoEncryptionException.idl
+++ b/offapi/com/sun/star/packages/NoEncryptionException.idl
@@ -41,7 +41,7 @@
// DocMerge from xml: exception com::sun::star::packages::NoEncryptionException
/** This exception can be thrown in case object is not encrypted one as expected.
*/
-exception NoEncryptionException: com::sun::star::uno::Exception
+published exception NoEncryptionException: com::sun::star::uno::Exception
{
};
diff --git a/offapi/com/sun/star/packages/NoRawFormatException.idl b/offapi/com/sun/star/packages/NoRawFormatException.idl
index 111b8fdcc90c..a2730b41da62 100644
--- a/offapi/com/sun/star/packages/NoRawFormatException.idl
+++ b/offapi/com/sun/star/packages/NoRawFormatException.idl
@@ -42,7 +42,7 @@
/** This exception can be thrown in case provided stream is not a raw stream
representing encrypted package stream.
*/
-exception NoRawFormatException: com::sun::star::io::IOException
+published exception NoRawFormatException: com::sun::star::io::IOException
{
};
diff --git a/offapi/com/sun/star/packages/WrongPasswordException.idl b/offapi/com/sun/star/packages/WrongPasswordException.idl
index 2e014e310dfb..954e0bd68afc 100644
--- a/offapi/com/sun/star/packages/WrongPasswordException.idl
+++ b/offapi/com/sun/star/packages/WrongPasswordException.idl
@@ -41,7 +41,7 @@
// DocMerge from xml: exception com::sun::star::packages::WrongPasswordException
/** This exception can be thrown in case wrong password was provided.
*/
-exception WrongPasswordException: com::sun::star::uno::Exception
+published exception WrongPasswordException: com::sun::star::uno::Exception
{
};
diff --git a/offapi/com/sun/star/rdf/XDocumentRepository.idl b/offapi/com/sun/star/rdf/XDocumentRepository.idl
index ee42faf0c51c..215fd89fa954 100644
--- a/offapi/com/sun/star/rdf/XDocumentRepository.idl
+++ b/offapi/com/sun/star/rdf/XDocumentRepository.idl
@@ -28,6 +28,10 @@
#ifndef __com_sun_star_rdf_XDocumentRepository_idl__
#define __com_sun_star_rdf_XDocumentRepository_idl__
+#ifndef __com_sun_star_beans_Pair_idl__
+#include <com/sun/star/beans/Pair.idl>
+#endif
+
#ifndef __com_sun_star_rdf_XMetadatable_idl__
#include <com/sun/star/rdf/XMetadatable.idl>
#endif
@@ -84,13 +88,6 @@ interface XDocumentRepository : XRepository
<code>Subject Predicate XLiteral(RDFaContent^^RDFaDatatype)</code>
</li>
</ul>
- Further, add the following RDF statement to the same unspecified
- named graph:
- <ul>
- <li>
- <code>Subject rdfs:label XLiteral(Object->getText())</code>
- </li>
- </ul>
</li>
</ol>
</p>
@@ -172,13 +169,13 @@ interface XDocumentRepository : XRepository
<li>if the element has no RDFa meta-data attributes:
the empty sequence.</li>
<li>if the element has RDFa meta-data attributes:
- and no <code>rdfa:content</code> attached:
- a sequence with the RDFa-statements corresponding to the
- attributes</li>
- <li>if the element has RDFa meta-data attributes,
- and also <code>rdfa:content</code> attached:
- a sequence with the RDFa-statements corresponding to the
- attributes, including the RDFa-labels-statement</li>
+ <ul>
+ <li>a sequence with the RDFa-statements corresponding to the
+ attributes.</li>
+ <li>a flag indicating whether there is a xhtml:content
+ attribute.</li>
+ </ul>
+ </li>
</ul>
@throws com::sun::star::lang::IllegalArgumentException
@@ -190,7 +187,8 @@ interface XDocumentRepository : XRepository
@see Statement
*/
- sequence<Statement> getStatementRDFa([in] XMetadatable Element)
+ com::sun::star::beans::Pair< sequence<Statement>, boolean >
+ getStatementRDFa([in] XMetadatable Element)
raises( com::sun::star::lang::IllegalArgumentException,
RepositoryException );
diff --git a/offapi/com/sun/star/script/ModuleInfo.idl b/offapi/com/sun/star/script/ModuleInfo.idl
new file mode 100644
index 000000000000..158ba387be6b
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleInfo.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ModuleInfo.idl,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * last change: $Author: rt $ $Date: 2006/05/05 10:14:46 $
+ *
+ * The Contents of this file are made available subject to
+ * the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2005 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_ModuleInfo_idl__
+#define __com_sun_star_script_ModuleInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+module com { module sun { module star { module script {
+struct ModuleInfo
+{
+ com::sun::star::uno::XInterface ModuleObject;
+ long ModuleType;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/script/ModuleType.idl b/offapi/com/sun/star/script/ModuleType.idl
new file mode 100644
index 000000000000..a9bde042fa5a
--- /dev/null
+++ b/offapi/com/sun/star/script/ModuleType.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ModuleType.idl,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * last change: $Author: rt $ $Date: 2006/05/05 10:14:46 $
+ *
+ * The Contents of this file are made available subject to
+ * the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2005 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_script_ModuleType_idl__
+#define __com_sun_star_script_ModuleType_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module script {
+
+published constants ModuleType
+{
+ // ------------------------------------------------------------------------
+
+ const long UNKNOWN = 0;
+
+ // ------------------------------------------------------------------------
+
+ const long NORMAL = 1;
+
+ // ------------------------------------------------------------------------
+
+ const long CLASS = 2;
+
+ // ------------------------------------------------------------------------
+
+ const long FORM = 3;
+
+ // ------------------------------------------------------------------------
+
+ const long DOCUMENT = 4;
+
+ // ------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/cppu/test/ObjectFactory/ObjectFactory.hxx b/offapi/com/sun/star/script/XVBACompat.idl
index 768c4c430f9c..09da54eb27cd 100644
--- a/cppu/test/ObjectFactory/ObjectFactory.hxx
+++ b/offapi/com/sun/star/script/XVBACompat.idl
@@ -2,10 +2,13 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2000, 2010 Oracle and/or its affiliates.
+ * Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
+ * $RCSfile: XLibraryContainer.idl,v $
+ * $Revision: 1.4 $
+ *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -24,25 +27,23 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
+#ifndef __com_sun_star_script_XVBACompat_idl__
+#define __com_sun_star_script_XVBACompat_idl__
-#ifndef INCLUDED_ObjectFactory_hxx
-#define INCLUDED_ObjectFactory_hxx
-
-
-#include "callee.hxx"
-
-
-#ifdef CPPU_test_ObjectFactory_IMPL
-# define CPPU_test_ObjectFactory_EXPORT SAL_DLLPUBLIC_EXPORT
-
-#else
-# define CPPU_test_ObjectFactory_EXPORT SAL_DLLPUBLIC_IMPORT
-
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
#endif
+//=============================================================================
+
+module com { module sun { module star { module script {
-CPPU_test_ObjectFactory_EXPORT void * createObject(rtl::OUString const & envDcp, Callee * pCallee);
-CPPU_test_ObjectFactory_EXPORT void callObject (rtl::OUString const & envDcp, void *);
+interface XVBACompat: com::sun::star::uno::XInterface
+{
+//=============================================================================
+ [attribute ] boolean VBACompatModeOn;
+}; }; }; };
+};
#endif
diff --git a/offapi/com/sun/star/script/XVBAModuleInfo.idl b/offapi/com/sun/star/script/XVBAModuleInfo.idl
new file mode 100644
index 000000000000..f9c4e64223c3
--- /dev/null
+++ b/offapi/com/sun/star/script/XVBAModuleInfo.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XLibraryContainer.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_script_XVBACompat_idl__
+#define __com_sun_star_script_XVBACompat_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_script_ModuleInfo_idl__
+#include <com/sun/star/script/ModuleInfo.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+#ifndef __com_sun_star_lang_WrappedTargetException_idl__
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#endif
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module script {
+
+interface XVBAModuleInfo: com::sun::star::uno::XInterface
+{
+
+ com::sun::star::script::ModuleInfo getModuleInfo( [in] string ModuleName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+ boolean hasModuleInfo( [in] string ModuleName );
+ void insertModuleInfo( [in] string ModuleName,
+ [in] com::sun::star::script::ModuleInfo ModuleInfo )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::lang::WrappedTargetException );
+ void removeModuleInfo( [in] string ModuleName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+}; }; }; };
+};
+#endif
diff --git a/offapi/com/sun/star/script/makefile.mk b/offapi/com/sun/star/script/makefile.mk
index 7fd09cedd94c..24d5fcc83af4 100644
--- a/offapi/com/sun/star/script/makefile.mk
+++ b/offapi/com/sun/star/script/makefile.mk
@@ -49,6 +49,10 @@ IDLFILES=\
XPersistentLibraryContainer.idl\
XStorageBasedLibraryContainer.idl\
ModuleSizeExceededRequest.idl\
+ XVBACompat.idl\
+ XVBAModuleInfo.idl\
+ ModuleInfo.idl\
+ ModuleType.idl\
# ------------------------------------------------------------------
diff --git a/offapi/com/sun/star/text/InContentMetadata.idl b/offapi/com/sun/star/text/InContentMetadata.idl
index f6aec7bbee63..5eac10714576 100755
--- a/offapi/com/sun/star/text/InContentMetadata.idl
+++ b/offapi/com/sun/star/text/InContentMetadata.idl
@@ -32,6 +32,10 @@
#include <com/sun/star/container/XEnumerationAccess.idl>
#endif
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
#ifndef __com_sun_star_text_TextContent_idl__
#include <com/sun/star/text/TextContent.idl>
#endif
@@ -68,6 +72,12 @@ service InContentMetadata
annotated range of text can be enumerated. */
interface com::sun::star::container::XEnumerationAccess;
+ //-------------------------------------------------------------------------
+ /** The <type>TextContent</type> that is the parent of this text range.
+ @since OOo 3.3
+ */
+ interface com::sun::star::container::XChild;
+
};
diff --git a/offapi/com/sun/star/text/TextMarkupType.idl b/offapi/com/sun/star/text/TextMarkupType.idl
index d99942e0d12f..5137d47d217f 100644
--- a/offapi/com/sun/star/text/TextMarkupType.idl
+++ b/offapi/com/sun/star/text/TextMarkupType.idl
@@ -58,6 +58,12 @@ constants TextMarkupType
/// An inivisible markup used to identify sentence boundaries.
/// @since OOo 3.0.1
const long SENTENCE = 4;
+
+ /// Markups originates from change tracking.
+ /// @since OOo 3.3
+ const long TRACK_CHANGE_INSERTION = 5;
+ const long TRACK_CHANGE_DELETION = 6;
+ const long TRACK_CHANGE_FORMATCHANGE = 7;
};
}; }; }; };
diff --git a/offapi/com/sun/star/text/TextRangeContentProperties.idl b/offapi/com/sun/star/text/TextRangeContentProperties.idl
new file mode 100644
index 000000000000..74acb67cf9ed
--- /dev/null
+++ b/offapi/com/sun/star/text/TextRangeContentProperties.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_text_TextRangeContentProperties_idl__
+#define __com_sun_star_text_TextRangeContentProperties_idl__
+
+#ifndef __com_sun_star_table_XCell_idl__
+#include <com/sun/star/table/XCell.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextContent_idl__
+#include <com/sun/star/text/XTextContent.idl>
+#endif
+
+#ifndef __com_sun_star_text_XDocumentIndex_idl__
+#include <com/sun/star/text/XDocumentIndex.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextTable_idl__
+#include <com/sun/star/text/XTextTable.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextFrame_idl__
+#include <com/sun/star/text/XTextFrame.idl>
+#endif
+
+#ifndef __com_sun_star_text_XTextSection_idl__
+#include <com/sun/star/text/XTextSection.idl>
+#endif
+
+#ifndef __com_sun_star_text_XDocumentIndexMark_idl__
+#include <com/sun/star/text/XDocumentIndexMark.idl>
+#endif
+
+#ifndef __com_sun_star_text_XFootnote_idl__
+#include <com/sun/star/text/XFootnote.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module text {
+
+//=============================================================================
+
+/** describes the structural properties to retrieve text contents.
+
+ @since OOo 3.3
+ */
+service TextRangeContentProperties
+{
+ //-------------------------------------------------------------------------
+ /** may contain a document index. */
+ [optional, readonly, property] com::sun::star::text::XDocumentIndex
+ DocumentIndex;
+
+ //-------------------------------------------------------------------------
+ /** may contain a text table. */
+ [optional, readonly, property] com::sun::star::text::XTextTable
+ TextTable;
+
+ //-------------------------------------------------------------------------
+ /** may contain a table cell. */
+ [optional, readonly, property] com::sun::star::table::XCell Cell;
+
+ //-------------------------------------------------------------------------
+ /** may contain a text frame. */
+ [optional, readonly, property] com::sun::star::text::XTextFrame
+ TextFrame;
+
+ //-------------------------------------------------------------------------
+ /** may contain a text section. */
+ [optional, readonly, property] com::sun::star::text::XTextSection
+ TextSection;
+
+ //-------------------------------------------------------------------------
+ /** may contain a document index mark. */
+ [optional, readonly, property] com::sun::star::text::XDocumentIndexMark
+ DocumentIndexMark;
+
+ //-------------------------------------------------------------------------
+ /** may contain a reference mark. */
+ [optional, readonly, property] com::sun::star::text::XTextContent
+ ReferenceMark;
+
+ //-------------------------------------------------------------------------
+ /** may contain a footnote. */
+ [optional, readonly, property] com::sun::star::text::XFootnote Footnote;
+
+ //-------------------------------------------------------------------------
+ /** may contain a endnote. */
+ [optional, readonly, property] com::sun::star::text::XFootnote Endnote;
+
+ //-------------------------------------------------------------------------
+ /** may contain a nested text content.
+
+ For example, may contain an <type>InContentMetadata</type> or a
+ <type scope="com::sun::star::text::textfield">MetadataField</type>.
+ */
+ [optional, readonly, property] com::sun::star::text::XTextContent
+ NestedTextContent;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/text/makefile.mk b/offapi/com/sun/star/text/makefile.mk
index 28c3d1eaece3..4e6d24746af8 100644
--- a/offapi/com/sun/star/text/makefile.mk
+++ b/offapi/com/sun/star/text/makefile.mk
@@ -173,6 +173,7 @@ IDLFILES=\
TextPortionEnumeration.idl\
TextRange.idl\
TextRanges.idl\
+ TextRangeContentProperties.idl\
TextSection.idl\
TextSections.idl\
TextSortable.idl\
diff --git a/offapi/com/sun/star/text/textfield/MetadataField.idl b/offapi/com/sun/star/text/textfield/MetadataField.idl
index 85541457aef7..d98c4be39e96 100755
--- a/offapi/com/sun/star/text/textfield/MetadataField.idl
+++ b/offapi/com/sun/star/text/textfield/MetadataField.idl
@@ -32,6 +32,10 @@
#include <com/sun/star/container/XEnumerationAccess.idl>
#endif
+#ifndef __com_sun_star_container_XChild_idl__
+#include <com/sun/star/container/XChild.idl>
+#endif
+
#ifndef __com_sun_star_text_TextField_idl__
#include <com/sun/star/text/TextField.idl>
#endif
@@ -79,6 +83,13 @@ service MetadataField
interface com::sun::star::container::XEnumerationAccess;
//-------------------------------------------------------------------------
+ /** The <type scope="com::sun::star::text">TextContent</type>
+ that is the parent of this <type>MetadataField</type>.
+ @since OOo 3.3
+ */
+ interface com::sun::star::container::XChild;
+
+ //-------------------------------------------------------------------------
/** this is the number format for this field.
@see com::sun::star::util::NumberFormatter
*/
diff --git a/pyuno/zipcore/makefile.mk b/pyuno/zipcore/makefile.mk
index 078478107224..06241da2bfdb 100755
--- a/pyuno/zipcore/makefile.mk
+++ b/pyuno/zipcore/makefile.mk
@@ -55,7 +55,7 @@ PYTHONBINARY=$(DESTROOT)$/bin$/python$(EXECPOST)
.ENDIF
FINDLIBFILES_TMP:=$(subst,/,$/ \
- $(shell @$(FIND) $(SOLARLIBDIR)$/python -type f| $(GREP) -v .pyc |$(GREP) -v .py\~ |$(GREP) -v .orig | $(GREP) -v _failed))
+ $(shell @$(FIND) $(SOLARLIBDIR)$/python -type f| $(GREP) -v "\.pyc" |$(GREP) -v "\.py~" |$(GREP) -v .orig | $(GREP) -v _failed))
FINDLIBFILES=$(subst,$(SOLARLIBDIR)$/python, $(FINDLIBFILES_TMP))
FILES=\
diff --git a/sal/prj/build.lst b/sal/prj/build.lst
index c96c3977f725..638252ad4ee8 100644
--- a/sal/prj/build.lst
+++ b/sal/prj/build.lst
@@ -18,5 +18,4 @@ sa sal\cppunittester nmake - all sa_cppunittester sa_cpprt.u sa_util NULL
sa sal\qa\ByteSequence nmake - all sa_qa_ByteSequence sa_cppunittester sa_util NULL
sa sal\qa\OStringBuffer nmake - all sa_qa_OStringBuffer sa_cppunittester sa_util NULL
sa sal\qa\osl\mutex nmake - all sa_qa_osl_mutex sa_cppunittester sa_util NULL
-sa sal\qa\osl\pipe nmake - all sa_qa_osl_pipe sa_cppunittester sa_util NULL
sa sal\qa\osl\profile nmake - all sa_qa_osl_profile sa_cppunittester sa_util NULL
diff --git a/sal/qa/ByteSequence/ByteSequence.cxx b/sal/qa/ByteSequence/ByteSequence.cxx
index 3a408edb3ef0..7c9ff2eaef94 100644
--- a/sal/qa/ByteSequence/ByteSequence.cxx
+++ b/sal/qa/ByteSequence/ByteSequence.cxx
@@ -1,605 +1,194 @@
/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
+*
+* 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.
+*
+************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sal.hxx"
-#include <Byte_Const.h>
-#include <rtl/byteseq.h>
-
-#include <rtl/byteseq.hxx>
+#include "sal/config.h"
#include "cppunit/TestAssert.h"
#include "cppunit/TestFixture.h"
#include "cppunit/extensions/HelperMacros.h"
#include "cppunit/plugin/TestPlugIn.h"
+#include "rtl/byteseq.hxx"
+#include "sal/types.h"
-using namespace rtl;
-
-namespace rtl_ByteSequence
-{
-
-//------------------------------------------------------------------------
-// testing constructors
-//------------------------------------------------------------------------
-
-class ctor : public CppUnit::TestFixture
- {
- public:
-
- void ctor_001()
- {
- ::rtl::ByteSequence aByteSeq1;
- ::rtl::ByteSequence aByteSeq2( &kTestEmptyByteSeq );
- CPPUNIT_ASSERT_MESSAGE
- (
- "Creates an empty sequence",
- aByteSeq1.getLength() == 0 &&
- aByteSeq1 == aByteSeq2
- );
- }
-
- void ctor_002()
- {
- ::rtl::ByteSequence aByteSeq;
- ::rtl::ByteSequence aByteSeqtmp( aByteSeq );
- CPPUNIT_ASSERT_MESSAGE
- (
- "Creates a copy of given sequence",
- aByteSeq == aByteSeqtmp
- );
-
- }
-
- void ctor_003()
- {
- ::rtl::ByteSequence aByteSeq( &kTestByteSeq1 );
- sal_Int32 nNewLen = aByteSeq.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Copy constructor Creates a copy from the C-Handle ",
- nNewLen == kTestSeqLen1
- );
- }
-
- void ctor_003_1()
- {
- ::rtl::ByteSequence aByteSeq( &kTestByteSeq2 );
- sal_Int32 nNewLen = aByteSeq.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Copy constructor Creates a copy from the C-Handle: reference count > 1 ",
- nNewLen == kTestSeqLen2
- );
- }
-
- void ctor_004()
- {
- sal_Int8 * pElements = &kTestByte4;
- sal_Int32 len = kTestByteCount1;
- ::rtl::ByteSequence aByteSeq( pElements, len);
- sal_Int32 nNewLen = aByteSeq.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Creates a copy of given data bytes",
- aByteSeq[1] == pElements[1] &&
- len == nNewLen
-
- );
- }
-
- void ctor_005()
- {
- sal_Int32 len = 50;
- ::rtl::ByteSequence aByteSeq( len );
- sal_Int32 nNewLen = aByteSeq.getLength();
- sal_Bool res = sal_True;
- for (sal_Int32 i=0; i<len; i++)
- {
- if (aByteSeq[i] != 0)
- res = sal_False;
- }
- CPPUNIT_ASSERT_MESSAGE
- (
- "Creates sequence of given length and initializes all bytes to 0",
- nNewLen == len && res
-
- );
- }
-
- void ctor_006()
- {
- sal_Int32 len = 39;
- ::rtl::ByteSequence aByteSeq( len , BYTESEQ_NODEFAULT );
- sal_Int32 nNewLen = aByteSeq.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Creates sequence of given length and does NOT initialize data",
- nNewLen == len
-
- );
- }
-
- void ctor_007()
- {
- ::rtl::ByteSequence aByteSeq( &kTestByteSeq3, BYTESEQ_NOACQUIRE );
- sal_Int32 nNewLen = aByteSeq.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Creates a sequence from a C-Handle without acquiring the handle, thus taking over ownership",
- nNewLen == kTestSeqLen3
- );
- }
-
- CPPUNIT_TEST_SUITE(ctor);
- CPPUNIT_TEST(ctor_001);
- CPPUNIT_TEST(ctor_002);
- CPPUNIT_TEST(ctor_003);
- CPPUNIT_TEST(ctor_003_1);
- CPPUNIT_TEST(ctor_004);
- CPPUNIT_TEST(ctor_005);
- CPPUNIT_TEST(ctor_006);
- CPPUNIT_TEST(ctor_007);
- CPPUNIT_TEST_SUITE_END();
- };
-
-class assign : public CppUnit::TestFixture
-{
-public:
- // initialise your test code values here.
- void setUp()
- {
- }
-
- void tearDown()
- {
- }
-
- // insert your test code here.
- void assign_001()
- {
- sal_Int32 len = kTestByteCount1;
- sal_Int32 len2 = len - 1;
- sal_Int8 * pElements = &kTestByte;
- ::rtl::ByteSequence aByteSeq1( kTestByte5, len);
- ::rtl::ByteSequence aByteSeq2( pElements, len2);
- aByteSeq2 = aByteSeq1;
- sal_Int32 nNewLen = aByteSeq2.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Assignment operator: assign longer sequence to another",
- aByteSeq1 == aByteSeq2 &&
- nNewLen == len
- );
- }
-
- void assign_002()
- {
- sal_Int32 len = kTestByteCount1 - 1 ;
- ::rtl::ByteSequence aByteSeq1( len );
- sal_Int8 * pElements = &kTestByte1;
- ::rtl::ByteSequence aByteSeq2( pElements, len + 1);
- aByteSeq2 = aByteSeq1;
- sal_Int32 nNewLen = aByteSeq2.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Assignment operator: assign shorter sequence to another",
- aByteSeq1 == aByteSeq2 &&
- nNewLen == len
- );
- }
-
- void assign_003()
- {
- sal_Int32 len = kTestByteCount1 - 1 ;
- const sal_Int8 * pElements = &kTestByte2;
- ::rtl::ByteSequence aByteSeq1( pElements, len + 1 );
- ::rtl::ByteSequence aByteSeq2( len, BYTESEQ_NODEFAULT );
- aByteSeq2 = aByteSeq1;
- sal_Int32 nNewLen = aByteSeq2.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Assignment operator: assign sequence to another sequence having no data initialized",
- aByteSeq1 == aByteSeq2 &&
- nNewLen == kTestByteCount1
- );
- }
-
- void assign_004()
- {
- ::rtl::ByteSequence aByteSeq1;
- sal_Int32 len = kTestByteCount1 ;
- const sal_Int8 * pElements = &kTestByte;
- ::rtl::ByteSequence aByteSeq2( pElements, len);
- aByteSeq2 = aByteSeq1;
- sal_Int32 nNewLen = aByteSeq2.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Assignment operator: assign empty sequence to another not empty sequence",
- aByteSeq1 == aByteSeq2 &&
- nNewLen == 0
- );
- }
-
- CPPUNIT_TEST_SUITE(assign);
- CPPUNIT_TEST(assign_001);
- CPPUNIT_TEST(assign_002);
- CPPUNIT_TEST(assign_003);
- CPPUNIT_TEST(assign_004);
- CPPUNIT_TEST_SUITE_END();
-}; // class operator=
-
-
-class equal : public CppUnit::TestFixture
-{
-public:
- // initialise your test code values here.
- void setUp()
- {
- }
-
- void tearDown()
- {
- }
-
- // insert your test code here.
- void equal_001()
- {
- sal_Int32 len = kTestByteCount1 ;
- sal_Int8 * pElements = &kTestByte;
- ::rtl::ByteSequence aByteSeq1( pElements, len-1);
- ::rtl::ByteSequence aByteSeq2( pElements, len);
- sal_Bool res = aByteSeq1 == aByteSeq2;
- CPPUNIT_ASSERT_MESSAGE
- (
- "Equality operator: compare two sequences 1",
- !res
- );
- }
-
- void equal_002()
- {
- sal_Int32 len = kTestByteCount1 ;
- const sal_Int8 * pElements = &kTestByte;
- ::rtl::ByteSequence aByteSeq1( pElements, len);
- ::rtl::ByteSequence aByteSeq2( pElements, len);
- sal_Bool res = aByteSeq1 == aByteSeq2;
- CPPUNIT_ASSERT_MESSAGE
- (
- "Equality operator: compare two sequences 2",
- res
- );
- }
-
- void equal_003()
- {
- sal_Int32 len = kTestByteCount1 ;
- const sal_Int8 * pElements = kTestByte5;
- ::rtl::ByteSequence aByteSeq1( pElements, len);
- pElements = kTestByte6;
- ::rtl::ByteSequence aByteSeq2( pElements, len);
- sal_Bool res = aByteSeq1 == aByteSeq2;
- CPPUNIT_ASSERT_MESSAGE
- (
- "Equality operator: compare two sequences 2",
- !res
- );
- }
- CPPUNIT_TEST_SUITE(equal);
- CPPUNIT_TEST(equal_001);
- CPPUNIT_TEST(equal_002);
- CPPUNIT_TEST(equal_003);
- CPPUNIT_TEST_SUITE_END();
-}; // class equal
+namespace {
-
-class notequal : public CppUnit::TestFixture
-{
+class Test: public CppUnit::TestFixture {
public:
- // initialise your test code values here.
- void setUp()
- {
+ void test_default() {
+ rtl::ByteSequence s;
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(0), s.getLength());
}
- void tearDown()
- {
+ void test_size0() {
+ rtl::ByteSequence s(sal_Int32(0));
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(0), s.getLength());
}
- // insert your test code here.
- void notequal_001()
- {
- sal_Int32 len = kTestByteCount1 ;
- const sal_Int8 * pElements = &kTestByte;
- ::rtl::ByteSequence aByteSeq1( pElements, len-1);
- ::rtl::ByteSequence aByteSeq2( pElements, len);
- sal_Bool res = aByteSeq1 != aByteSeq2;
- CPPUNIT_ASSERT_MESSAGE
- (
- "Equality operator: compare two sequences 1",
- res
- );
+ void test_size5() {
+ rtl::ByteSequence s(5);
+ sal_Int8 const * p = s.getConstArray();
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(5), s.getLength());
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(0), p[0]);
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(0), p[1]);
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(0), p[2]);
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(0), p[3]);
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(0), p[4]);
}
- void notequal_002()
- {
- sal_Int32 len = kTestByteCount1 ;
- const sal_Int8 * pElements = &kTestByte;
- ::rtl::ByteSequence aByteSeq1( pElements, len);
- ::rtl::ByteSequence aByteSeq2( pElements, len);
- sal_Bool res = aByteSeq1 != aByteSeq2;
- CPPUNIT_ASSERT_MESSAGE
- (
- "Equality operator: compare two sequences 2",
- !res
- );
- }
-
- CPPUNIT_TEST_SUITE(notequal);
- CPPUNIT_TEST(notequal_001);
- CPPUNIT_TEST(notequal_002);
- CPPUNIT_TEST_SUITE_END();
-}; // class notequal
-
-
-class getArray : public CppUnit::TestFixture
-{
-public:
- // initialise your test code values here.
- void setUp()
- {
- }
-
- void tearDown()
- {
- }
-
- // insert your test code here.
- void getArray_001()
- {
- sal_Int32 len = kTestByteCount1 ;
- sal_Int8 * pElements = &kTestByte;
- ::rtl::ByteSequence aByteSeq1( pElements, len);
- sal_Int8 * pArray = aByteSeq1.getArray();
- sal_Bool res = sal_True;
- for (sal_Int32 i = 0; i < len; i++)
- {
- if (pElements[i] != pArray[i])
- res = sal_False;
- }
- CPPUNIT_ASSERT_MESSAGE
- (
- "Gets the pointer to byte array: one element sequence",
- res == sal_True
- );
- }
-
- void getArray_002()
- {
- sal_Int8 * pElements = kTestByte6;
- ::rtl::ByteSequence aByteSeq(pElements, 5);
- sal_Int8 * pArray = aByteSeq.getArray();
- sal_Bool res = sal_True;
- for (sal_Int32 i = 0; i < 5; i++)
- {
- if (pElements[i] != pArray[i])
- res = sal_False;
- }
- CPPUNIT_ASSERT_MESSAGE
- (
- "Gets the pointer to byte array: more elements sequence",
- res == sal_True
- );
- }
-
- CPPUNIT_TEST_SUITE(getArray);
- CPPUNIT_TEST(getArray_001);
- CPPUNIT_TEST(getArray_002);
- CPPUNIT_TEST_SUITE_END();
-}; // class getArray
-
-
-class realloc : public CppUnit::TestFixture
-{
-public:
- // initialise your test code values here.
- void setUp()
- {
+ void test_noinit0() {
+ rtl::ByteSequence s(0, rtl::BYTESEQ_NODEFAULT);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(0), s.getLength());
}
- void tearDown()
- {
+ void test_noinit5() {
+ rtl::ByteSequence s(5, rtl::BYTESEQ_NODEFAULT);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(5), s.getLength());
}
- // insert your test code here.
- void realloc_001()
- {
- ::rtl::ByteSequence aByteSeq;
- sal_Int32 nSize = 20;
- aByteSeq.realloc( nSize );
- sal_Int32 nNewLen = aByteSeq.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Reallocates sequence to new length: empty sequence",
- nNewLen == nSize
- );
+ void test_elem0() {
+ rtl::ByteSequence s(0, 0);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(0), s.getLength());
}
- void realloc_002()
- {
- //reference count > 1
- ::rtl::ByteSequence aByteSeq( &kTestByteSeq2 ); //34
- sal_Int32 nSize = 20;
- aByteSeq.realloc( nSize );
- sal_Int32 nNewLen = aByteSeq.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Reallocates sequence: reference count > 1 && nSize < nElements",
- nNewLen == nSize
- );
+ void test_elem5() {
+ sal_Int8 const a[5] = { 0, 1, 2, 3, 4 };
+ rtl::ByteSequence s(a, 5);
+ sal_Int8 const * p = s.getConstArray();
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(5), s.getLength());
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(0), p[0]);
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(1), p[1]);
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(2), p[2]);
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(3), p[3]);
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(4), p[4]);
}
- void realloc_003()
- {
- //reference count > 1
- ::rtl::ByteSequence aByteSeq( &kTestByteSeq2 ); //34
- sal_Int32 nSize = kTestSeqLen2 + 5;
- sal_Int32 nElements = kTestSeqLen2;
- aByteSeq.realloc( nSize );
- sal_Int32 nNewLen = aByteSeq.getLength();
- sal_Bool res = sal_True;
- for (int i = nSize; i < nElements; i++)
- {
- sal_Int8 nValue = aByteSeq[i];
- if (nValue != 0)
- res = sal_False;
+ void test_copy() {
+ rtl::ByteSequence s1(5);
+ {
+ rtl::ByteSequence s2(s1);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(5), s2.getLength());
+ CPPUNIT_ASSERT_EQUAL(s1.getConstArray(), s2.getConstArray());
+ CPPUNIT_ASSERT_EQUAL(s1.getHandle(), s2.getHandle());
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(2), s1.getHandle()->nRefCount);
}
- CPPUNIT_ASSERT_MESSAGE
- (
- "Reallocates sequence: reference count > 1 && nSize > nElements",
- nNewLen == nSize
- && res == sal_True
- );
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(1), s1.getHandle()->nRefCount);
}
- void realloc_004()
- {
- sal_Int8 * pElements = &kTestByte3;
- sal_Int32 len = kTestByteCount3;
- ::rtl::ByteSequence aByteSeq( pElements, len);
- sal_Int32 nSize = kTestByteCount3 - 10 ;
- aByteSeq.realloc( nSize );
- sal_Int32 nNewLen = aByteSeq.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Reallocates sequence: nSize < nElements",
- nNewLen == nSize
- );
- }
-
- void realloc_005()
- {
- sal_Int8 * pElements = kTestByte6;
- sal_Int32 len = 4;
- ::rtl::ByteSequence aByteSeq( pElements, len);
- sal_Int32 nSize = len + 10 ;
- aByteSeq.realloc( nSize );
- sal_Int32 nNewLen = aByteSeq.getLength();
- CPPUNIT_ASSERT_MESSAGE
- (
- "Reallocates sequence: nSize > nElements",
- nNewLen == nSize
- );
+ void test_fromC() {
+ sal_Sequence c = { 1, 1, { 0 } };
+ {
+ rtl::ByteSequence s(&c);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(1), s.getLength());
+ CPPUNIT_ASSERT_EQUAL(
+ static_cast< void const * >(c.elements),
+ static_cast< void const * >(s.getConstArray()));
+ CPPUNIT_ASSERT_EQUAL(&c, s.getHandle());
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(2), c.nRefCount);
+ }
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(1), c.nRefCount);
}
- CPPUNIT_TEST_SUITE(realloc);
- CPPUNIT_TEST(realloc_001);
- CPPUNIT_TEST(realloc_002);
- CPPUNIT_TEST(realloc_003);
- CPPUNIT_TEST(realloc_004);
- CPPUNIT_TEST(realloc_005);
- //CPPUNIT_TEST(realloc_006);
+ void test_noacquire() {
+ sal_Sequence c = { 2, 1, { 0 } };
+ {
+ rtl::ByteSequence s(&c, rtl::BYTESEQ_NOACQUIRE);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(1), s.getLength());
+ CPPUNIT_ASSERT_EQUAL(
+ static_cast< void const * >(c.elements),
+ static_cast< void const * >(s.getConstArray()));
+ CPPUNIT_ASSERT_EQUAL(&c, s.getHandle());
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(2), c.nRefCount);
+ }
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(1), c.nRefCount);
+ }
+
+ void test_getArray() {
+ sal_Int8 const a[5] = { 0, 1, 2, 3, 4 };
+ rtl::ByteSequence s1(a, 5);
+ rtl::ByteSequence s2(s1);
+ sal_Int8 * p = s2.getArray();
+ p[2] = 10;
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(1), s1.getHandle()->nRefCount);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(1), s2.getHandle()->nRefCount);
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(2), s1.getConstArray()[2]);
+ CPPUNIT_ASSERT_EQUAL(sal_Int8(10), s2.getConstArray()[2]);
+ }
+
+ void test_same0() {
+ rtl::ByteSequence s1;
+ rtl::ByteSequence s2;
+ CPPUNIT_ASSERT_EQUAL(sal_True, s1 == s2);
+ CPPUNIT_ASSERT_EQUAL(sal_True, s2 == s1);
+ CPPUNIT_ASSERT_EQUAL(sal_False, s1 != s2);
+ CPPUNIT_ASSERT_EQUAL(sal_False, s2 != s1);
+ }
+
+ void test_diffLen() {
+ sal_Int8 const a[5] = { 0, 1, 2, 3, 4 };
+ rtl::ByteSequence s1(a, 5);
+ rtl::ByteSequence s2(a, 4);
+ CPPUNIT_ASSERT_EQUAL(sal_False, s1 == s2);
+ CPPUNIT_ASSERT_EQUAL(sal_False, s2 == s1);
+ CPPUNIT_ASSERT_EQUAL(sal_True, s1 != s2);
+ CPPUNIT_ASSERT_EQUAL(sal_True, s2 != s1);
+ }
+
+ void test_diffElem() {
+ sal_Int8 const a1[5] = { 0, 1, 2, 3, 4 };
+ rtl::ByteSequence s1(a1, 5);
+ sal_Int8 const a2[5] = { 0, 1, 10, 3, 4 };
+ rtl::ByteSequence s2(a2, 5);
+ CPPUNIT_ASSERT_EQUAL(sal_False, s1 == s2);
+ CPPUNIT_ASSERT_EQUAL(sal_False, s2 == s1);
+ CPPUNIT_ASSERT_EQUAL(sal_True, s1 != s2);
+ CPPUNIT_ASSERT_EQUAL(sal_True, s2 != s1);
+ }
+
+ CPPUNIT_TEST_SUITE(Test);
+ CPPUNIT_TEST(test_default);
+ CPPUNIT_TEST(test_size0);
+ CPPUNIT_TEST(test_size5);
+ CPPUNIT_TEST(test_noinit0);
+ CPPUNIT_TEST(test_noinit5);
+ CPPUNIT_TEST(test_elem0);
+ CPPUNIT_TEST(test_elem5);
+ CPPUNIT_TEST(test_copy);
+ CPPUNIT_TEST(test_fromC);
+ CPPUNIT_TEST(test_noacquire);
+ CPPUNIT_TEST(test_getArray);
+ CPPUNIT_TEST(test_same0);
+ CPPUNIT_TEST(test_diffLen);
+ CPPUNIT_TEST(test_diffElem);
CPPUNIT_TEST_SUITE_END();
-}; // class realloc
-
-
-class getData : public CppUnit::TestFixture
-{
-public:
- // initialise your test code values here.
- void setUp()
- {
- }
+};
- void tearDown()
- {
- }
-
- // insert your test code here.
- void getData_001()
- {
- sal_Int8 * pElements = kTestByte5;
- ::rtl::ByteSequence aByteSeq(pElements, 4);
- sal_Bool res = sal_True;
- if (aByteSeq[0] != kTestByte)
- res = sal_False;
-
- if (aByteSeq[1] != kTestByte1)
- res = sal_False;
-
- if (aByteSeq[2] != kTestByte2)
- res = sal_False;
-
- if (aByteSeq[3] != kTestByte3)
- res = sal_False;
-
- CPPUNIT_ASSERT_MESSAGE
- (
- "Obtains a reference to byte indexed at given position: empty sequence",
- res == sal_True
- );
- }
-
- void getData_002()
- {
- ::rtl::ByteSequence aByteSeq( &kTestByteSeq2 );
- sal_Int8 nValue = aByteSeq[0];
- CPPUNIT_ASSERT_MESSAGE
- (
- "Obtains a reference to byte indexed at given position: reference count > 1",
- nValue == kTestChar2 //not sure what is right,hehe
- );
- }
-
- void getData_003()
- {
- ::rtl::ByteSequence aByteSeq( &kTestByteSeq3 );
- sal_Int8 nValue = aByteSeq[0];
- CPPUNIT_ASSERT_MESSAGE
- (
- "Obtains a reference to byte indexed at given position: reference count = 1",
- nValue == kTestChar3 //not sure what is right,hehe
- );
- }
-
- CPPUNIT_TEST_SUITE(getData);
- CPPUNIT_TEST(getData_001);
- CPPUNIT_TEST(getData_002);
- CPPUNIT_TEST(getData_003);
- CPPUNIT_TEST_SUITE_END();
-}; // class getData
+CPPUNIT_TEST_SUITE_REGISTRATION(Test);
-// -----------------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION(rtl_ByteSequence::ctor);
-CPPUNIT_TEST_SUITE_REGISTRATION(rtl_ByteSequence::assign);
-CPPUNIT_TEST_SUITE_REGISTRATION(rtl_ByteSequence::equal);
-CPPUNIT_TEST_SUITE_REGISTRATION(rtl_ByteSequence::notequal);
-CPPUNIT_TEST_SUITE_REGISTRATION(rtl_ByteSequence::getArray);
-CPPUNIT_TEST_SUITE_REGISTRATION(rtl_ByteSequence::realloc);
-CPPUNIT_TEST_SUITE_REGISTRATION(rtl_ByteSequence::getData);
-} // namespace ByteSequence
+}
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sal/qa/ByteSequence/Byte_Const.h b/sal/qa/ByteSequence/Byte_Const.h
deleted file mode 100644
index 2d167b7d673c..000000000000
--- a/sal/qa/ByteSequence/Byte_Const.h
+++ /dev/null
@@ -1,95 +0,0 @@
-#ifndef _BYTE_CONST_H_
-#define _BYTE_CONST_H_
-
-//------------------------------------------------------------------------
-//------------------------------------------------------------------------
-#include <sal/types.h>
-
-//------------------------------------------------------------------------
-//------------------------------------------------------------------------
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-//------------------------------------------------------------------------
-//------------------------------------------------------------------------
-const sal_Int32 kTestByteCount1 = 7;
-const sal_Int32 kTestByteCount2 = 0;
-const sal_Int32 kTestByteCount3 = 45;
-const sal_Int32 kTestByteCount4 = 100;
-const sal_Int32 kTestByteCount5 = 23;
-const sal_Int32 kTestByteCount6 = 90;
-
-
-sal_Int8 kTestByte = 100;
-sal_Int8 kTestByte1 = 0;
-sal_Int8 kTestByte2 = 1;
-sal_Int8 kTestByte3 = 2;
-sal_Int8 kTestByte4 = -98;
-
-sal_Int8 kTestByte5[] = {kTestByte, kTestByte1, kTestByte2, kTestByte3, kTestByte4};
-
-sal_Int8 kTestByte60 = 56;
-sal_Int8 kTestByte61 = -1;
-sal_Int8 kTestByte62 = -23;
-sal_Int8 kTestByte63 = 21;
-sal_Int8 kTestByte64 = -128;
-sal_Int8 kTestByte65 = 127;
-sal_Int8 kTestByte6[] = {kTestByte60, kTestByte61, kTestByte62, kTestByte63, kTestByte64, kTestByte65};
-
-//------------------------------------------------------------------------
-
-char kTestChar = 45;
-char kTestChar0 = 0;
- char kTestChar1 = (char)((500 & 0xff) - 256);
-char kTestChar2 = 78;
- char kTestChar3 = (char)(-155 & 0xff);
-
-sal_Int32 kTestSeqLen0 = 0;
-sal_Int32 kTestSeqLen1 = 5;
-sal_Int32 kTestSeqLen2 = 34;
-sal_Int32 kTestSeqLen3 = 270;
-
-sal_Sequence kTestEmptyByteSeq =
-{
- 1, /* sal_Int32 refCount; */
- kTestSeqLen0, /* sal_Int32 length; */
- { kTestChar0 } /* sal_Unicode buffer[1]; */
-};
-
-sal_Sequence kTestByteSeq1 =
-{
- 1, /* sal_Int32 refCount; */
- kTestSeqLen1, /* sal_Int32 length; */
- { kTestChar1 } /* sal_Unicode buffer[1]; */
-};
-
-sal_Sequence kTestByteSeq2 =
-{
- 3, /* sal_Int32 refCount; */
- kTestSeqLen2, /* sal_Int32 length; */
- { kTestChar2 } /* sal_Unicode buffer[1]; */
-};
-
-sal_Sequence kTestByteSeq3 =
-{
- 2, /* sal_Int32 refCount; */
- kTestSeqLen3, /* sal_Int32 length; */
- { kTestChar3 } /* sal_Unicode buffer[1]; */
-};
-
-//------------------------------------------------------------------------
-//------------------------------------------------------------------------
-
-#ifdef __cplusplus
-}
-#endif
-
-//------------------------------------------------------------------------
-//------------------------------------------------------------------------
-
-#endif /* _BYTE_CONST_H_ */
-
-
diff --git a/sal/qa/ByteSequence/makefile.mk b/sal/qa/ByteSequence/makefile.mk
index 972444ca8b57..9f7bfcfd25ce 100644
--- a/sal/qa/ByteSequence/makefile.mk
+++ b/sal/qa/ByteSequence/makefile.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# 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
@@ -23,65 +23,33 @@
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
-#*************************************************************************
+#***********************************************************************/
.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
nothing .PHONY:
.ELSE
-PRJ=..$/..
-
-PRJNAME=sal
-TARGET=qa_bytesequence
-# this is removed at the moment because we need some enhancements
-# TESTDIR=TRUE
-
-ENABLE_EXCEPTIONS=TRUE
+PRJ = ../..
+PRJNAME = sal
+TARGET = qa_ByteSequence
-# --- Settings -----------------------------------------------------
+ENABLE_EXCEPTIONS = TRUE
-.INCLUDE : settings.mk
-
-CFLAGS+= $(LFS_CFLAGS)
-CXXFLAGS+= $(LFS_CFLAGS)
+.INCLUDE: settings.mk
CFLAGSCXX += $(CPPUNIT_CFLAGS)
-#----------------------------------- OStringBuffer -----------------------------------
-
-SHL1OBJS= \
- $(SLO)$/ByteSequence.obj
-
-SHL1TARGET= rtl_ByteSequence
-SHL1STDLIBS= $(SALLIB) $(CPPUNITLIB)
-
-SHL1IMPLIB= i$(SHL1TARGET)
-# SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME =$(SHL1TARGET)
-SHL1VERSIONMAP = $(PRJ)$/qa$/export.map
+SHL1IMPLIB = i$(SHL1TARGET)
+SHL1OBJS = $(SLO)/ByteSequence.obj
SHL1RPATH = NONE
+SHL1STDLIBS = $(CPPUNITLIB) $(SALLIB)
+SHL1TARGET = rtl_ByteSequence
+SHL1VERSIONMAP = $(PRJ)/qa/export.map
+DEF1NAME = $(SHL1TARGET)
-# --- BEGIN --------------------------------------------------------
-SHL2OBJS= \
- $(SLO)$/rtl_old_testbyteseq.obj
-SHL2TARGET= rtl_old_testbyteseq
-SHL2STDLIBS= $(SALLIB) $(CPPUNITLIB)
-
-SHL2IMPLIB= i$(SHL2TARGET)
-
-DEF2NAME =$(SHL2TARGET)
-SHL2VERSIONMAP = $(PRJ)$/qa$/export.map
-SHL2RPATH = NONE
-# END --------------------------------------------------------------
-
-#------------------------------- All object files -------------------------------
-# do this here, so we get right dependencies
-SLOFILES=$(SHL1OBJS)
-
-# --- Targets ------------------------------------------------------
+SLOFILES = $(SHL1OBJS)
-.INCLUDE : target.mk
-.INCLUDE : _cppunit.mk
+.INCLUDE: target.mk
+.INCLUDE: _cppunit.mk
.END
diff --git a/sal/qa/ByteSequence/rtl_old_testbyteseq.cxx b/sal/qa/ByteSequence/rtl_old_testbyteseq.cxx
deleted file mode 100644
index 61c312162c78..000000000000
--- a/sal/qa/ByteSequence/rtl_old_testbyteseq.cxx
+++ /dev/null
@@ -1,134 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sal.hxx"
-// LLA:
-// this file is converted to use with testshl2
-// original was placed in sal/test/textenc.cxx
-// -----------------------------------------------------------------------------
-
-#include <stdio.h>
-
-#include <osl/diagnose.h>
-#include <rtl/byteseq.hxx>
-
-using namespace ::rtl;
-
-#include "cppunit/TestAssert.h"
-#include "cppunit/TestFixture.h"
-#include "cppunit/extensions/HelperMacros.h"
-#include "cppunit/plugin/TestPlugIn.h"
-
-namespace rtl_testbyteseq
-{
-
-// -----------------------------------------------------------------------------
-
-class oldbyteseq : public CppUnit::TestFixture
-{
-public:
- void test_bytesequence_001();
-
- CPPUNIT_TEST_SUITE( oldbyteseq );
- CPPUNIT_TEST( test_bytesequence_001 );
- CPPUNIT_TEST_SUITE_END( );
-};
-
-// -----------------------------------------------------------------------------
-
-void oldbyteseq::test_bytesequence_001()
-{
- signed char a[5] = { 1 , 2 , 3 , 4 , 5 };
-
- // test the c++ wrapper
- {
- ByteSequence seq;
- OSL_ENSURE( ! seq.getLength() , "" );
-
- ByteSequence seq2( a , 5 );
-
- OSL_ENSURE( !( seq == seq2) , "" );
-
- seq = seq2;
- OSL_ENSURE( seq == seq2 , "" );
-
- seq[0] = 2;
- OSL_ENSURE( !(seq == seq2) , "" );
-
- seq = ByteSequence( a , 5 );
- OSL_ENSURE( seq == seq2 , "" );
-
- seq = ByteSequence( 5 ); // default value is 0 for each byte
- OSL_ENSURE( !( seq == seq2 ) , "" );
- }
-
- {
- sal_Sequence *pSeq = 0;
- rtl_byte_sequence_construct( &pSeq , 0 );
-
- // implementation dependent test.
- OSL_ENSURE( pSeq->nRefCount == 2 , "invalid refcount for empty sequence" );
-
- sal_Sequence *pSeq2 = 0;
- rtl_byte_sequence_constructFromArray( &pSeq2 , a , 5 );
-
- OSL_ENSURE( ! rtl_byte_sequence_equals( pSeq , pSeq2 ) , "" );
-
- rtl_byte_sequence_assign( &pSeq , pSeq2 );
- OSL_ENSURE( pSeq == pSeq2 , "" );
- OSL_ENSURE( rtl_byte_sequence_equals( pSeq , pSeq2 ) , "" );
-
- rtl_byte_sequence_reference2One( &pSeq );
- (( sal_Int8*) rtl_byte_sequence_getConstArray( pSeq ) )[0] = 2;
-
- OSL_ENSURE( ! rtl_byte_sequence_equals( pSeq , pSeq2 ) , "" );
-
- rtl_byte_sequence_constructFromArray( &pSeq , a , 5 );
- OSL_ENSURE( rtl_byte_sequence_equals( pSeq , pSeq2 ) , "" );
-
- rtl_byte_sequence_construct( &pSeq , 5 );
- OSL_ENSURE( ! rtl_byte_sequence_equals( pSeq , pSeq2 ) , "" );
-
-
-
- rtl_byte_sequence_release( pSeq2 );
- rtl_byte_sequence_release( pSeq );
- }
-
-
- printf( "test bytesequence OK\n" );
-
-}
-
-} // namespace osl_test_file
-
-// -----------------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( rtl_testbyteseq::oldbyteseq );
-
-// -----------------------------------------------------------------------------
-CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sal/qa/osl/mutex/osl_Mutex.cxx b/sal/qa/osl/mutex/osl_Mutex.cxx
index df0d2fe8ef6b..4b1b078785d3 100755
--- a/sal/qa/osl/mutex/osl_Mutex.cxx
+++ b/sal/qa/osl/mutex/osl_Mutex.cxx
@@ -838,7 +838,7 @@ protected:
void SAL_CALL run( )
{
// acquire the mutex
- printf("# ResettableGuard" );
+ printf("# ResettableGuard\n" );
ResettableMutexGuard aGuard( pMyMutex );
// release the mutex
aGuard.clear( );
@@ -894,13 +894,13 @@ namespace osl_ResettableGuard
{
Mutex aMutex;
ResetGuardThread myThread( &aMutex );
- myThread.create( );
ResettableMutexGuard myMutexGuard( aMutex );
+ myThread.create( );
/// is it running? and clear done?
+ sal_Bool bRes = myThread.isRunning( );
myMutexGuard.clear( );
ThreadHelper::thread_sleep_tenth_sec( 1 );
- sal_Bool bRes = myThread.isRunning( );
/// if reset is not success, the release will return sal_False
myMutexGuard.reset( );
diff --git a/sal/rtl/source/macro.hxx b/sal/rtl/source/macro.hxx
index a48918668f83..50f0d7de924e 100644
--- a/sal/rtl/source/macro.hxx
+++ b/sal/rtl/source/macro.hxx
@@ -89,6 +89,8 @@ this is inserted for the case that the preprocessor ignores error
# define THIS_ARCH "M68K"
#elif defined HPPA
# define THIS_ARCH "HPPA"
+#elif defined AXP
+# define THIS_ARCH "ALPHA"
#endif
#if ! defined THIS_ARCH
diff --git a/sal/typesconfig/typesconfig.c b/sal/typesconfig/typesconfig.c
index 8223c80a5856..708837be926b 100644
--- a/sal/typesconfig/typesconfig.c
+++ b/sal/typesconfig/typesconfig.c
@@ -160,7 +160,7 @@ int check( TestFunc func, Type eT, void* p )
|* Letzte Aenderung
|*
*************************************************************************/
-#if defined(IA64) || defined(ARM32) || defined(HPPA)
+#if defined(IA64) || defined(ARM32) || defined(HPPA) || defined(AXP)
int forceerror()
{
diff --git a/ure/source/README b/ure/source/README
index d2b4024e1e15..6e5162d8f058 100644
--- a/ure/source/README
+++ b/ure/source/README
@@ -141,6 +141,7 @@ 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]