summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/util
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/util
parentInitial commit. (diff)
downloadlibreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz
libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/util')
-rw-r--r--offapi/com/sun/star/util/AliasProgrammaticPair.idl46
-rw-r--r--offapi/com/sun/star/util/AtomClassRequest.idl55
-rw-r--r--offapi/com/sun/star/util/AtomDescription.idl54
-rw-r--r--offapi/com/sun/star/util/CellProtection.idl54
-rw-r--r--offapi/com/sun/star/util/ChangesEvent.idl60
-rw-r--r--offapi/com/sun/star/util/ChangesSet.idl48
-rw-r--r--offapi/com/sun/star/util/CloseVetoException.idl41
-rw-r--r--offapi/com/sun/star/util/Color.idl43
-rw-r--r--offapi/com/sun/star/util/DataEditorEvent.idl43
-rw-r--r--offapi/com/sun/star/util/DataEditorEventType.idl43
-rw-r--r--offapi/com/sun/star/util/Date.idl53
-rw-r--r--offapi/com/sun/star/util/DateTime.idl76
-rw-r--r--offapi/com/sun/star/util/DateTimeRange.idl99
-rw-r--r--offapi/com/sun/star/util/DateTimeWithTimezone.idl43
-rw-r--r--offapi/com/sun/star/util/DateWithTimezone.idl43
-rw-r--r--offapi/com/sun/star/util/Duration.idl83
-rw-r--r--offapi/com/sun/star/util/ElementChange.idl54
-rw-r--r--offapi/com/sun/star/util/Endianness.idl58
-rw-r--r--offapi/com/sun/star/util/InvalidStateException.idl41
-rw-r--r--offapi/com/sun/star/util/JobManager.idl37
-rw-r--r--offapi/com/sun/star/util/Language.idl35
-rw-r--r--offapi/com/sun/star/util/MalformedNumberFormatException.idl47
-rw-r--r--offapi/com/sun/star/util/MeasureUnit.idl96
-rw-r--r--offapi/com/sun/star/util/ModeChangeEvent.idl51
-rw-r--r--offapi/com/sun/star/util/NotLockedException.idl41
-rw-r--r--offapi/com/sun/star/util/NotNumericException.idl40
-rw-r--r--offapi/com/sun/star/util/NumberFormat.idl116
-rw-r--r--offapi/com/sun/star/util/NumberFormatProperties.idl65
-rw-r--r--offapi/com/sun/star/util/NumberFormatSettings.idl70
-rw-r--r--offapi/com/sun/star/util/NumberFormats.idl50
-rw-r--r--offapi/com/sun/star/util/NumberFormatsSupplier.idl58
-rw-r--r--offapi/com/sun/star/util/NumberFormatter.idl40
-rw-r--r--offapi/com/sun/star/util/OfficeInstallationDirectories.idl53
-rw-r--r--offapi/com/sun/star/util/PathSettings.idl43
-rw-r--r--offapi/com/sun/star/util/PathSubstitution.idl84
-rw-r--r--offapi/com/sun/star/util/ReplaceDescriptor.idl46
-rw-r--r--offapi/com/sun/star/util/RevisionTag.idl58
-rw-r--r--offapi/com/sun/star/util/SearchAlgorithms.idl42
-rw-r--r--offapi/com/sun/star/util/SearchAlgorithms2.idl42
-rw-r--r--offapi/com/sun/star/util/SearchDescriptor.idl139
-rw-r--r--offapi/com/sun/star/util/SearchFlags.idl146
-rw-r--r--offapi/com/sun/star/util/SearchOptions.idl75
-rw-r--r--offapi/com/sun/star/util/SearchOptions2.idl52
-rw-r--r--offapi/com/sun/star/util/SearchResult.idl59
-rw-r--r--offapi/com/sun/star/util/SortDescriptor.idl93
-rw-r--r--offapi/com/sun/star/util/SortDescriptor2.idl48
-rw-r--r--offapi/com/sun/star/util/SortField.idl54
-rw-r--r--offapi/com/sun/star/util/SortFieldType.idl52
-rw-r--r--offapi/com/sun/star/util/Sortable.idl53
-rw-r--r--offapi/com/sun/star/util/TextSearch.idl39
-rw-r--r--offapi/com/sun/star/util/TextSearch2.idl39
-rw-r--r--offapi/com/sun/star/util/Time.idl59
-rw-r--r--offapi/com/sun/star/util/TimeWithTimezone.idl44
-rw-r--r--offapi/com/sun/star/util/TriState.idl55
-rw-r--r--offapi/com/sun/star/util/URL.idl112
-rw-r--r--offapi/com/sun/star/util/URLTransformer.idl39
-rw-r--r--offapi/com/sun/star/util/UriAbbreviation.idl39
-rw-r--r--offapi/com/sun/star/util/VetoException.idl42
-rw-r--r--offapi/com/sun/star/util/XAccounting.idl34
-rw-r--r--offapi/com/sun/star/util/XAtomServer.idl130
-rw-r--r--offapi/com/sun/star/util/XBinaryDataContainer.idl34
-rw-r--r--offapi/com/sun/star/util/XBroadcaster.idl72
-rw-r--r--offapi/com/sun/star/util/XCacheInfo.idl30
-rw-r--r--offapi/com/sun/star/util/XCancellable.idl46
-rw-r--r--offapi/com/sun/star/util/XChainable.idl66
-rw-r--r--offapi/com/sun/star/util/XChangesBatch.idl68
-rw-r--r--offapi/com/sun/star/util/XChangesListener.idl50
-rw-r--r--offapi/com/sun/star/util/XChangesNotifier.idl51
-rw-r--r--offapi/com/sun/star/util/XChangesSet.idl57
-rw-r--r--offapi/com/sun/star/util/XCloneable.idl44
-rw-r--r--offapi/com/sun/star/util/XCloseBroadcaster.idl64
-rw-r--r--offapi/com/sun/star/util/XCloseListener.idl120
-rw-r--r--offapi/com/sun/star/util/XCloseable.idl120
-rw-r--r--offapi/com/sun/star/util/XDataEditor.idl60
-rw-r--r--offapi/com/sun/star/util/XDataEditorListener.idl44
-rw-r--r--offapi/com/sun/star/util/XFlushListener.idl46
-rw-r--r--offapi/com/sun/star/util/XFlushable.idl54
-rw-r--r--offapi/com/sun/star/util/XImportable.idl50
-rw-r--r--offapi/com/sun/star/util/XIndent.idl47
-rw-r--r--offapi/com/sun/star/util/XJobManager.idl50
-rw-r--r--offapi/com/sun/star/util/XLinkUpdate.idl46
-rw-r--r--offapi/com/sun/star/util/XLocalizedAliases.idl93
-rw-r--r--offapi/com/sun/star/util/XLockable.idl70
-rw-r--r--offapi/com/sun/star/util/XMergeable.idl50
-rw-r--r--offapi/com/sun/star/util/XModeChangeApproveListener.idl56
-rw-r--r--offapi/com/sun/star/util/XModeChangeBroadcaster.idl76
-rw-r--r--offapi/com/sun/star/util/XModeChangeListener.idl49
-rw-r--r--offapi/com/sun/star/util/XModeSelector.idl61
-rw-r--r--offapi/com/sun/star/util/XModifiable.idl59
-rw-r--r--offapi/com/sun/star/util/XModifiable2.idl71
-rw-r--r--offapi/com/sun/star/util/XModifyBroadcaster.idl54
-rw-r--r--offapi/com/sun/star/util/XModifyListener.idl52
-rw-r--r--offapi/com/sun/star/util/XNumberFormatPreviewer.idl112
-rw-r--r--offapi/com/sun/star/util/XNumberFormatTypes.idl96
-rw-r--r--offapi/com/sun/star/util/XNumberFormats.idl179
-rw-r--r--offapi/com/sun/star/util/XNumberFormatsSupplier.idl57
-rw-r--r--offapi/com/sun/star/util/XNumberFormatter.idl117
-rw-r--r--offapi/com/sun/star/util/XNumberFormatter2.idl52
-rw-r--r--offapi/com/sun/star/util/XOfficeInstallationDirectories.idl102
-rw-r--r--offapi/com/sun/star/util/XPathSettings.idl139
-rw-r--r--offapi/com/sun/star/util/XPropertyReplace.idl78
-rw-r--r--offapi/com/sun/star/util/XProtectable.idl64
-rw-r--r--offapi/com/sun/star/util/XRefreshListener.idl46
-rw-r--r--offapi/com/sun/star/util/XRefreshable.idl54
-rw-r--r--offapi/com/sun/star/util/XReplaceDescriptor.idl49
-rw-r--r--offapi/com/sun/star/util/XReplaceable.idl63
-rw-r--r--offapi/com/sun/star/util/XSearchDescriptor.idl49
-rw-r--r--offapi/com/sun/star/util/XSearchable.idl95
-rw-r--r--offapi/com/sun/star/util/XSortable.idl98
-rw-r--r--offapi/com/sun/star/util/XStringAbbreviation.idl73
-rw-r--r--offapi/com/sun/star/util/XStringEscape.idl70
-rw-r--r--offapi/com/sun/star/util/XStringMapping.idl43
-rw-r--r--offapi/com/sun/star/util/XStringSubstitution.idl117
-rw-r--r--offapi/com/sun/star/util/XStringWidth.idl53
-rw-r--r--offapi/com/sun/star/util/XTextSearch.idl57
-rw-r--r--offapi/com/sun/star/util/XTextSearch2.idl38
-rw-r--r--offapi/com/sun/star/util/XTimeStamped.idl62
-rw-r--r--offapi/com/sun/star/util/XURLTransformer.idl128
-rw-r--r--offapi/com/sun/star/util/XUniqueIDFactory.idl41
-rw-r--r--offapi/com/sun/star/util/XUpdatable.idl43
-rw-r--r--offapi/com/sun/star/util/XUpdatable2.idl43
-rw-r--r--offapi/com/sun/star/util/theOfficeInstallationDirectories.idl48
-rw-r--r--offapi/com/sun/star/util/thePathSettings.idl52
123 files changed, 7782 insertions, 0 deletions
diff --git a/offapi/com/sun/star/util/AliasProgrammaticPair.idl b/offapi/com/sun/star/util/AliasProgrammaticPair.idl
new file mode 100644
index 000000000..f940748e6
--- /dev/null
+++ b/offapi/com/sun/star/util/AliasProgrammaticPair.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_AliasProgrammaticPair_idl__
+#define __com_sun_star_util_AliasProgrammaticPair_idl__
+
+module com { module sun { module star { module util {
+
+
+/** represents an entry from a component which implements the
+ XLocalizedAliases.
+ */
+published struct AliasProgrammaticPair
+{
+ /** determines the name which is registered as an alias for a programmatic name.
+ */
+ string Alias;
+
+ /** determines which programmatic name belongs to the alias.
+
+ @see com::sun::star::util::XLocalizedAliases
+ */
+ string ProgrammaticName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/AtomClassRequest.idl b/offapi/com/sun/star/util/AtomClassRequest.idl
new file mode 100644
index 000000000..bafae07ac
--- /dev/null
+++ b/offapi/com/sun/star/util/AtomClassRequest.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_AtomClassRequest_idl__
+#define __com_sun_star_util_AtomClassRequest_idl__
+
+module com
+{
+module sun
+{
+module star
+{
+module util
+{
+
+/** is used to describe which atoms the user wants to know about.
+
+ @see com::sun::star::util::XAtomServer
+*/
+published struct AtomClassRequest
+{
+ /** the class of the atoms described in member
+ AtomClassRequest::atoms().
+ */
+ long atomClass;
+
+ /** the atoms requested from class AtomClassRequest::atomClass().
+ */
+ sequence< long > atoms;
+};
+
+}; // module util
+}; // module star
+}; // module sun
+}; // module com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/AtomDescription.idl b/offapi/com/sun/star/util/AtomDescription.idl
new file mode 100644
index 000000000..714099463
--- /dev/null
+++ b/offapi/com/sun/star/util/AtomDescription.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_AtomDescription_idl__
+#define __com_sun_star_util_AtomDescription_idl__
+
+module com
+{
+module sun
+{
+module star
+{
+module util
+{
+
+/** contains a string and the corresponding registered atom .
+
+ @see com::sun::star::util::XAtomServer
+*/
+published struct AtomDescription
+{
+ /** the atom itself
+ */
+ long atom;
+
+ /** the string it stands for
+ */
+ string description;
+};
+
+}; // module util
+}; // module star
+}; // module sun
+}; // module com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/CellProtection.idl b/offapi/com/sun/star/util/CellProtection.idl
new file mode 100644
index 000000000..a4a191dcc
--- /dev/null
+++ b/offapi/com/sun/star/util/CellProtection.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_CellProtection_idl__
+#define __com_sun_star_util_CellProtection_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** describes the kind of protection for a protectable cell.
+ */
+published struct CellProtection
+{
+ /** specifies if the cell is locked from modifications by the user.
+ */
+ boolean IsLocked;
+
+ /** specifies if the formula is hidden from the user.
+ */
+ boolean IsFormulaHidden;
+
+ /** specifies if the cell is hidden from the user.
+ */
+ boolean IsHidden;
+
+ /** specifies if the cell is hidden on printouts.
+ */
+ boolean IsPrintHidden;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/ChangesEvent.idl b/offapi/com/sun/star/util/ChangesEvent.idl
new file mode 100644
index 000000000..4324b2473
--- /dev/null
+++ b/offapi/com/sun/star/util/ChangesEvent.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_ChangesEvent_idl__
+#define __com_sun_star_util_ChangesEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/util/ElementChange.idl>
+
+#include <com/sun/star/util/ChangesSet.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** This event is fired when a set of changes becomes effective on the source of the event.
+
+ @see XChangesSet
+ @see XChangesBatch
+ @see XChangesListener
+ @see XChangesNotifier
+ @see com::sun::star::container::ContainerEvent
+ @see ElementChange
+ */
+published struct ChangesEvent: com::sun::star::lang::EventObject
+{
+ /** contains the accessor to the common root of the changed elements.
+
+ <p>Type and value of the accessor depend on the service.</p>
+ */
+ any Base;
+
+ /** contains the changes which occurred.
+ */
+ ChangesSet Changes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/ChangesSet.idl b/offapi/com/sun/star/util/ChangesSet.idl
new file mode 100644
index 000000000..fbf4a1e78
--- /dev/null
+++ b/offapi/com/sun/star/util/ChangesSet.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_ChangesSet_idl__
+#define __com_sun_star_util_ChangesSet_idl__
+
+#include <com/sun/star/util/ElementChange.idl>
+
+/*
+#include <com/sun/star/util/XChangesSet.idl>
+*/
+
+
+module com { module sun { module star { module util {
+
+/** describes a set of changes occurring as a batch transaction.
+
+ @see XChangesBatch
+ @see XChangesSet
+ @see ChangesEvent
+ @see ElementChange
+*/
+published typedef sequence<ElementChange> ChangesSet;
+
+//typedef XChangesSet ChangesSet;
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/CloseVetoException.idl b/offapi/com/sun/star/util/CloseVetoException.idl
new file mode 100644
index 000000000..e56a56954
--- /dev/null
+++ b/offapi/com/sun/star/util/CloseVetoException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_CloseVetoException_idl__
+#define __com_sun_star_util_CloseVetoException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module util {
+
+/** this exception can be thrown to prevent the environment of any object
+ from closing
+
+ @see XCloseListener
+ */
+published exception CloseVetoException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Color.idl b/offapi/com/sun/star/util/Color.idl
new file mode 100644
index 000000000..296bfecc3
--- /dev/null
+++ b/offapi/com/sun/star/util/Color.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_color_idl__
+#define __com_sun_star_util_color_idl__
+
+
+
+module com { module sun { module star { module util {
+
+/** describes an RGB color value with an optional alpha channel.
+
+ <p>The byte order is from high to low:
+ <ol>
+ <li>alpha channel</li>
+ <li>red</li>
+ <li>green</li>
+ <li>blue</li>
+ </ol></p>
+*/
+published typedef long Color;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DataEditorEvent.idl b/offapi/com/sun/star/util/DataEditorEvent.idl
new file mode 100644
index 000000000..c216bcc50
--- /dev/null
+++ b/offapi/com/sun/star/util/DataEditorEvent.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_DataEditorEvent_idl__
+#define __com_sun_star_util_DataEditorEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/util/DataEditorEventType.idl>
+
+
+module com { module sun { module star { module util {
+
+/** specifies an event broadcasted by an XDataEditor.
+ */
+published struct DataEditorEvent: com::sun::star::lang::EventObject
+{
+ /** specifies the type of the event.
+ */
+ DataEditorEventType Type;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DataEditorEventType.idl b/offapi/com/sun/star/util/DataEditorEventType.idl
new file mode 100644
index 000000000..e6cd50570
--- /dev/null
+++ b/offapi/com/sun/star/util/DataEditorEventType.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_DataEditorEventType_idl__
+#define __com_sun_star_util_DataEditorEventType_idl__
+
+
+module com { module sun { module star { module util {
+
+/** specifies the type of an event from an XDataEditor.
+ */
+published enum DataEditorEventType
+{
+ /** specifies that the data editing is done (data stored).
+ */
+ DONE,
+
+ /** specifies that the data editing was canceled by the user (data not stored).
+ */
+ CANCELED
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Date.idl b/offapi/com/sun/star/util/Date.idl
new file mode 100644
index 000000000..796a6325b
--- /dev/null
+++ b/offapi/com/sun/star/util/Date.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_Date_idl__
+#define __com_sun_star_util_Date_idl__
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a date value.
+
+ The time zone is unknown.
+ */
+published struct Date
+{
+ /** contains the day of month (1-31 or 0 for a void date).
+ */
+ unsigned short Day;
+
+
+ /** contains the month of year (1-12 or 0 for a void date).
+ */
+ unsigned short Month;
+
+
+ /** contains the year.
+ */
+ short Year;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DateTime.idl b/offapi/com/sun/star/util/DateTime.idl
new file mode 100644
index 000000000..68793ee7f
--- /dev/null
+++ b/offapi/com/sun/star/util/DateTime.idl
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_DateTime_idl__
+#define __com_sun_star_util_DateTime_idl__
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a combined date+time value.
+ */
+published struct DateTime
+{
+ /** contains the nanoseconds (0 - 999 999 999).
+ */
+ unsigned long NanoSeconds;
+
+ /** contains the seconds (0-59).
+ */
+ unsigned short Seconds;
+
+
+ /** contains the minutes (0-59).
+ */
+ unsigned short Minutes;
+
+
+ /** contains the hour (0-23).
+ */
+ unsigned short Hours;
+
+
+ /** is the day of month (1-31 or 0 for a void date).
+ */
+ unsigned short Day;
+
+
+ /** is the month of year (1-12 or 0 for a void date).
+ */
+ unsigned short Month;
+
+
+ /** is the year.
+ */
+ short Year;
+
+ /** true: time zone is UTC false: unknown time zone.
+
+ @since LibreOffice 4.1
+ */
+ boolean IsUTC;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DateTimeRange.idl b/offapi/com/sun/star/util/DateTimeRange.idl
new file mode 100644
index 000000000..60ea92bf8
--- /dev/null
+++ b/offapi/com/sun/star/util/DateTimeRange.idl
@@ -0,0 +1,99 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_DateTimeRange_idl__
+#define __com_sun_star_util_DateTimeRange_idl__
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a range of date+time values.
+ */
+published struct DateTimeRange
+{
+ /** contains the start nanoseconds (0 - 999 999 999) for the range.
+ */
+ unsigned long StartNanoSeconds;
+
+ /** contains the start seconds (0-59) for the range.
+ */
+ unsigned short StartSeconds;
+
+ /** contains the start minutes (0-59) for the range.
+ */
+ unsigned short StartMinutes;
+
+ /** contains the start hour (0-23) for the range.
+ */
+ unsigned short StartHours;
+
+ /** contains the start day of month (1-31 or 0 for a void date) for the range.
+ */
+ unsigned short StartDay;
+
+ /** contains the start month of year (1-12 or 0 for a void date) for the range.
+ */
+ unsigned short StartMonth;
+
+ /** contains the start year for the range.
+ */
+ short StartYear;
+
+ /** contains the end nanoseconds (0 - 999 999 999) for the range.
+ */
+ unsigned long EndNanoSeconds;
+
+ /** contains the end seconds (0-59) for the range.
+ */
+ unsigned short EndSeconds;
+
+ /** contains the end minutes (0-59) for the range.
+ */
+ unsigned short EndMinutes;
+
+ /** contains the end hour (0-23) for the range.
+ */
+ unsigned short EndHours;
+
+ /** contains the end day of month (1-31 or 0 for a void date) for the range.
+ */
+ unsigned short EndDay;
+
+ /** contains the end month of year (1-12 or 0 for a void date) for the range.
+ */
+ unsigned short EndMonth;
+
+ /** contains the end year for the range.
+ */
+ short EndYear;
+
+ /** true: time zone is UTC false: unknown time zone.
+
+ @since LibreOffice 4.1
+ */
+ boolean IsUTC;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DateTimeWithTimezone.idl b/offapi/com/sun/star/util/DateTimeWithTimezone.idl
new file mode 100644
index 000000000..398ed5efe
--- /dev/null
+++ b/offapi/com/sun/star/util/DateTimeWithTimezone.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_util_DateTimeTZ_idl__
+#define __com_sun_star_util_DateTimeTZ_idl__
+
+#include <com/sun/star/util/DateTime.idl>
+
+
+module com { module sun { module star { module util {
+
+/** represents a combined date+time value with time zone.
+
+ @since LibreOffice 4.1
+ */
+struct DateTimeWithTimezone
+{
+ /** the date and time (in TimeZone)
+ */
+ DateTime DateTimeInTZ;
+
+ /** contains the time zone, as signed offset in minutes *from* UTC,
+ that is *east* of UTC, that is the amount of minutes that should
+ be added to UTC time to obtain the time in that timezone.
+
+ To obtain UTC datetime from DateTimeInTZ, you need to *subtract*
+ TimeZone minutes.
+ */
+ short Timezone;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/DateWithTimezone.idl b/offapi/com/sun/star/util/DateWithTimezone.idl
new file mode 100644
index 000000000..e60bcb7b8
--- /dev/null
+++ b/offapi/com/sun/star/util/DateWithTimezone.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_util_DateTZ_idl__
+#define __com_sun_star_util_DateTZ_idl__
+
+#include <com/sun/star/util/Date.idl>
+
+
+module com { module sun { module star { module util {
+
+/** represents a date value with time zone.
+
+ @since LibreOffice 4.1
+ */
+struct DateWithTimezone
+{
+ /** the date.
+ @note XMLSchema-2 defines this as a 24 hour interval.
+ The TimeZone shifts the interval along the UTC time line.
+ */
+ Date DateInTZ;
+
+ /** contains the time zone, as signed offset in minutes *from* UTC,
+ that is *east* of UTC, that is the amount of minutes that should
+ be added to UTC time to obtain time in that timezone.
+ */
+ short Timezone;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/util/Duration.idl b/offapi/com/sun/star/util/Duration.idl
new file mode 100644
index 000000000..03b58b7c0
--- /dev/null
+++ b/offapi/com/sun/star/util/Duration.idl
@@ -0,0 +1,83 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_Duration_idl__
+#define __com_sun_star_util_Duration_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a duration.
+
+ <p>
+ A duration is the difference of 2 DateTimes.
+ </p>
+
+ <p>
+ Note that there are no constraints on the ranges of the members,
+ except that every member must be non-negative:
+ for example, a Duration of 400 Days is valid.
+ </p>
+
+ @since OOo 3.3
+ */
+struct Duration
+{
+ /** explicit sign bit.
+ */
+ boolean Negative;
+
+ /** contains the years.
+ */
+ unsigned short Years;
+
+ /** contains the months.
+ */
+ unsigned short Months;
+
+ /** contains the days.
+ */
+ unsigned short Days;
+
+ /** contains the hours.
+ */
+ unsigned short Hours;
+
+ /** contains the minutes.
+ */
+ unsigned short Minutes;
+
+ /** contains the seconds.
+ */
+ unsigned short Seconds;
+
+ /** contains the nanoseconds.
+ */
+ unsigned long NanoSeconds;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/ElementChange.idl b/offapi/com/sun/star/util/ElementChange.idl
new file mode 100644
index 000000000..88121deeb
--- /dev/null
+++ b/offapi/com/sun/star/util/ElementChange.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_ElementChange_idl__
+#define __com_sun_star_util_ElementChange_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** This structure describes a single change that is part of a batch of changes.
+ */
+published struct ElementChange
+{
+ /** This contains the accessor to the element which changed.
+
+ <p>The type and the value of the accessor depends on the service.</p>
+ */
+ any Accessor;
+
+
+ /** This contains the element that was inserted or changed.
+ */
+ any Element;
+
+
+ /** This contains the element that was replaced or removed.
+ */
+ any ReplacedElement;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Endianness.idl b/offapi/com/sun/star/util/Endianness.idl
new file mode 100644
index 000000000..ad3217a49
--- /dev/null
+++ b/offapi/com/sun/star/util/Endianness.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_Endianness_idl__
+#define __com_sun_star_util_Endianness_idl__
+
+module com { module sun { module star { module util {
+
+/** These constants describe the endianness of data structures.<p>
+
+ The endianness specifies the order in which the bytes of larger
+ types are laid out in memory.<p>
+
+ @since OOo 2.0
+ */
+constants Endianness
+{
+ /** Little endian.<p>
+
+ The values are stored in little endian format, i.e. the bytes
+ of the long word 0xAABBCCDD are laid out like 0xDD, 0xCC,
+ 0xBB, 0xAA in memory. That is, data of arbitrary machine word
+ lengths always starts with the least significant byte, and
+ ends with the most significant one.<p>
+ */
+ const byte LITTLE=0;
+
+ /** Big endian.<p>
+
+ The values are stored in big endian format, i.e. the bytes of
+ the long word 0xAABBCCDD are laid out like 0xAA, 0xBB, 0xCC,
+ 0xDD in memory. That is, data of arbitrary machine word
+ lengths always start with the most significant byte, and ends
+ with the least significant one.<p>
+ */
+ const byte BIG=1;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/InvalidStateException.idl b/offapi/com/sun/star/util/InvalidStateException.idl
new file mode 100644
index 000000000..f4ff6ce03
--- /dev/null
+++ b/offapi/com/sun/star/util/InvalidStateException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_InvalidStateException_idl__
+#define __com_sun_star_util_InvalidStateException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** is thrown when an object's state does not allow to call requested functionality.
+ */
+exception InvalidStateException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/JobManager.idl b/offapi/com/sun/star/util/JobManager.idl
new file mode 100644
index 000000000..b2287e2ab
--- /dev/null
+++ b/offapi/com/sun/star/util/JobManager.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_JobManager_idl__
+#define __com_sun_star_util_JobManager_idl__
+
+#include <com/sun/star/util/XJobManager.idl>
+
+module com { module sun { module star { module util {
+
+/** Manage cancelable jobs
+
+ @see XJobManager
+ */
+service JobManager : XJobManager;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Language.idl b/offapi/com/sun/star/util/Language.idl
new file mode 100644
index 000000000..42217ca38
--- /dev/null
+++ b/offapi/com/sun/star/util/Language.idl
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_Language_idl__
+#define __com_sun_star_util_Language_idl__
+
+
+
+module com { module sun { module star { module util {
+
+/** This type is used for a language identifier number.
+*/
+published typedef short Language;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/MalformedNumberFormatException.idl b/offapi/com/sun/star/util/MalformedNumberFormatException.idl
new file mode 100644
index 000000000..4038d5a46
--- /dev/null
+++ b/offapi/com/sun/star/util/MalformedNumberFormatException.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_MalformedNumberFormatException_idl__
+#define __com_sun_star_util_MalformedNumberFormatException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** is thrown when a NumberFormat string is syntactically
+ incorrect.
+ */
+published exception MalformedNumberFormatException: com::sun::star::uno::Exception
+{
+
+ /** contains the character position in the string where the malformation
+ begins.
+ */
+ long CheckPos;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/MeasureUnit.idl b/offapi/com/sun/star/util/MeasureUnit.idl
new file mode 100644
index 000000000..165366d3f
--- /dev/null
+++ b/offapi/com/sun/star/util/MeasureUnit.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_MeasureUnit_idl__
+#define __com_sun_star_util_MeasureUnit_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** These constants are used to specify a measure.<p>
+ A component using these constants may not support all units.
+ */
+published constants MeasureUnit
+{
+ /** all measures for this component are in 100th millimeter */
+ const short MM_100TH = 0;
+
+ /** all measures for this component are in 10th millimeter */
+ const short MM_10TH = 1;
+
+ /** all measures for this component are in millimeter */
+ const short MM = 2;
+
+ /** all measures for this component are in centimeters */
+ const short CM = 3;
+
+ /** all measures for this component are in 1000th inch */
+ const short INCH_1000TH = 4;
+
+ /** all measures for this component are in 100th inch */
+ const short INCH_100TH = 5;
+
+ /** all measures for this component are in 10th inch */
+ const short INCH_10TH = 6;
+
+ /** all measures for this component are in inch */
+ const short INCH = 7;
+
+ /** all measures for this component are in points */
+ const short POINT = 8;
+
+ /** all measures for this component are in twips */
+ const short TWIP = 9;
+
+ /** all measures for this component are in meters */
+ const short M = 10;
+
+ /** all measures for this component are in kilometers */
+ const short KM = 11;
+
+ /** all measures for this component are in pica */
+ const short PICA = 12;
+
+ /** all measures for this component are in foot */
+ const short FOOT = 13;
+
+ /** all measures for this component are in miles */
+ const short MILE = 14;
+
+ /** all measures for this component are in percentage */
+ const short PERCENT = 15;
+
+ /** all measures for this component are in pixel */
+ const short PIXEL = 16;
+
+ /** all measures for this component are in APPFONT */
+ const short APPFONT = 17;
+
+ /** all measures for this component are in SYSFONT */
+ const short SYSFONT = 18;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/ModeChangeEvent.idl b/offapi/com/sun/star/util/ModeChangeEvent.idl
new file mode 100644
index 000000000..f84cc6923
--- /dev/null
+++ b/offapi/com/sun/star/util/ModeChangeEvent.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_ModeChangeEvent_idl__
+#define __com_sun_star_util_ModeChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** allows to veto changes in an object's internal mode.
+
+ @see XModeChangeBroadcaster
+ @see XModeChangeListener
+
+ @since OOo 1.1.2
+*/
+published struct ModeChangeEvent : com::sun::star::lang::EventObject
+{
+ /** denotes the new internal mode of a component
+
+ <p>The semantics of the mode string is to be defined by the component
+ broadcasting this event.</p>
+ */
+ string NewMode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NotLockedException.idl b/offapi/com/sun/star/util/NotLockedException.idl
new file mode 100644
index 000000000..6106fd01b
--- /dev/null
+++ b/offapi/com/sun/star/util/NotLockedException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_NotLockedException_idl__
+#define __com_sun_star_util_NotLockedException_idl__
+
+#include <com/sun/star/util/InvalidStateException.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** is raised when attempt is made to unlock a lockable component which actually is not locked.
+ */
+exception NotLockedException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NotNumericException.idl b/offapi/com/sun/star/util/NotNumericException.idl
new file mode 100644
index 000000000..36867f2ed
--- /dev/null
+++ b/offapi/com/sun/star/util/NotNumericException.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_NotNumericException_idl__
+#define __com_sun_star_util_NotNumericException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** indicates that a non-numeric string is to be converted to a number.
+ */
+published exception NotNumericException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormat.idl b/offapi/com/sun/star/util/NumberFormat.idl
new file mode 100644
index 000000000..e66a59d7e
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormat.idl
@@ -0,0 +1,116 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_NumberFormat_idl__
+#define __com_sun_star_util_NumberFormat_idl__
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** contains constants that are used to specify the type of a number format.
+ */
+published constants NumberFormat
+{
+
+ /** selects all number formats.
+ */
+ const short ALL = 0;
+
+
+ /** selects only user-defined number formats.
+ */
+ const short DEFINED = 1;
+
+
+ /** selects date formats.
+ */
+ const short DATE = 2;
+
+
+ /** selects time formats.
+ */
+ const short TIME = 4;
+
+
+ /** selects currency formats.
+ */
+ const short CURRENCY = 8;
+
+
+ /** selects decimal number formats.
+ */
+ const short NUMBER = 16;
+
+
+ /** selects scientific number formats.
+ */
+ const short SCIENTIFIC = 32;
+
+
+ /** selects number formats for fractions.
+ */
+ const short FRACTION = 64;
+
+
+ /** selects percentage number formats.
+ */
+ const short PERCENT = 128;
+
+
+ /** selects text number formats.
+ */
+ const short TEXT = 256;
+
+
+ /** selects number formats which contain date and time.
+ */
+ const short DATETIME = 6;
+
+
+ /** selects boolean number formats.
+ */
+ const short LOGICAL = 1024;
+
+
+ /** is used as a return value if no format exists.
+ */
+ const short UNDEFINED = 2048;
+
+
+ /** @internal is used to flag an empty sub format.
+ @since LibreOffice 5.1
+ */
+ const short EMPTY = 4096;
+
+
+ /** @internal selects a time duration format.
+ 8192 + TIME (4)
+ @since LibreOffice 6.2
+ */
+ const short DURATION = 8196;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormatProperties.idl b/offapi/com/sun/star/util/NumberFormatProperties.idl
new file mode 100644
index 000000000..39abbaec6
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatProperties.idl
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_NumberFormatProperties_idl__
+#define __com_sun_star_util_NumberFormatProperties_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** contains properties specifying the behavior of a NumberFormatter.
+
+ @see NumberFormatter
+ */
+published service NumberFormatProperties
+{
+
+ /** contains the format string of the number format.
+ */
+ [readonly, property] string FormatString;
+
+
+ /** contains the locale of the number format.
+ */
+ [readonly, property] com::sun::star::lang::Locale Locale;
+
+
+ /** contains the type of the number format.
+
+ @see NumberFormat
+ */
+ [readonly, property] short Type;
+
+
+ /** contains a comment regarding the number format for
+ display to the user.
+ */
+ [property] string Comment;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormatSettings.idl b/offapi/com/sun/star/util/NumberFormatSettings.idl
new file mode 100644
index 000000000..c7980f8e3
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatSettings.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_NumberFormatSettings_idl__
+#define __com_sun_star_util_NumberFormatSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/Date.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** specifies the settings for number formatting.
+ */
+published service NumberFormatSettings
+{
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies the date which is represented by the value 0.
+
+ <p>The most common value for this is 12/30/1899.</p>
+ */
+ [property] com::sun::star::util::Date NullDate;
+
+
+ /** specifies the maximum number of decimals used for the
+ standard number format ("General").
+ */
+ [property] short StandardDecimals;
+
+
+ /** is set to indicate that a zero value should be formatted as an empty string.
+ */
+ [property] boolean NoZero;
+
+
+ /** specifies the first year to be generated from a two-digit
+ year input.
+ */
+ [property] short TwoDigitDateStart;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormats.idl b/offapi/com/sun/star/util/NumberFormats.idl
new file mode 100644
index 000000000..a96cff5cd
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormats.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_NumberFormats_idl__
+#define __com_sun_star_util_NumberFormats_idl__
+
+#include <com/sun/star/util/XNumberFormats.idl>
+
+#include <com/sun/star/util/XNumberFormatTypes.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** specifies a container of number formats.
+ */
+published service NumberFormats
+{
+ /** is used to access or create individual formats.
+ */
+ interface com::sun::star::util::XNumberFormats;
+
+ /** is used to get specific, predefined number formats.
+ */
+ interface com::sun::star::util::XNumberFormatTypes;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormatsSupplier.idl b/offapi/com/sun/star/util/NumberFormatsSupplier.idl
new file mode 100644
index 000000000..d58fec9fd
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatsSupplier.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_NumberFormatsSupplier_idl__
+#define __com_sun_star_util_NumberFormatsSupplier_idl__
+
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** provides an supplier of number formats
+
+ @see NumberFormats
+ @see NumberFormatter
+
+ @since OOo 1.1.2
+*/
+published service NumberFormatsSupplier : XNumberFormatsSupplier
+{
+
+ /**
+ Create using specific locale.
+
+ @param Locale the locale of the number formats supplier
+ */
+ createWithLocale([in] com::sun::star::lang::Locale Locale);
+
+ /**
+ Create using default locale.
+ */
+ createWithDefaultLocale();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/NumberFormatter.idl b/offapi/com/sun/star/util/NumberFormatter.idl
new file mode 100644
index 000000000..54c65c3c8
--- /dev/null
+++ b/offapi/com/sun/star/util/NumberFormatter.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_NumberFormatter_idl__
+#define __com_sun_star_util_NumberFormatter_idl__
+
+#include <com/sun/star/util/XNumberFormatter2.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** represents an object which can format numbers and strings.
+
+ <p>A NumberFormatter, if available, can be created by the global
+ service manager.</p>
+ */
+published service NumberFormatter : XNumberFormatter2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/OfficeInstallationDirectories.idl b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl
new file mode 100644
index 000000000..94f7164f1
--- /dev/null
+++ b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_OfficeInstallationDirectories_idl__
+#define __com_sun_star_util_OfficeInstallationDirectories_idl__
+
+#include <com/sun/star/util/XOfficeInstallationDirectories.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** encapsulates access to the current office installation directory and
+ office user data directory, provides functionality to create URLs
+ containing relocatable (not absolute) references to the current office
+ installation directory and user data directory and vice versa.
+
+ <p>This functionality is useful when data containing references to the
+ current office installation directory or user data directory must be made
+ persistent and re-read later. In many cases, storing the reference
+ directly would destroy the relocatability of an office installation and the
+ possibility to share one office user data directory among parallel office
+ installations.
+
+ @since OOo 2.0
+ @deprecated rather use the singleton theOfficeInstallationDirectories
+ */
+published service OfficeInstallationDirectories {
+ interface XOfficeInstallationDirectories;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/PathSettings.idl b/offapi/com/sun/star/util/PathSettings.idl
new file mode 100644
index 000000000..00ab23d55
--- /dev/null
+++ b/offapi/com/sun/star/util/PathSettings.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_PathSettings_idl__
+#define __com_sun_star_util_PathSettings_idl__
+
+#include <com/sun/star/util/XPathSettings.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/**
+ A legacy (single-instance) service-variant of thePathSettings singleton.
+
+ @deprecated Use thePathSettings singleton instead.
+
+ @since OOo 1.1.2
+ */
+published service PathSettings : XPathSettings;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/PathSubstitution.idl b/offapi/com/sun/star/util/PathSubstitution.idl
new file mode 100644
index 000000000..1cee2597c
--- /dev/null
+++ b/offapi/com/sun/star/util/PathSubstitution.idl
@@ -0,0 +1,84 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_PathSubstitution_idl__
+#define __com_sun_star_util_PathSubstitution_idl__
+
+#include <com/sun/star/util/XStringSubstitution.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/container/XContainerListener.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** A service to support the substitution and resubstitution of path variables.
+
+ <p>
+ A path variable must be specified with the following syntax: "$("&lt;variable-name&gt;")".
+ Path variables are not case sensitive and are always provided as a UCB-compliant URLs
+ (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an
+ optional remote file system.<br>
+ There is a set of variables that have pre-defined values:
+ </p>
+ <dl>
+ <dt>\$(inst)</dt>
+ <dd>Installation path of the Office.</dd>
+ <dt>\$(prog)</dt>
+ <dd>Program path of the Office.</dd>
+ <dt>\$(user)</dt>
+ <dd>The user installation directory.</dd>
+ <dt>\$(work)</dt>
+ <dd>The work directory of the user. Under Windows this would be the
+ "MyDocuments" subdirectory. Under Unix this would be the home-directory</dd>
+ <dt>\$(home)</dt>
+ <dd>The home directory of the user. Under Unix this would be the home-
+ directory. Under Windows this would be the CSIDL_PERSONAL directory,
+ for example "Documents and Settings\<username>\Documents".</dd>
+ <dt>\$(temp)</dt>
+ <dd>The current temporary directory.</dd>
+ <dt>\$(path)</dt>
+ <dd>The value of PATH environment variable.</dd>
+ <dt>\$(username)</dt>
+ <dd>The username (login name) of the currently active user, excluding the domain name on Windows. (Available since LibreOffice 5.2)</dd>
+ <dt>\$(langid)</dt>
+ <dd>The language code used by the Office, like 0x0009=English, 0x0409=English US.</dd>
+ <dt>\$(vlang)</dt>
+ <dd>The language used by the Office as a string. Like "German" for a German Office.</dd>
+ </dl>
+ <p>
+ Attention: Most predefined variables describe an absolute path.
+ The only exceptions are: \$(username), \$(langid) and \$(vlang).
+ Therefore the service implementation should only substitute variables which
+ are located at the start of a provided path string or are part of a multi-path.
+ This special service is not designed to be a text substitution but shall
+ provide (a) valid substituted path(s).
+ </p>
+
+ @since OOo 1.1.2
+*/
+
+published service PathSubstitution : XStringSubstitution;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/ReplaceDescriptor.idl b/offapi/com/sun/star/util/ReplaceDescriptor.idl
new file mode 100644
index 000000000..69341b684
--- /dev/null
+++ b/offapi/com/sun/star/util/ReplaceDescriptor.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_ReplaceDescriptor_idl__
+#define __com_sun_star_util_ReplaceDescriptor_idl__
+
+#include <com/sun/star/util/SearchDescriptor.idl>
+
+#include <com/sun/star/util/XReplaceDescriptor.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** describes what and how to replace strings.
+ */
+published service ReplaceDescriptor
+{
+ service com::sun::star::util::SearchDescriptor;
+
+ interface com::sun::star::util::XReplaceDescriptor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/RevisionTag.idl b/offapi/com/sun/star/util/RevisionTag.idl
new file mode 100644
index 000000000..9a1ac368d
--- /dev/null
+++ b/offapi/com/sun/star/util/RevisionTag.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_RevisionTag_idl__
+#define __com_sun_star_util_RevisionTag_idl__
+
+#include <com/sun/star/util/DateTime.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** represents the information that describes a revision of something.
+ */
+struct RevisionTag
+{
+ /** contains the time when the revision was created ( can be invalid )
+ */
+ DateTime TimeStamp;
+
+ /** contains an identifier for the author that created the revision( can be empty )
+ */
+ string Author;
+
+ /** contains a comment that the author has left for this revision ( can be empty )
+ */
+ string Comment;
+
+ /** contains a unique identifier for the revision and must not be empty
+ <p>
+ This identifier can have any form. It can be something like "1.2.3" or "Version 1" etc.
+ It depends on the revision control system how it names the revisions.
+ </p>
+ */
+ string Identifier;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchAlgorithms.idl b/offapi/com/sun/star/util/SearchAlgorithms.idl
new file mode 100644
index 000000000..3a2053323
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchAlgorithms.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_SearchAlgorithms_idl__
+#define __com_sun_star_util_SearchAlgorithms_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+published enum SearchAlgorithms
+{
+ /// Literal
+ ABSOLUTE, // implemented as a kind of Boyer-Moore
+ /// Regular expression
+ REGEXP,
+ /// Weighted Levenshtein Distance
+ APPROXIMATE
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchAlgorithms2.idl b/offapi/com/sun/star/util/SearchAlgorithms2.idl
new file mode 100644
index 000000000..c3707ea79
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchAlgorithms2.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_util_SearchAlgorithms2_idl__
+#define __com_sun_star_util_SearchAlgorithms2_idl__
+
+module com { module sun { module star { module util {
+
+/** Constants that define the search algorithm to be used with
+ com::sun::star::util::SearchOptions2::SearchAlgorithms2
+
+ @since LibreOffice 5.2
+ */
+constants SearchAlgorithms2
+{
+ /// Literal
+ const short ABSOLUTE = 1;
+
+ /// Regular expression
+ const short REGEXP = 2;
+
+ /// Weighted Levenshtein Distance
+ const short APPROXIMATE = 3;
+
+ /** Wildcards '*' and '?'
+ An escape character is defined by setting
+ com::sun::star::util::SearchOptions2::WildcardEscapeCharacter
+ */
+ const short WILDCARD = 4;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchDescriptor.idl b/offapi/com/sun/star/util/SearchDescriptor.idl
new file mode 100644
index 000000000..8d7e68da4
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchDescriptor.idl
@@ -0,0 +1,139 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_SearchDescriptor_idl__
+#define __com_sun_star_util_SearchDescriptor_idl__
+
+#include <com/sun/star/util/XSearchDescriptor.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** describes what and how to search within a container.
+ */
+published service SearchDescriptor
+{
+ interface com::sun::star::util::XSearchDescriptor;
+
+ interface com::sun::star::beans::XPropertySet;
+
+ /** If `TRUE`, the search is done backwards in the document.
+ */
+ [property] boolean SearchBackwards;
+
+ /** If `TRUE`, the case of the letters is important for the match.
+ */
+ [property] boolean SearchCaseSensitive;
+
+ /** If `TRUE`, only complete words will be found.
+ */
+ [property] boolean SearchWords;
+
+ /** If `TRUE`, the search string is evaluated as a regular expression.
+
+ <p> SearchRegularExpression, SearchWildcard and SearchSimilarity
+ are mutually exclusive, only one can be `TRUE` at the same time. </p>
+ */
+ [property] boolean SearchRegularExpression;
+
+ /** If `TRUE`, it is searched for positions where the paragraph style with
+ the name of the search pattern is applied.
+ */
+ [property] boolean SearchStyles;
+
+ /** If `TRUE`, a "similarity search" is performed.
+
+ <p>In the case of a similarity search, the following properties
+ specify the kind of similarity:
+ </p>
+ <ul>
+ <li>SearchSimilarityRelax
+ </li>
+ <li>SearchSimilarityRemove
+ </li>
+ <li>SearchSimilarityAdd
+ </li>
+ <li>SearchSimilarityExchange
+ </li>
+ </ul>
+
+ <p> SearchRegularExpression, SearchWildcard and SearchSimilarity
+ are mutually exclusive, only one can be `TRUE` at the same time. </p>
+ */
+ [property] boolean SearchSimilarity;
+
+ /** If `TRUE`, all similarity rules are applied together.
+
+ <p>In the case of a relaxed similarity search, the following
+ properties are applied together:
+
+ </p>
+ <ul>
+ <li>SearchSimilarityRemove
+ </li>
+ <li>SearchSimilarityAdd
+ </li>
+ <li>SearchSimilarityExchange
+ </li>
+ </ul>
+ */
+ [property] boolean SearchSimilarityRelax;
+
+ /** This property specifies the number of characters that may be
+ ignored to match the search pattern.
+ */
+ [property] short SearchSimilarityRemove;
+
+ /** specifies the number of characters that must be
+ added to match the search pattern.
+ */
+ [property] short SearchSimilarityAdd;
+
+ /** This property specifies the number of characters that must
+ be replaced to match the search pattern.
+ */
+ [property] short SearchSimilarityExchange;
+
+ /** If `TRUE`, the search string is evaluated as a wildcard pattern.
+
+ <p> Wildcards are '*' (asterisk) for any sequence of characters,
+ including an empty sequence, and '?' (question mark) for exactly
+ one character. Escape character is '\' (U+005C REVERSE SOLIDUS)
+ aka backslash, it escapes the special meaning of a question
+ mark, asterisk or escape character that follows immediately
+ after the escape character. </p>
+
+ <p> SearchRegularExpression, SearchWildcard and SearchSimilarity
+ are mutually exclusive, only one can be `TRUE` at the same time. </p>
+
+ @since LibreOffice 5.2
+ */
+ [optional, property] boolean SearchWildcard;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchFlags.idl b/offapi/com/sun/star/util/SearchFlags.idl
new file mode 100644
index 000000000..77d0da38b
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchFlags.idl
@@ -0,0 +1,146 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_SearchFlags_idl__
+#define __com_sun_star_util_SearchFlags_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/// Flags for search methods
+published constants SearchFlags
+{
+ /**
+ @deprecated The constant ALL_IGNORE_CASE is never supported - use
+ com::sun::star::i18n::TransliterationModules::IGNORE_CASE
+ with
+ SearchOptions::transliterateFlags()
+ instead.
+
+ @see com::sun::star::i18n::TransliterationModules
+ */
+ const long ALL_IGNORE_CASE = 0x00000001;
+
+ /** Flag for normal (Boyer-Moore) search / Search for word only. */
+ const long NORM_WORD_ONLY = 0x00000010;
+
+ /** Flag for "regular expression" search / Interpret as extended
+ regular expression.
+
+ @deprecated The flag is currently not supported by OOo.
+ */
+ const long REG_EXTENDED = 0x00000100;
+
+ /** Flag for "regular expression" search / No register information
+ or backreferences, i.e., avoid sub expressions. Return only
+ true/false if matched or not.
+
+ @deprecated The flag is currently not supported by OOo.
+ */
+ const long REG_NOSUB = 0x00000200;
+
+ /** Flag for "regular expression" search / Special new line
+ treatment.
+
+ @deprecated The flag is currently not supported by OOo.
+
+ <p> A NEWLINE character in string will not be matched by a
+ period outside bracket expression or by any form of a non
+ matching list. </p>
+
+ <p> A circumflex (^) in pattern when used to specify expression
+ anchoring will match the zero length string immediately after a
+ newline in string, regardless of the setting of
+ REG_NOT_BEGINOFLINE. </p>
+
+ <p> A dollar-sign ($) in pattern when used to specify expression
+ anchoring, will match zero-length string immediately before a
+ new line in string, regardless of the setting of
+ REG_NOT_ENDOFLINE. </p>
+ */
+ const long REG_NEWLINE = 0x00000400;
+
+ /** The first character in the string is not the beginning of the
+ line therefore ^ will not match with first character of the
+ string.
+ */
+ const long REG_NOT_BEGINOFLINE = 0x00000800;
+
+ /** The last character in the string is not the end of the line
+ therefore $ will not match with last character of the string.
+ */
+ const long REG_NOT_ENDOFLINE = 0x00001000;
+
+ /** Flag for "Weighted Levenshtein Distance" search / Relaxed
+ checking of limit, split weigh pools.
+
+ <p> If not specified (<b>strict</b>), the search is successful if
+ the WLD is within a calculated limit where each insertion,
+ deletion and replacement adds a weight to a common pool of
+ weights. This is the mathematically correct WLD. </p>
+
+ <p> From a user's point of view the strict WLD is an
+ exclusive-OR of the arguments given, for example if allowed
+ insertions=2 and allowed replacements=2, the search fails if 2
+ characters had been inserted and an additional operation would
+ be needed to match. Depending on the weights it may also fail if
+ 1 character was inserted and 1 character replaced and an
+ additional operation would be needed to match. The strict
+ algorithm may match less than expected from a first glance of
+ the specified arguments, but does not return false positives. </p>
+
+ <p> If specified (<b>relaxed</b>), the search is also successful
+ if the combined pool for insertions and deletions is below a
+ doubled calculated limit and replacements are treated
+ differently. Additionally, swapped characters are counted as one
+ replacement. </p>
+
+ <p> From a user's point of view the relaxed WLD is an
+ inclusive-OR of the arguments given, for example if allowed
+ insertions=2 and allowed replacements=2, the search succeeds if
+ 2 characters had been inserted and an additional replacement is
+ needed to match. The relaxed algorithm may return false
+ positives, but meets user expectation better. </p>
+ */
+ const long LEV_RELAXED = 0x00010000;
+
+ /** Flag for wildcards search if entire selection must match the
+ pattern.
+
+ <p> If com::sun::star::util::SearchOptions2::AlgorithmType2 is
+ com::sun::star::util::SearchAlgorithms2::WILDCARD specifies
+ whether a wildcard pattern must match the entire selected range
+ of the string from start position to end position or a substring
+ match is allowed. </p>
+
+ <p> If set, the entire selection must match. If not set, a
+ substring match is allowed. </p>
+
+ @since LibreOffice 5.2
+ */
+ const long WILD_MATCH_SELECTION = 0x00100000;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchOptions.idl b/offapi/com/sun/star/util/SearchOptions.idl
new file mode 100644
index 000000000..0b0a17965
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchOptions.idl
@@ -0,0 +1,75 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_SearchOptions_idl__
+#define __com_sun_star_util_SearchOptions_idl__
+
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/SearchAlgorithms.idl>
+
+
+module com { module sun { module star { module util {
+
+
+published struct SearchOptions {
+ /** search type */
+ SearchAlgorithms algorithmType;
+
+ /** some flags - can be mixed
+
+ @see SearchFlags
+ */
+ long searchFlag;
+
+ /** The text or pattern to be searched. */
+ string searchString;
+
+ /** The replacement text
+ (is for optional replacing - SearchOption is only the data container for it) */
+ string replaceString;
+
+ /** The locale for case insensitive search. */
+ ::com::sun::star::lang::Locale Locale;
+
+ /** This many characters can be different (as a replacement) between
+ the found word and the search pattern in a "Weighted Levenshtein
+ Distance" search. */
+ long changedChars;
+
+ /** This many characters can be missing in the found word in a
+ "Weighted Levenshtein Distance" search. */
+ long deletedChars;
+
+ /** This many characters can be additional in the found word in a
+ "Weighted Levenshtein Distance" search. */
+ long insertedChars;
+
+ /** Flags for the transliteration. Same meaning as the enum of
+ com::sun::star::i18n::TransliterationModules
+ */
+ long transliterateFlags;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchOptions2.idl b/offapi/com/sun/star/util/SearchOptions2.idl
new file mode 100644
index 000000000..39d0c8d51
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchOptions2.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_util_SearchOptions2_idl__
+#define __com_sun_star_util_SearchOptions2_idl__
+
+
+#include <com/sun/star/util/SearchOptions.idl>
+
+
+module com { module sun { module star { module util {
+
+/** This augments com::sun::star::util::SearchOptions to be able to
+ specify additional search algorithms for use with
+ com::sun::star::util::XTextSearch2
+
+ @since LibreOffice 5.2
+ */
+struct SearchOptions2 : com::sun::star::util::SearchOptions {
+
+ /** Search type, one of com::sun::star::util::SearchAlgorithms2
+ constants. This is preferred over the content of the
+ SearchAlgorithms SearchOptions::algorithmType enum field.
+ */
+ short AlgorithmType2;
+
+ /** The escape character to be used with a
+ com::sun::star::util::SearchAlgorithms2::WILDCARD search.
+
+ <p> A Unicode character, if not 0 escapes the special meaning of
+ a question mark, asterisk or escape character that follows
+ immediately after the escape character. If 0 defines no escape
+ character is used. </p>
+
+ <p> Common values are '\' (U+005C REVERSE SOLIDUS) aka backslash
+ in text processing context, or '~' (U+007E TILDE) in spreadsheet
+ processing context. </p>
+ */
+ long WildcardEscapeCharacter;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SearchResult.idl b/offapi/com/sun/star/util/SearchResult.idl
new file mode 100644
index 000000000..8f14de88b
--- /dev/null
+++ b/offapi/com/sun/star/util/SearchResult.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_SearchResult_idl__
+#define __com_sun_star_util_SearchResult_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+published struct SearchResult {
+
+ /** Number of subexpressions.
+
+ If it is 0, then no match found; this value is 1 for ABSOLUTE
+ and APPROXIMATE match.
+ The start and endOffset are always dependent on the search direction.
+
+ For example, if you search "X" in the text "-X-" the offsets are:
+
+ for forward: start = 1, end = 2
+
+ for backward: start = 2, end = 1
+
+ Forward, the startOffset is inclusive, the endOffset exclusive.
+ Backward, the startOffset is exclusive, the endOffset inclusive.
+
+ For regular expressions it can be greater than 1.
+ If the value is 1, startoffset[0] and endoffset[0] points to the matching sub string
+ if value is > 1, still startoffset[0] and endoffset[0] points to the matching substring for whole regular expression
+ startoffset[i] and endoffset[i] points to the matching substring of i th matching substring.
+ */
+ long subRegExpressions;
+ sequence<long> startOffset;
+ sequence<long> endOffset;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SortDescriptor.idl b/offapi/com/sun/star/util/SortDescriptor.idl
new file mode 100644
index 000000000..330935953
--- /dev/null
+++ b/offapi/com/sun/star/util/SortDescriptor.idl
@@ -0,0 +1,93 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_SortDescriptor_idl__
+#define __com_sun_star_util_SortDescriptor_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** specifies the properties which can be used to describe
+ a sort order applied to an XSortable.
+
+ @see XSortable
+
+ @deprecated
+ */
+published service SortDescriptor
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ /** specifies if the case of letters is important when comparing entries.
+ */
+ [property] boolean IsCaseSensitive;
+
+ /** specifies the sorting order.
+
+ The sorting order may be defined for separate keys in specific
+ implementations. For those this property may not need to be set.
+
+ @see com::sun::star::text::TextSortDescriptor
+ */
+ [optional, property] boolean SortAscending;
+
+ /** specifies if the columns are sorted.
+
+ <dl>
+ <dt>
+ `TRUE`
+ </dt>
+ <dd>The columns are sorted.
+
+ </dd>
+ <dt>
+ `FALSE`
+ </dt>
+ <dd>The rows are sorted.
+ </dd>
+ </dl>
+ */
+ [property] boolean SortColumns;
+
+ /** specifies the locale for the compare operator (collator).
+ */
+ [property] com::sun::star::lang::Locale CollatorLocale;
+
+ /** specifies the algorithm for the compare operator (collator).
+
+ The collator algorithm may be defined for separate keys in specific
+ implementations. For those this property may not need to be set.
+
+ @see com::sun::star::text::TextSortDescriptor
+
+ @see com::sun::star::i18n::XCollator
+ */
+ [optional, property] string CollatorAlgorithm;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SortDescriptor2.idl b/offapi/com/sun/star/util/SortDescriptor2.idl
new file mode 100644
index 000000000..b3129b11d
--- /dev/null
+++ b/offapi/com/sun/star/util/SortDescriptor2.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_SortDescriptor2_idl__
+#define __com_sun_star_util_SortDescriptor2_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** gives access to the properties of a sort descriptor. The properties are
+ given in a sequence of PropertyValue.
+
+ <p>The available properties are listed in the specific sort
+ descriptor implementing this service.</p>
+
+ @see XSortable
+ @see com::sun::star::table::TableSortDescriptor2
+ @see com::sun::star::text::TextSortDescriptor2
+
+ @since OOo 1.1.2
+ */
+published service SortDescriptor2
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SortField.idl b/offapi/com/sun/star/util/SortField.idl
new file mode 100644
index 000000000..9efc514f6
--- /dev/null
+++ b/offapi/com/sun/star/util/SortField.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_SortField_idl__
+#define __com_sun_star_util_SortField_idl__
+
+#include <com/sun/star/util/SortFieldType.idl>
+
+
+
+module com { module sun { module star { module util {
+
+/** describes a single field in a sort descriptor.
+
+ @deprecated
+ */
+published struct SortField
+{
+ /** index of the field in the table; 0-based.
+ */
+ long Field;
+
+ /** `TRUE` if data are sorted in ascending order,
+ `FALSE` if in descending order.
+ */
+ boolean SortAscending;
+
+ /** type of contents in the field.
+ */
+ com::sun::star::util::SortFieldType FieldType;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/SortFieldType.idl b/offapi/com/sun/star/util/SortFieldType.idl
new file mode 100644
index 000000000..b9db01e67
--- /dev/null
+++ b/offapi/com/sun/star/util/SortFieldType.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_SortFieldType_idl__
+#define __com_sun_star_util_SortFieldType_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** enumeration used to specify the type of contents in a sort field.
+
+ @deprecated
+ */
+published enum SortFieldType
+{
+ /** type is determined automatically.
+ */
+ AUTOMATIC,
+
+ /** sort field contains numerical data.
+ */
+ NUMERIC,
+
+ /** sort field contains text data.
+ */
+ ALPHANUMERIC
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Sortable.idl b/offapi/com/sun/star/util/Sortable.idl
new file mode 100644
index 000000000..d553810e6
--- /dev/null
+++ b/offapi/com/sun/star/util/Sortable.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_Sortable_idl__
+#define __com_sun_star_util_Sortable_idl__
+
+#include <com/sun/star/util/SortDescriptor.idl>
+#include <com/sun/star/util/XSortable.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** provides an interface for sorting.
+
+ @deprecated
+
+ @since OOo 1.1.2
+
+ */
+published service Sortable
+{
+ /** the properties returned by a call to the "createSortDescriptor" method
+ of this interfaces implementation are those of the
+ "com.sun.star.util.SortDescriptor" service.
+
+ @see com::sun::star::util::SortDescriptor
+ */
+ interface com::sun::star::util::XSortable;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/TextSearch.idl b/offapi/com/sun/star/util/TextSearch.idl
new file mode 100644
index 000000000..2932af6bb
--- /dev/null
+++ b/offapi/com/sun/star/util/TextSearch.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_TextSearch_idl__
+#define __com_sun_star_util_TextSearch_idl__
+
+#include <com/sun/star/util/XTextSearch.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** search a string with a defined algorithm in another string.
+
+ <p>It is possible to search forward or backward in the string.
+*/
+published service TextSearch : XTextSearch;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/TextSearch2.idl b/offapi/com/sun/star/util/TextSearch2.idl
new file mode 100644
index 000000000..6f447bc89
--- /dev/null
+++ b/offapi/com/sun/star/util/TextSearch2.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_TextSearch2_idl__
+#define __com_sun_star_util_TextSearch2_idl__
+
+#include <com/sun/star/util/XTextSearch2.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** search a string with a defined algorithm in another string.
+
+ <p>It is possible to search forward or backward in the string.
+*/
+service TextSearch2 : XTextSearch2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/Time.idl b/offapi/com/sun/star/util/Time.idl
new file mode 100644
index 000000000..5bf0b9d57
--- /dev/null
+++ b/offapi/com/sun/star/util/Time.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_Time_idl__
+#define __com_sun_star_util_Time_idl__
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a time value.
+ */
+published struct Time
+{
+ /** contains the nanoseconds (0 - 999 999 999).
+ */
+ unsigned long NanoSeconds;
+
+ /** contains the seconds (0-59).
+ */
+ unsigned short Seconds;
+
+ /** contains the minutes (0-59).
+ */
+ unsigned short Minutes;
+
+ /** contains the hour (0-23).
+ */
+ unsigned short Hours;
+
+ /** true: time zone is UTC false: unknown time zone.
+
+ @since LibreOffice 4.1
+ */
+ boolean IsUTC;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/TimeWithTimezone.idl b/offapi/com/sun/star/util/TimeWithTimezone.idl
new file mode 100644
index 000000000..70442ec0a
--- /dev/null
+++ b/offapi/com/sun/star/util/TimeWithTimezone.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_util_TimeTZ_idl__
+#define __com_sun_star_util_TimeTZ_idl__
+
+#include <com/sun/star/util/Time.idl>
+
+
+module com { module sun { module star { module util {
+
+/** represents a combined time value with time zone.
+
+ @since LibreOffice 4.1
+ */
+struct TimeWithTimezone
+{
+ /** the time (in TimeZone)
+ */
+ Time TimeInTZ;
+
+ /** contains the time zone, as signed offset in minutes *from* UTC,
+ that is *east* of UTC, that is the amount of minutes that should
+ be added to UTC time to obtain the time in that timezone.
+
+ To obtain UTC time from TimeInTZ, you need to *subtract* TimeZone
+ minutes.
+ */
+ short Timezone;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/util/TriState.idl b/offapi/com/sun/star/util/TriState.idl
new file mode 100644
index 000000000..e2b9138b5
--- /dev/null
+++ b/offapi/com/sun/star/util/TriState.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_TriState_idl__
+#define __com_sun_star_util_TriState_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** This enumeration represents a tristate value.<p>
+
+ This enumeration defines three values, `TRUE`, `FALSE` and a don't know
+ value.<p>
+ */
+enum TriState
+{
+ /** The value is equivalent to `FALSE`.
+ */
+ NO,
+
+
+ /** The value is equivalent to `TRUE`.
+ */
+ YES,
+
+
+ /** The value is indeterminate.
+ */
+ INDETERMINATE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/URL.idl b/offapi/com/sun/star/util/URL.idl
new file mode 100644
index 000000000..45acd86d3
--- /dev/null
+++ b/offapi/com/sun/star/util/URL.idl
@@ -0,0 +1,112 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_URL_idl__
+#define __com_sun_star_util_URL_idl__
+
+
+
+module com { module sun { module star { module util {
+
+
+/** represents the structure of a Uniform Resource Locator.
+
+ <p>
+ If the structure represents a valid URL or not depends on prior usage of
+ the functions of XURLTransformer. Only after one of the functions
+ returned `TRUE` this can be assumed.<br>
+ It is not necessary to set all of the fields; either URL::Complete
+ or (some of) the others are set. Additionally, most of the other
+ fields, like URL::Host, URL::Port,
+ URL::User, URL::Password,
+ or URL::Mark, are optional.
+
+ @see XURLTransformer
+
+ </p>
+ */
+published struct URL
+{
+ /** contains the string representation of the complete URL, for example,
+ http://www.sun.de:8080/pub/test/foo.txt?a=b#xyz
+
+ <p>
+ It is used as a central input/output or input parameter for the interfaces of
+ XURLTransformer. The usage of one of the XURLTransformer
+ function is mandatory to validate the URL. It cannot be assumed that
+ URL::Complete represents always a valid URL!
+ </p>
+ */
+ string Complete;
+
+ /** contains the URL without a mark and without arguments, for example,
+ http://www.sun.de:8080/pub/test/foo.txt
+ */
+ string Main;
+
+ /** contains the protocol (scheme) of the URL, for example, "http"
+ */
+ string Protocol;
+
+ /** contains the user-identifier of the URL, for example, "me"
+ */
+ string User;
+
+ /** contains the users password of the URL, for example, "pass"
+ */
+ string Password;
+
+ /** contains the server part of the URL, for example, "www.sun.de"
+ */
+ string Server;
+
+ /** contains the port at the server of the URL, for example, "8080"
+ */
+ short Port;
+
+ /** contains all segments but the last one of the hierarchical path of the URL, for example, "/pub/test/"
+ */
+ string Path;
+
+ /** contains the last segment of the hierarchical path of the URL, for the above example, "foo.txt"
+ <p>
+ <strong>Attention:</strong>A service implementing the XURLTransformer interface
+ will normally not detect if the last segment is a folder or a file. So it is possible that
+ the last segment describes a folder. If you want to be sure that a file URL that references
+ a folder will be correctly put into the URL fields you should append a "/" at the end of the
+ hierarchical path.
+ </p>
+ */
+ string Name;
+
+ /** contains the arguments part of the URL, for example, "a=b"
+ */
+ string Arguments;
+
+ /** contains the mark part of the URL, for example, "xyz"
+ */
+ string Mark;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/URLTransformer.idl b/offapi/com/sun/star/util/URLTransformer.idl
new file mode 100644
index 000000000..1f6f138ba
--- /dev/null
+++ b/offapi/com/sun/star/util/URLTransformer.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_URLTransformer_idl__
+#define __com_sun_star_util_URLTransformer_idl__
+
+#include <com/sun/star/util/XURLTransformer.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** helps to split up a string containing a URL into its
+ structural parts and assembles the parts into a single string.
+ */
+published service URLTransformer : XURLTransformer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/UriAbbreviation.idl b/offapi/com/sun/star/util/UriAbbreviation.idl
new file mode 100644
index 000000000..e96d4b6ec
--- /dev/null
+++ b/offapi/com/sun/star/util/UriAbbreviation.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_UriAbbreviation_idl__
+#define __com_sun_star_util_UriAbbreviation_idl__
+
+#include <com/sun/star/util/XStringAbbreviation.idl>
+
+module com { module sun { module star { module util {
+
+/** Abbreviate arbitrary URIs.
+
+ <p>An abbreviation implementation that is specialized to URIs.</p>
+
+ @see XStringAbbreviation
+ */
+service UriAbbreviation: XStringAbbreviation;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/VetoException.idl b/offapi/com/sun/star/util/VetoException.idl
new file mode 100644
index 000000000..ba3102c82
--- /dev/null
+++ b/offapi/com/sun/star/util/VetoException.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_VetoException_idl__
+#define __com_sun_star_util_VetoException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** thrown to indicate a general veto.
+
+ @since OOo 1.1.2
+*/
+published exception VetoException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XAccounting.idl b/offapi/com/sun/star/util/XAccounting.idl
new file mode 100644
index 000000000..545a16ad5
--- /dev/null
+++ b/offapi/com/sun/star/util/XAccounting.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_util_XAccounting_idl__
+#define __com_sun_star_util_XAccounting_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+
+/** allows estimating the memory usage of a service.
+
+ @since LibreOffice 5.3
+ */
+interface XAccounting : com::sun::star::uno::XInterface
+{
+
+ /** @returns an estimate of the current memory usage, in octets.
+ */
+ hyper estimateUsage();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/util/XAtomServer.idl b/offapi/com/sun/star/util/XAtomServer.idl
new file mode 100644
index 000000000..6682dffb3
--- /dev/null
+++ b/offapi/com/sun/star/util/XAtomServer.idl
@@ -0,0 +1,130 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XAtomServer_idl__
+#define __com_sun_star_util_XAtomServer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/AtomDescription.idl>
+#include <com/sun/star/util/AtomClassRequest.idl>
+
+
+module com
+{
+module sun
+{
+module star
+{
+module util
+{
+
+/** an interface to map between <i>string</i>s and <i>id</i>s
+
+ <p>a note on atoms:<br>
+ Atoms are abbreviations for strings.
+ When a string gets registered, it is assigned a numeric id
+ so that said string can always be referred to by this id.
+ This way strings have to be transported only once over remote connections.
+ Valid ids are (in this implementation) non zero, signed 32 bit values.
+ An atom of 0 means that the string in question is not registered</p>
+
+ <p>Additionally there is the abstraction of atom class:<br>
+ Atoms are grouped into classes, so that an id can be assigned
+ to multiple strings, depending on the class context. The main
+ advantage of this is that atoms in one class may be kept
+ to small numbers, so that bandwidth can be reduced by sending
+ the atoms only as 16 bit values. Note that it is up to the user in this
+ case to handle overflows.</p>
+*/
+
+published interface XAtomServer : com::sun::star::uno::XInterface
+{
+ /** returns a whole atom class
+
+ @param atomClass
+ which class to return
+
+ @returns
+ the descriptions for all atoms of class <code>atomClass</code>
+ */
+ sequence< AtomDescription > getClass( [in] long atomClass );
+ /** returns multiple atom classes
+
+ @param atomClasses
+ which classes to return
+
+ @returns
+ the descriptions for all atoms of the requested classes
+ */
+ sequence< sequence< AtomDescription > > getClasses( [in] sequence< long > atomClasses );
+ /** returns the strings for an arbitrary amount of atoms of multiple classes
+
+ @param atoms
+ describes which strings to return
+
+ @returns
+ the strings for the requested atoms
+ */
+ sequence< string > getAtomDescriptions( [in] sequence< AtomClassRequest > atoms );
+
+ /** returns the atoms that have been registered to a class after an
+ already known atom
+
+ <p>Hint to implementor: using ascending atoms is the easiest way
+ to decide, which atoms are recent.</p>
+
+ @param atomClass
+ the class in question
+
+ @param atom
+ the last known atom
+
+ @returns
+ all atom description that have been added to class
+ <code>atomClass</code> after <code>atom</code>
+ */
+ sequence< AtomDescription > getRecentAtoms( [in] long atomClass, [in] long atom );
+
+ /** registers or searches for a string
+
+ @param atomClass
+ the class of atoms in question
+
+ @param description
+ the string in question
+
+ @param create
+ if true a new atom will be created for an unknown string
+ else the invalid atom (0) will be returned for an unknown string
+
+ @returns
+ the atom for the string <code>description</code>
+ */
+ long getAtom( [in] long atomClass, [in] string description, [in] boolean create );
+};
+
+
+}; // module util
+}; // module star
+}; // module sun
+}; // module com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XBinaryDataContainer.idl b/offapi/com/sun/star/util/XBinaryDataContainer.idl
new file mode 100644
index 000000000..b58bca00d
--- /dev/null
+++ b/offapi/com/sun/star/util/XBinaryDataContainer.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef com_sun_star_util_XBinaryDataContainer_idl
+#define com_sun_star_util_XBinaryDataContainer_idl
+
+module com { module sun { module star { module util
+{
+
+/** Container for binary data, typically an in-memory content of files.
+
+ The binary data in the container is regarded as read-only so no
+ access that would allow changing the data is allowed in this
+ interface.
+
+ @since LibreOffice 7.2
+ */
+interface XBinaryDataContainer
+{
+ /** Get a copy of the contained data */
+ sequence<byte> getCopyAsByteSequence();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XBroadcaster.idl b/offapi/com/sun/star/util/XBroadcaster.idl
new file mode 100644
index 000000000..f0a4fd250
--- /dev/null
+++ b/offapi/com/sun/star/util/XBroadcaster.idl
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XBroadcaster_idl__
+#define __com_sun_star_util_XBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** allows to control notification behavior of a broadcaster.
+
+ @since OOo 3.0
+ */
+interface XBroadcaster: com::sun::star::uno::XInterface
+{
+ /** suspends broadcasts to the registered listeners.
+
+ <p>
+ The calls to XBroadcaster::lockBroadcasts() and
+ XBroadcaster::unlockBroadcasts() may be
+ nested and even overlapping, but they must be in pairs. While
+ there is at least one lock remaining, no broadcasts are
+ sent to registered listeners.
+ </p>
+ */
+ void lockBroadcasts();
+
+ /** resumes the broadcasts which were suspended by
+ XBroadcaster::lockBroadcasts().
+
+ <p>
+ The calls to XBroadcaster::lockBroadcasts() and
+ XBroadcaster::unlockBroadcasts() may be
+ nested and even overlapping, but they must be in pairs. While
+ there is at least one lock remaining, no broadcasts are
+ sent to registered listeners.
+ </p>
+
+ <p> Pending broadcasts will be sent immediately after the last
+ call to XBroadcaster::lockBroadcasts() is matched
+ by a call to XBroadcaster::unlockBroadcasts().
+ An implementation can decide to broadcast all pending notification in
+ order or batch them in single broadcasts.
+ </p>
+ */
+ void unlockBroadcasts();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XCacheInfo.idl b/offapi/com/sun/star/util/XCacheInfo.idl
new file mode 100644
index 000000000..d7c403974
--- /dev/null
+++ b/offapi/com/sun/star/util/XCacheInfo.idl
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+#ifndef __com_sun_star_util_XCacheInfo_idl__
+#define __com_sun_star_util_XCacheInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+
+/** Interface that allows an implementation to opt out from caching.
+
+ @since LibreOffice 7.4
+ */
+interface XCacheInfo: com::sun::star::uno::XInterface
+{
+ boolean isCachingAllowed();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/util/XCancellable.idl b/offapi/com/sun/star/util/XCancellable.idl
new file mode 100644
index 000000000..1894ac95a
--- /dev/null
+++ b/offapi/com/sun/star/util/XCancellable.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XCancellable_idl__
+#define __com_sun_star_util_XCancellable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** offers the possibility of canceling a job.
+
+ <p>This is supported by objects which represent a job.
+ */
+published interface XCancellable: com::sun::star::uno::XInterface
+{
+ /** cancels the current job of the object.
+ */
+ void cancel();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XChainable.idl b/offapi/com/sun/star/util/XChainable.idl
new file mode 100644
index 000000000..1a899d2e3
--- /dev/null
+++ b/offapi/com/sun/star/util/XChainable.idl
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XChainable_idl__
+#define __com_sun_star_util_XChainable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** enables the object to be a member of a chain.
+ */
+published interface XChainable: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the previous object in this chain or NULL, if this is the first
+ object of this chain.
+ */
+ com::sun::star::util::XChainable getPredecessor();
+
+ /** @returns
+ the next object in this chain or NULL, if this is the last
+ object in this chain.
+ */
+ com::sun::star::util::XChainable getSuccessor();
+
+ /** connects the specified object to this object as the successor in a chain.
+
+ <p>This implies that this object will become the predecessor of
+ <var>xChainable</var>. </p>
+ */
+ void setSuccessor( [in] com::sun::star::util::XChainable xChainable )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** checks if the specified object can be linked to this.
+ */
+ boolean isChainable( [in] com::sun::star::util::XChainable xChainable );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XChangesBatch.idl b/offapi/com/sun/star/util/XChangesBatch.idl
new file mode 100644
index 000000000..9dbe74c94
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesBatch.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XChangesBatch_idl__
+#define __com_sun_star_util_XChangesBatch_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+#include <com/sun/star/util/ChangesSet.idl>
+
+
+
+module com { module sun { module star { module util {
+
+/** this interface enables applying a set of changes in one batch transaction.
+
+ <p>An object implementing this interface allows other interfaces to change
+ its state locally. It will keep a list of pending changes until such changes
+ are committed or canceled. </p>
+
+ <p>Only when they are explicitly committed will these changes take effect
+ persistently or globally. </p>
+
+ @see XChangesNotifier
+ @see XChangesSet
+ @see XCancellable
+ */
+published interface XChangesBatch: com::sun::star::uno::XInterface
+{
+ /** commits any pending changes.
+
+ <p>The exact action depends on the concrete service. </p>
+ */
+ void commitChanges()
+ raises( com::sun::star::lang::WrappedTargetException );
+
+ /** checks whether this object has any pending changes that can be committed.
+ */
+ boolean hasPendingChanges();
+
+ /** queries for any pending changes that can be committed.
+ */
+ ChangesSet getPendingChanges();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XChangesListener.idl b/offapi/com/sun/star/util/XChangesListener.idl
new file mode 100644
index 000000000..8db563589
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesListener.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XChangesListener_idl__
+#define __com_sun_star_util_XChangesListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/util/ChangesEvent.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** receives events from batch change broadcaster objects.
+
+ @see ChangesEvent
+ @see XChangesNotifier
+ @see XChangesBatch
+ */
+published interface XChangesListener: com::sun::star::lang::XEventListener
+{
+ /** is invoked when a batch of changes occurred.
+ */
+ void changesOccurred( [in] com::sun::star::util::ChangesEvent Event );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XChangesNotifier.idl b/offapi/com/sun/star/util/XChangesNotifier.idl
new file mode 100644
index 000000000..4e9080620
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesNotifier.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XChangesNotifier_idl__
+#define __com_sun_star_util_XChangesNotifier_idl__
+
+#include <com/sun/star/util/XChangesListener.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** broadcasts events about multiple changes that occur in bulk.
+
+ @see XChangesListener
+ @see XChangesBatch
+ @see ChangesEvent
+ */
+published interface XChangesNotifier: com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive events when changes occurred.
+ */
+ void addChangesListener( [in] com::sun::star::util::XChangesListener aListener );
+
+ /** removes the specified listener.
+ */
+ void removeChangesListener( [in] com::sun::star::util::XChangesListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XChangesSet.idl b/offapi/com/sun/star/util/XChangesSet.idl
new file mode 100644
index 000000000..96efc8206
--- /dev/null
+++ b/offapi/com/sun/star/util/XChangesSet.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XChangesSet_idl__
+#define __com_sun_star_util_XChangesSet_idl__
+
+#include <com/sun/star/container/XElementAccess.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+#include <com/sun/star/util/ElementChange.idl>
+
+
+
+module com { module sun { module star { module util {
+
+/** this interface enables inspecting a set of changes forming one batch transaction.
+
+ <p>An object implementing this interface should implement more
+ container interfaces to access individual changes as well. </p>
+
+ @see XChangesBatch
+ @see ChangesEvent
+ @see XChangesListener
+ @see XChangesNotifier
+ */
+published interface XChangesSet: com::sun::star::container::XElementAccess
+{
+ /** queries for all contained changes at once.
+
+ @returns an array of ElementChange holding information about
+ each changes that is part of this object.
+ */
+ sequence<ElementChange> getAllChanges();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XCloneable.idl b/offapi/com/sun/star/util/XCloneable.idl
new file mode 100644
index 000000000..9abca6c44
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloneable.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XCloneable_idl__
+#define __com_sun_star_util_XCloneable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to create a copy of the object which supports this interface.
+ */
+published interface XCloneable: com::sun::star::uno::XInterface
+{
+ /** creates a copy of the object.
+ */
+ com::sun::star::util::XCloneable createClone();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XCloseBroadcaster.idl b/offapi/com/sun/star/util/XCloseBroadcaster.idl
new file mode 100644
index 000000000..50959474f
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloseBroadcaster.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XCloseBroadcaster_idl__
+#define __com_sun_star_util_XCloseBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XCloseListener.idl>
+
+
+ module com { module sun { module star { module util {
+
+/** broadcasts each tried closing of an object to all interest listener
+
+ <p>
+ The called object for closing must post the closing events immediately
+ and before any internal cancel operations will be started.
+ If a listener disagree with that it should throw a CloseVetoException
+ and called function XCloseable::close() must be broken immediately.
+ It's not allowed to catch it inside the close() request.
+ If no listener nor internal processes hinder the object on closing
+ all listeners get a notification about real closing.
+ </p>
+
+ @see
+ */
+published interface XCloseBroadcaster: com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive or have a veto for "close" events
+
+ @param Listener
+ the listener which is interest on closing events
+ */
+ void addCloseListener( [in] XCloseListener Listener );
+
+ /** removes the specified listener
+
+ @param Listener
+ the listener which isn't interest on closing events any longer
+ */
+ void removeCloseListener( [in] XCloseListener Listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XCloseListener.idl b/offapi/com/sun/star/util/XCloseListener.idl
new file mode 100644
index 000000000..6f3362a9e
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloseListener.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XCloseListener_idl__
+#define __com_sun_star_util_XCloseListener_idl__
+
+#include <com/sun/star/util/CloseVetoException.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/lang/EventObject.idl>
+
+
+ module com { module sun { module star { module util {
+
+/** makes it possible to receive events when an object
+ is called for closing
+
+ <p>
+ Such close events are broadcasted by a XCloseBroadcaster
+ if somewhere tries to close it by calling XCloseable::close().
+ Listener can:
+ <ul>
+ <li>break that by throwing CloseVetoException</li>
+ <li>or accept that by deregister himself at this broadcaster.</li>
+ </ul>
+ </p>
+
+ <p>
+ If an event com::sun::star::lang::XEventListener::disposing()
+ occurred, nobody called XCloseable::close() on listened object before.
+ Then it's not allowed to break this request - it must be accepted!
+ </p>
+
+ @see XCloseable
+ @see XCloseBroadcaster
+ */
+published interface XCloseListener: com::sun::star::lang::XEventListener
+{
+ /** is called when somewhere tries to close listened object
+
+ <p>
+ Is called before XCloseListener::notifyClosing().
+ Listener has the chance to break that by throwing a CloseVetoException.
+ This exception must be passed to the original caller of XCloseable::close()
+ without any interaction.
+ </p>
+
+ <p>
+ The parameter <var>GetsOwnership</var> regulate who has to try to close the listened object
+ again, if this listener disagree with the request by throwing the exception.
+ If it's set to `FALSE` the original caller of XCloseable::close()
+ will be the owner in every case. It's not allowed to call close() from this listener then.
+ If it's set to `TRUE` this listener will be the new owner if he throw the exception,
+ otherwise not! If his still running processes will be finished he must call close() on
+ listened object again then.
+ </p>
+
+ <p>
+ If this listener doesn't disagree with th close request it depends from his internal
+ implementation if he deregister himself at the listened object.
+ But normally this must be done in XCloseListener::notifyClosing().
+ </p>
+
+ @param Source
+ describes the source of the event (must be the listened object)
+
+ @param GetsOwnership
+ `TRUE` pass the ownership to this listener, if he throw the veto exception
+ (otherwise this parameter must be ignored!)
+ <br>
+ `FALSE` forbids to grab the ownership for the listened close object and call
+ close() on that any time.
+
+ @throws CloseVetoException
+ if listener disagree with the close request on listened object he must throw this exception
+ */
+ void queryClosing(
+ [in] com::sun::star::lang::EventObject Source,
+ [in] boolean GetsOwnership )
+ raises( CloseVetoException );
+
+ /** is called when the listened object is closed really
+
+ <p>
+ Now the listened object is closed really. Listener has to accept that;
+ should deregister himself and release all references to it.
+ It's not allowed nor possible to disagree with that by throwing any exception.
+ </p>
+
+ <p>
+ If the event com::sun::star::lang::XEventListener::disposing() occurred before
+ it must be accepted too. There exist no chance for a disagreement any more.
+ </p>
+
+ @param Source
+ describes the source of the event (must be the listened object)
+ */
+ void notifyClosing( [in] com::sun::star::lang::EventObject Source );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XCloseable.idl b/offapi/com/sun/star/util/XCloseable.idl
new file mode 100644
index 000000000..ad39183c8
--- /dev/null
+++ b/offapi/com/sun/star/util/XCloseable.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XCloseable_idl__
+#define __com_sun_star_util_XCloseable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XCloseBroadcaster.idl>
+
+
+module com { module sun { module star { module util {
+
+/** makes it possible to release any objects in an ordered manner by using
+ a two-step mechanism
+
+ <p>
+ If an object should be terminated, it can be:<br>
+ <ul>
+ <li>disposed (if it supports com::sun::star::lang::XComponent::dispose())</li>
+ <li>closed (if it supports XCloseable::close())</li>
+ </ul>
+ First version gives the object no chance to disagree with that (e.g. if a
+ process is still running and can't be canceled really). Last version
+ provides this possibility, but can't guarantee real termination of called object.
+ It depends from the environment of an object, if one or both mechanism are necessary.
+ </p>
+
+ <p>
+ Base interface XCloseBroadcaster makes it possible that any listener
+ which is interested on life time of listened object ...
+ <ul>
+ <li>can get a notification about closing of it</li>
+ <li>or can have a veto to break that.</li>
+ </ul>
+ </p>
+
+ @see com::sun::star::lang::XComponent::dispose()
+ @see XCloseBroadcaster
+ @see XCloseListener
+ */
+published interface XCloseable: XCloseBroadcaster
+{
+ /** try to close the object
+
+ <p>
+ Must definitely be called before com::sun::star::lang::XComponent::dispose().
+ But nobody can guarantee real closing of called object - because it can disagree with that if any
+ still running processes can't be canceled yet. It's not allowed to block this call till internal
+ operations will be finished here. They must be canceled or call must return immediately by throwing
+ the CloseVetoException. Otherwise (if nothing exist to disagree) it must return normally.
+ </p>
+
+ <p>
+ Before any internal processes will be canceled, all registered XCloseListener
+ must be notified. Any of them can disagree with a CloseVetoException too.
+ It's forbidden to catch this exception inside the called close() method because the caller must
+ get this information!
+ </p>
+
+ <p>
+ If somewhere disagree with a CloseVetoException it will not clear who has to close the object again
+ after still running processes was finished. The parameter <var>DeliverOwnership</var> regulate that.
+ If it is set to `FALSE` the caller of the method close() will be the owner of this object in every case.
+ Then it's not allowed to call close() from any other place (may a registered XCloseListener).
+ If it is set to `TRUE` the caller gives up his ownership. If a XCloseListener throw the veto exception
+ he will be the new owner of the closing object. This information is passed to the listener by a parameter of
+ his notification method XCloseListener::queryClosing(). After his operations was finished
+ he MUST try to close it again. If the closing object itself disagree by an exception and the parameter
+ <var>DeliverOwnership</var> was set to `TRUE` the object will be his own owner with all consequences of that.
+ <br><strong>Note:</strong><br>
+ There is no way to get the ownership back if it was delivered!
+ </p>
+
+ <p>
+ If this method was already called on an object it should return without any reaction. Normally it's possible to throw
+ a com::sun::star::lang::DisposedException for already disposed or closed objects
+ (which represent a com::sun::star::uno::RuntimeException and can be thrown by every interface call),
+ but it shouldn't be used here. The veto exception should be the only way to indicates the result.
+ </p>
+
+ @param DeliverOwnership
+ `TRUE` delegates the ownership of this closing object to anyone which throw the CloseVetoException.
+ This new owner has to close the closing object again if his still running processes will be finished.
+ <br>
+ `FALSE` let the ownership at the original one which called the close() method. He must react for possible
+ CloseVetoExceptions and try it again at a later time. This can be useful for a generic UI handling.
+
+ @throws CloseVetoException
+ indicates that the closing object himself or any of his currently registered listener disagree with this close() request.
+
+ @see XCloseListener
+ @see CloseVetoException
+ @see com::sun::star::lang::XComponent::dispose()
+ @see com::sun::star::lang::DisposedException
+ */
+ void close( [in] boolean DeliverOwnership )
+ raises( CloseVetoException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XDataEditor.idl b/offapi/com/sun/star/util/XDataEditor.idl
new file mode 100644
index 000000000..09fa8397b
--- /dev/null
+++ b/offapi/com/sun/star/util/XDataEditor.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XDataEditor_idl__
+#define __com_sun_star_util_XDataEditor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/XDataEditorListener.idl>
+
+
+module com { module sun { module star { module util {
+
+/** connects to a model and broadcasts status change events.
+ */
+published interface XDataEditor: com::sun::star::uno::XInterface
+{
+ /** makes the data editor visible to the user.
+ */
+ void show();
+
+ /** connects the data editor to a data model.
+ */
+ void setModel( [in] com::sun::star::uno::XInterface model );
+
+ /** @returns
+ the data model which was set by XDataEditor::setModel().
+ */
+ com::sun::star::uno::XInterface getModel();
+
+ /** registers a listener to receive `DataEditorEvent`s.
+ */
+ void addDataEditorListener( [in] XDataEditorListener listener );
+
+ /** unregisters a listener.
+ */
+ void removeDataEditorListener( [in] XDataEditorListener listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XDataEditorListener.idl b/offapi/com/sun/star/util/XDataEditorListener.idl
new file mode 100644
index 000000000..019800bfe
--- /dev/null
+++ b/offapi/com/sun/star/util/XDataEditorListener.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XDataEditorListener_idl__
+#define __com_sun_star_util_XDataEditorListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/DataEditorEvent.idl>
+
+
+module com { module sun { module star { module util {
+
+/** makes it possible to receive status change events from an
+ XDataEditor.
+ */
+published interface XDataEditorListener: com::sun::star::uno::XInterface
+{
+ /** is called when the state of a connected XDataEditor changes.
+ */
+ void updateDataEditorState( [in] DataEditorEvent event );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XFlushListener.idl b/offapi/com/sun/star/util/XFlushListener.idl
new file mode 100644
index 000000000..9259f52eb
--- /dev/null
+++ b/offapi/com/sun/star/util/XFlushListener.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XFlushListener_idl__
+#define __com_sun_star_util_XFlushListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to receive <em>flushed</em> events.
+ */
+published interface XFlushListener: com::sun::star::lang::XEventListener
+{
+ /** is called when the object data is flushed.
+ */
+ void flushed( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XFlushable.idl b/offapi/com/sun/star/util/XFlushable.idl
new file mode 100644
index 000000000..d7f8e5ab2
--- /dev/null
+++ b/offapi/com/sun/star/util/XFlushable.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XFlushable_idl__
+#define __com_sun_star_util_XFlushable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/XFlushListener.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** is supported by objects with data that can be flushed to a data source.
+ */
+published interface XFlushable: com::sun::star::uno::XInterface
+{
+ /** flushes the data of the object to the connected data source.
+ */
+ void flush();
+
+ /** adds the specified listener to receive event "flushed."
+ */
+ void addFlushListener( [in] com::sun::star::util::XFlushListener l );
+
+ /** removes the specified listener.
+ */
+ void removeFlushListener( [in] com::sun::star::util::XFlushListener l );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XImportable.idl b/offapi/com/sun/star/util/XImportable.idl
new file mode 100644
index 000000000..6fa6b4ee7
--- /dev/null
+++ b/offapi/com/sun/star/util/XImportable.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XImportable_idl__
+#define __com_sun_star_util_XImportable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+/** makes it possible to import files into the object.
+ */
+published interface XImportable: com::sun::star::uno::XInterface
+{
+ /** @returns
+ a descriptor which contains the arguments for an import.
+ */
+ sequence<com::sun::star::beans::PropertyValue> createImportDescriptor( [in] boolean bEmpty );
+
+ /** imports data from an external database.
+ */
+ void doImport( [in] sequence<com::sun::star::beans::PropertyValue> aDescriptor );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XIndent.idl b/offapi/com/sun/star/util/XIndent.idl
new file mode 100644
index 000000000..f7557b1ef
--- /dev/null
+++ b/offapi/com/sun/star/util/XIndent.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XIndent_idl__
+#define __com_sun_star_util_XIndent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+/** allows indentation of the object to be changed.
+ */
+published interface XIndent: com::sun::star::uno::XInterface
+{
+ /** shifts the indentation by one default step to the left.
+ */
+ void decrementIndent();
+
+ /** shifts the indentation by one default step to the right.
+ */
+ void incrementIndent();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XJobManager.idl b/offapi/com/sun/star/util/XJobManager.idl
new file mode 100644
index 000000000..77dbc2ee4
--- /dev/null
+++ b/offapi/com/sun/star/util/XJobManager.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XJobManager_idl__
+#define __com_sun_star_util_XJobManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XCancellable.idl>
+
+module com { module sun { module star { module util {
+
+/** Manage cancelable jobs.
+
+ */
+published interface XJobManager: com::sun::star::uno::XInterface
+{
+ /** registers a cancelable job.
+ */
+ void registerJob( [in] com::sun::star::util::XCancellable Job );
+
+ /** deregisters a cancelable jobs.
+ */
+ void releaseJob( [in] com::sun::star::util::XCancellable Job );
+
+ /** cancel all registered jobs.
+ */
+ void cancelAllJobs();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XLinkUpdate.idl b/offapi/com/sun/star/util/XLinkUpdate.idl
new file mode 100644
index 000000000..71aa943cc
--- /dev/null
+++ b/offapi/com/sun/star/util/XLinkUpdate.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XLinkUpdate_idl__
+#define __com_sun_star_util_XLinkUpdate_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** allows initiating an update of linked parts of a document.
+
+ */
+published interface XLinkUpdate: com::sun::star::uno::XInterface
+{
+ /** initiates the reloading of all linked document content like linked graphics,
+ linked text sections.
+ */
+ void updateLinks();
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XLocalizedAliases.idl b/offapi/com/sun/star/util/XLocalizedAliases.idl
new file mode 100644
index 000000000..244c9b264
--- /dev/null
+++ b/offapi/com/sun/star/util/XLocalizedAliases.idl
@@ -0,0 +1,93 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XLocalizedAliases_idl__
+#define __com_sun_star_util_XLocalizedAliases_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+#include <com/sun/star/container/ElementExistException.idl>
+
+#include <com/sun/star/util/AliasProgrammaticPair.idl>
+
+module com { module sun { module star { module util {
+
+
+/** is the interface for binding programmatic names to aliases. Aliases
+ can be provided in several locales for the same programmatic name.
+ */
+published interface XLocalizedAliases: com::sun::star::uno::XInterface
+{
+
+ /** registers an alias for a programmatic name.
+ */
+ void bindAlias([in]string programmaticName,
+ [in]com::sun::star::lang::Locale locale,
+ [in]string alias)
+ raises (com::sun::star::container::ElementExistException);
+ /** revokes an alias for a programmatic name.
+ */
+ void unbindAlias([in]com::sun::star::lang::Locale locale,
+ [in]string alias)
+ raises (com::sun::star::container::NoSuchElementException);
+ /** retrieves a registered programmatic name identified by an alias.
+ */
+ string lookupAlias([in]com::sun::star::lang::Locale locale,
+ [in]string Alias)
+ raises (com::sun::star::container::NoSuchElementException);
+ /** retrieves a given alias for a programmatic name.
+ */
+ string lookupProgrammatic([in]com::sun::star::lang::Locale locale,
+ [in]string programmatic)
+ raises (com::sun::star::container::NoSuchElementException);
+ /** removes all aliases for a programmatic name.
+ */
+ void unbindAliases([in]string programmaticName)
+ raises (com::sun::star::container::NoSuchElementException);
+ /** rebinds all aliases registered to a given URL to a new one.
+ */
+ void rebindAliases([in]string currentProgrammatic,
+ [in]string newProgrammatic)
+ raises (com::sun::star::container::NoSuchElementException,
+ com::sun::star::container::ElementExistException);
+ /** renames an alias for a programmatic name.
+ */
+ void renameAlias([in]com::sun::star::lang::Locale locale,
+ [in]string oldName,
+ [in]string aNewName)
+ raises (com::sun::star::container::NoSuchElementException,
+ com::sun::star::container::ElementExistException);
+ /** retrieves a list of all registered aliases for a certain language.
+
+ @param locale
+ specifies the locale scope.
+
+ @returns
+ a sequence of registered pair of alias and programmatic name.
+ */
+ sequence<AliasProgrammaticPair> listAliases([in]com::sun::star::lang::Locale locale);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XLockable.idl b/offapi/com/sun/star/util/XLockable.idl
new file mode 100644
index 000000000..07165fd3f
--- /dev/null
+++ b/offapi/com/sun/star/util/XLockable.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XLockable_idl__
+#define __com_sun_star_util_XLockable_idl__
+
+#include <com/sun/star/util/NotLockedException.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** allows locking a component
+
+ <p><code>lock</code> and <code>unlock</code> calls can be nested. However, they must be in
+ pairs. As long as there has been one more call to <code>lock</code> than to <code>unlock</code>, the
+ component is considered locked, which is reflected by isLocked() returning `TRUE`.</p>
+ */
+interface XLockable
+{
+ /** locks</a> the component
+
+ @see unlock
+ @see isLocked
+ */
+ void lock();
+
+ /** unlocks the component
+
+ @throws NotLockedException
+ if the component is not currently locked.
+
+ @see lock
+ @see isLocked
+ */
+ void unlock()
+ raises ( NotLockedException
+ );
+
+ /** determines whether the component is currently locked.
+
+ @see lock
+ @see unlock
+ */
+ boolean isLocked();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XMergeable.idl b/offapi/com/sun/star/util/XMergeable.idl
new file mode 100644
index 000000000..3a099c445
--- /dev/null
+++ b/offapi/com/sun/star/util/XMergeable.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XMergeable_idl__
+#define __com_sun_star_util_XMergeable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** represents a range of cells that can be merged.
+ */
+published interface XMergeable: com::sun::star::uno::XInterface
+{
+ /** merges/unmerges the area specified by this object.
+ */
+ void merge( [in] boolean bMerge );
+
+ /** @returns
+ `TRUE` if the area specified by this object is merged,
+ or `FALSE` otherwise.
+ */
+ boolean getIsMerged();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModeChangeApproveListener.idl b/offapi/com/sun/star/util/XModeChangeApproveListener.idl
new file mode 100644
index 000000000..dc1cec631
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeChangeApproveListener.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XModeChangeApproveListener_idl__
+#define __com_sun_star_util_XModeChangeApproveListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/util/ModeChangeEvent.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** allows to veto changes in an object's internal mode.
+
+ @see XModeChangeBroadcaster
+
+ @since OOo 1.1.2
+*/
+published interface XModeChangeApproveListener : com::sun::star::lang::XEventListener
+{
+ /** indicates that the mode of the broadcasting component is about to change.
+
+ <p>The ModeChangeEvent::NewMode indicates the new mode which
+ is to be set on the component</p>
+
+ @throws VetoException
+ when the mode change is vetoed
+ */
+ void approveModeChange( [in] ModeChangeEvent rSource )
+ raises ( VetoException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModeChangeBroadcaster.idl b/offapi/com/sun/star/util/XModeChangeBroadcaster.idl
new file mode 100644
index 000000000..3cb0cefef
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeChangeBroadcaster.idl
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XModeChangeBroadcaster_idl__
+#define __com_sun_star_util_XModeChangeBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+#include <com/sun/star/util/XModeChangeListener.idl>
+#include <com/sun/star/util/XModeChangeApproveListener.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** broadcasts changes in an object's internal mode.
+
+ @see XModeSelector
+ @see XModeChangeListener
+ @see XModeChangeApproveListener
+
+ @since OOo 1.1.2
+*/
+published interface XModeChangeBroadcaster : com::sun::star::uno::XInterface
+{
+ /** adds the given listener to the list of components to be notified when the mode
+ changes.
+ */
+ void addModeChangeListener( [in] XModeChangeListener rxListener );
+
+ /** removes the given listener from the list of components to be notified when the mode
+ changes.
+ */
+ void removeModeChangeListener( [in] XModeChangeListener rxListener );
+
+ /** adds the given listener to the list of components to be notified when the mode
+ is about to change.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the component does not allow vetoing mode changes
+ */
+ void addModeChangeApproveListener( [in] XModeChangeApproveListener rxListener )
+ raises( com::sun::star::lang::NoSupportException );
+
+ /** remove the given listener from the list of components to be notified when the mode
+ is about to change.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the component does not allow vetoing mode changes
+ */
+ void removeModeChangeApproveListener( [in] XModeChangeApproveListener rxListener )
+ raises( com::sun::star::lang::NoSupportException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModeChangeListener.idl b/offapi/com/sun/star/util/XModeChangeListener.idl
new file mode 100644
index 000000000..634a2198e
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeChangeListener.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XModeChangeListener_idl__
+#define __com_sun_star_util_XModeChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/util/ModeChangeEvent.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** allows to listen for changes in an object's internal mode.
+
+ @see XModeChangeBroadcaster
+
+ @since OOo 1.1.2
+*/
+published interface XModeChangeListener : com::sun::star::lang::XEventListener
+{
+ /** indicates that the mode of the broadcasting component has changed.
+ */
+ void modeChanged( [in] ModeChangeEvent rSource );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModeSelector.idl b/offapi/com/sun/star/util/XModeSelector.idl
new file mode 100644
index 000000000..c679d24c9
--- /dev/null
+++ b/offapi/com/sun/star/util/XModeSelector.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XModeSelector_idl__
+#define __com_sun_star_util_XModeSelector_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/NoSupportException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** is supported by objects which supply different modes.
+ */
+published interface XModeSelector: com::sun::star::uno::XInterface
+{
+ /** sets a new mode for the implementing object.
+ */
+ void setMode( [in] string aMode )
+ raises( com::sun::star::lang::NoSupportException );
+
+ /** @returns
+ the current mode.
+ */
+ string getMode();
+
+ /** @returns
+ a sequence of all supported modes.
+ */
+ sequence<string> getSupportedModes();
+
+ /** asks whether a mode is supported or not.
+ */
+ boolean supportsMode( [in] string aMode );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModifiable.idl b/offapi/com/sun/star/util/XModifiable.idl
new file mode 100644
index 000000000..372fbf506
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifiable.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XModifiable_idl__
+#define __com_sun_star_util_XModifiable_idl__
+
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes the modify state of the object accessible.
+
+ <p>Additionally, it makes it possible to register listener objects, which
+ get notification whenever the status or content of the object changes. </p>
+ */
+published interface XModifiable: com::sun::star::util::XModifyBroadcaster
+{
+ /** @returns
+ `TRUE` if the object is modified.
+
+ <p>The modification is always in relation to a certain state
+ (i.e., the initial, loaded, or last stored version).
+ */
+ boolean isModified();
+
+ /** sets the status of the <em>modified</em>-flag from outside of the
+ object.
+ */
+ void setModified( [in] boolean bModified )
+ raises( com::sun::star::beans::PropertyVetoException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModifiable2.idl b/offapi/com/sun/star/util/XModifiable2.idl
new file mode 100644
index 000000000..895c974ae
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifiable2.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XModifiable2_idl__
+#define __com_sun_star_util_XModifiable2_idl__
+
+#include <com/sun/star/util/XModifiable.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** allows to control modifiable state change.
+
+ <p>
+ This interface allows to prevent changing of the modified state of the
+ object. It is introduced for performance optimizations, to allow to prevent
+ unnecessary updates, for example while importing a document.
+ Please use this interface very carefully.
+ </p>
+ */
+interface XModifiable2: com::sun::star::util::XModifiable
+{
+ /** disable possibility to change modified state of the document
+
+ @returns the value that says whether the modified state change was
+ enabled before the call
+ `TRUE` the changing of the modified state was already disabled
+ `FALSE` the changing of the modified state was enabled
+
+ */
+ boolean disableSetModified();
+
+ /** enable possibility to change modified state of the document
+
+ @returns the value that says whether the modified state change was
+ enabled before the call
+ `TRUE` the changing of the modified state was disabled
+ `FALSE` the changing of the modified state was already enabled
+ */
+ boolean enableSetModified();
+
+ /** allows to detect whether the modified state change is enabled
+ */
+ boolean isSetModifiedEnabled();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModifyBroadcaster.idl b/offapi/com/sun/star/util/XModifyBroadcaster.idl
new file mode 100644
index 000000000..9d9077725
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifyBroadcaster.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XModifyBroadcaster_idl__
+#define __com_sun_star_util_XModifyBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/XModifyListener.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** broadcasts each modification made on the date data of the object which
+ supports this interface.
+
+ <p>The modified object must post the modification events immediately
+ after the modification is performed.</p>
+ */
+published interface XModifyBroadcaster: com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive events "modified."
+ */
+ void addModifyListener( [in] com::sun::star::util::XModifyListener aListener );
+
+ /** removes the specified listener.
+ */
+ void removeModifyListener( [in] com::sun::star::util::XModifyListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XModifyListener.idl b/offapi/com/sun/star/util/XModifyListener.idl
new file mode 100644
index 000000000..c6804d483
--- /dev/null
+++ b/offapi/com/sun/star/util/XModifyListener.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XModifyListener_idl__
+#define __com_sun_star_util_XModifyListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to receive events when a model object changes.
+ */
+published interface XModifyListener: com::sun::star::lang::XEventListener
+{
+ /** is called when something changes in the object.
+
+ <p>Due to such an event, it may be necessary to update views or
+ controllers. </p>
+
+ <p>The source of the event may be the content of the object to
+ which the listener is registered.</p>
+ */
+ void modified( [in] com::sun::star::lang::EventObject aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormatPreviewer.idl b/offapi/com/sun/star/util/XNumberFormatPreviewer.idl
new file mode 100644
index 000000000..00db87678
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatPreviewer.idl
@@ -0,0 +1,112 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XNumberFormatPreviewer_idl__
+#define __com_sun_star_util_XNumberFormatPreviewer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+#include <com/sun/star/util/MalformedNumberFormatException.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** represents a number formatter which can preview number
+ formats without inserting them.
+
+ @see NumberFormatter
+ */
+published interface XNumberFormatPreviewer: com::sun::star::uno::XInterface
+{
+
+ /** formats a value using a format string, without inserting a
+ number format into the list.
+
+ @param aFormat
+ is the format string that is used for formatting.
+
+ @param fValue
+ is the value that is formatted.
+
+ @param nLocale
+ is the locale that is used to interpret the format string.
+
+ @param bAllowEnglish
+ specifies if English language number format strings are accepted
+ in addition to those from the selected locale.
+
+ @returns
+ the formatted string.
+
+ @throws com::sun::star::util::MalformedNumberFormatException
+ if the format string is invalid.
+
+ */
+ string convertNumberToPreviewString( [in] string aFormat,
+ [in] double fValue,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] boolean bAllowEnglish )
+ raises( com::sun::star::util::MalformedNumberFormatException );
+
+
+ /** returns the color which is to be used for a number.
+
+ @param aFormat
+ is the format string that is used for formatting.
+
+ @param fValue
+ is the value that is formatted.
+
+ @param nLocale
+ is the locale that is used to interpret the format string.
+
+ @param bAllowEnglish
+ specifies if English language number format strings are accepted
+ in addition to those from the selected locale.
+
+ @param aDefaultColor
+ is the color that should be returned if no color is set by
+ the number format.
+
+ @returns
+ the color that should used to output the formatted string.
+
+ @throws com::sun::star::util::MalformedNumberFormatException
+ if the format string is invalid.
+
+ */
+ com::sun::star::util::Color queryPreviewColorForNumber( [in] string aFormat,
+ [in] double fValue,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] boolean bAllowEnglish,
+ [in] com::sun::star::util::Color aDefaultColor )
+ raises( com::sun::star::util::MalformedNumberFormatException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormatTypes.idl b/offapi/com/sun/star/util/XNumberFormatTypes.idl
new file mode 100644
index 000000000..b281710fa
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatTypes.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XNumberFormatTypes_idl__
+#define __com_sun_star_util_XNumberFormatTypes_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** represents functions to get specific, predefined number formats.
+ */
+published interface XNumberFormatTypes: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the key of the standard format for a locale.
+ */
+ long getStandardIndex( [in] com::sun::star::lang::Locale nLocale );
+
+
+ /** @returns
+ the key of the standard format within a specified type for a given locale.
+
+ @param nType
+ the type of the number format. Must be one of the
+ NumberFormat constants.
+ @param nLocale
+ the locale for which the number format is requested.
+
+ */
+ long getStandardFormat( [in] short nType,
+ [in] com::sun::star::lang::Locale nLocale );
+
+
+ /** @returns
+ the key of a built-in format for a locale:
+
+ @param nIndex
+ the index of the wanted number format within the formats for
+ the given locale. One of the
+ com::sun::star::i18n::NumberFormatIndex
+ constants.
+ @param nLocale
+ the locale for which the key is requested.
+ */
+ long getFormatIndex( [in] short nIndex,
+ [in] com::sun::star::lang::Locale nLocale );
+
+
+ /** verifies if one type of number format is compatible with another type.
+ */
+ boolean isTypeCompatible( [in] short nOldType,
+ [in] short nNewType );
+
+
+ /** @returns
+ the index of the converted number format if successful,
+ the old index if the number format could not be converted.
+
+ @param nKey
+ index of the old number format
+
+ @param nLocale
+ the locale to which the number format is converted
+ */
+ long getFormatForLocale( [in] long nKey,
+ [in] com::sun::star::lang::Locale nLocale );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormats.idl b/offapi/com/sun/star/util/XNumberFormats.idl
new file mode 100644
index 000000000..8e4bcbe69
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormats.idl
@@ -0,0 +1,179 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XNumberFormats_idl__
+#define __com_sun_star_util_XNumberFormats_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/lang/Locale.idl>
+
+#include <com/sun/star/util/MalformedNumberFormatException.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** provides access to multiple NumberFormats.
+
+ The number formats are managed by their unique key in the document.
+ */
+published interface XNumberFormats: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ a readonly NumberFormatProperties.
+
+ @param nKey
+ the key for the format
+ */
+ com::sun::star::beans::XPropertySet getByKey( [in] long nKey );
+
+
+ /** @returns
+ a sequence of the keys of all number formats with the specified type and language.
+
+ @param nType
+ the type of number formats to return. Must be one of the
+ NumberFormat constants.
+
+ @param nLocale
+ the locale of number formats to return.
+
+ @param bCreate
+ `TRUE`: create new entries if no formats for the selected language exist<BR>
+ `FALSE`: return an empty list if no formats for the selected language exist
+ */
+ sequence<long> queryKeys( [in] short nType,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] boolean bCreate );
+
+
+ /** finds a number format by its format string and returns its key.
+
+ @returns
+ the key for the format if found, otherwise -1.
+
+ @param aFormat
+ the string representation of the number format
+
+ @param nLocale
+ the locale for number formats to find
+
+ @param bScan
+ reserved for future use and should be set to false
+ */
+ long queryKey( [in] string aFormat,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] boolean bScan );
+
+
+ /** adds a new number format to the list, using a format string.
+
+ @returns
+ the key for new number format
+
+ @param aFormat
+ the string representation of the number format
+
+ @param nLocale
+ the locale for the number format
+
+ @throws com::sun::star::util::MalformedNumberFormatException
+ if incorrect number format is specified
+ */
+ long addNew( [in] string aFormat,
+ [in] com::sun::star::lang::Locale nLocale )
+ raises( com::sun::star::util::MalformedNumberFormatException );
+
+
+ /** adds a new number format to the list, using a format
+ string in a different locale than the desired locale of the
+ resulting number format.
+
+ @returns
+ the key for added number format
+
+ @param aFormat
+ the key for the number format
+
+ @param nLocale
+ the original locale for the number format
+
+ @param nNewLocale
+ the new locale for the number format to be converted
+
+ @throws com::sun::star::util::MalformedNumberFormatException
+ if incorrect number format is specified
+ */
+ long addNewConverted( [in] string aFormat,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] com::sun::star::lang::Locale nNewLocale )
+ raises( com::sun::star::util::MalformedNumberFormatException );
+
+
+ /** removes a number format from the list.
+
+ @param nKey
+ the key for the numberformat
+ */
+ void removeByKey( [in] long nKey );
+
+
+ /** generates a format string from several parameters without
+ creating an actual number format.
+
+ @returns
+ the string representation for the number format
+
+ @param nBaseKey
+ the key for the number format to be used as base format
+
+ @param nLocale
+ the locale for the number format
+
+ @param bThousands
+ the thousands separator is shown or not
+
+ @param bRed
+ show negative number in red colored if `TRUE`
+
+ @param nDecimals
+ how many digits are shown after the decimal point
+
+ @param nLeading
+ how many number of leading zeros are shown
+ */
+ string generateFormat( [in] long nBaseKey,
+ [in] com::sun::star::lang::Locale nLocale,
+ [in] boolean bThousands,
+ [in] boolean bRed,
+ [in] short nDecimals,
+ [in] short nLeading );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormatsSupplier.idl b/offapi/com/sun/star/util/XNumberFormatsSupplier.idl
new file mode 100644
index 000000000..9ef6a72e7
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatsSupplier.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
+#define __com_sun_star_util_XNumberFormatsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/XNumberFormats.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** supplies the collection of NumberFormats (for example, in a
+ document) and the settings belonging to these formats.
+ */
+published interface XNumberFormatsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the NumberFormatSettings of this object.
+ */
+ com::sun::star::beans::XPropertySet getNumberFormatSettings();
+
+
+ /** @returns
+ the collection of number formats belonging to this object (e.g., to this document).
+ */
+ com::sun::star::util::XNumberFormats getNumberFormats();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormatter.idl b/offapi/com/sun/star/util/XNumberFormatter.idl
new file mode 100644
index 000000000..dd32f4862
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatter.idl
@@ -0,0 +1,117 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XNumberFormatter_idl__
+#define __com_sun_star_util_XNumberFormatter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+
+#include <com/sun/star/util/NotNumericException.idl>
+
+
+
+ module com { module sun { module star { module util {
+
+
+/** represents a number formatter.
+ */
+published interface XNumberFormatter: com::sun::star::uno::XInterface
+{
+
+ /** attaches an XNumberFormatsSupplier to this
+ NumberFormatter.
+
+ <p>This NumberFormatter will only use the NumberFormats
+ specified in the attached XNumberFormatsSupplier. Without an attached
+ XNumberFormatsSupplier, no formatting is possible.</p>
+ */
+ void attachNumberFormatsSupplier( [in] com::sun::star::util::XNumberFormatsSupplier xSupplier );
+
+
+ /** @returns
+ the attached XNumberFormatsSupplier.
+ */
+ com::sun::star::util::XNumberFormatsSupplier getNumberFormatsSupplier();
+
+
+ /** detects the number format in a string which contains a formatted number.
+ */
+ long detectNumberFormat( [in] long nKey,
+ [in] string aString )
+ raises( com::sun::star::util::NotNumericException );
+
+
+ /** converts a string which contains a formatted number into a number.
+
+ <p>If this is a text format, the string will not be converted.</p>
+ */
+ double convertStringToNumber( [in] long nKey,
+ [in] string aString )
+ raises( com::sun::star::util::NotNumericException );
+
+
+ /** converts a number into a string.
+ */
+ string convertNumberToString( [in] long nKey,
+ [in] double fValue );
+
+
+ /** @returns
+ the color which is specified for the given value in the number format,
+ which is otherwise the value of <var>aDefaultColor</var>.
+ */
+ com::sun::star::util::Color queryColorForNumber( [in] long nKey,
+ [in] double fValue,
+ [in] com::sun::star::util::Color aDefaultColor );
+
+
+ /** converts a string into another string.
+ */
+ string formatString( [in] long nKey,
+ [in] string aString );
+
+
+ /** @returns
+ the color which is specified for the given string in the number format,
+ which is otherwise the value of <var>aDefaultColor</var>.
+ */
+ com::sun::star::util::Color queryColorForString( [in] long nKey,
+ [in] string aString,
+ [in] com::sun::star::util::Color aDefaultColor );
+
+
+ /** converts a number into a string with the specified format.
+
+ <p>This string can always be converted back to a number using the same
+ format.
+ </p>
+ */
+ string getInputString( [in] long nKey,
+ [in] double fValue );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XNumberFormatter2.idl b/offapi/com/sun/star/util/XNumberFormatter2.idl
new file mode 100644
index 000000000..e9299eb80
--- /dev/null
+++ b/offapi/com/sun/star/util/XNumberFormatter2.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XNumberFormatter2_idl__
+#define __com_sun_star_util_XNumberFormatter2_idl__
+
+#include <com/sun/star/util/XNumberFormatter.idl>
+#include <com/sun/star/util/XNumberFormatPreviewer.idl>
+
+module com { module sun { module star { module util {
+
+/**
+ Provides a unified interface for the NumberFormatter service to implement.
+
+ @since LibreOffice 4.0
+*/
+published interface XNumberFormatter2
+{
+
+ /** is used to format or parse numbers using formats from a
+ NumberFormats object.
+ */
+ interface com::sun::star::util::XNumberFormatter;
+
+ /** is used to format numbers using a number format string
+ that is not inserted into a NumberFormats object.
+ */
+ interface com::sun::star::util::XNumberFormatPreviewer;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl
new file mode 100644
index 000000000..e9dc1e61f
--- /dev/null
+++ b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl
@@ -0,0 +1,102 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XOfficeInstallationDirectories_idl__
+#define __com_sun_star_util_XOfficeInstallationDirectories_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+
+/** encapsulates access to the current office installation directory and
+ office user data directory, provides functionality to create URLs
+ containing relocatable (not absolute) references to the current office
+ installation directory and user data directory and vice versa.
+
+ <p>This functionality is useful when data containing references to the
+ current office installation directory must be made persistent and re-read
+ later. In many cases, storing the reference directly would destroy the
+ relocatability of an office installation.
+
+ @since OOo 2.0
+ */
+published interface XOfficeInstallationDirectories : com::sun::star::uno::XInterface
+{
+ /** returns the absolute URL containing the directory of the current office
+ installation (for example "file:///opt/LibreOffice")
+
+ @returns
+ the absolute URL containing the directory of the current office
+ installation.
+ */
+ string getOfficeInstallationDirectoryURL();
+
+ /** returns the absolute URL containing the directory where the current
+ office installation expects its user data (for example
+ "file:///home/kso/.config/libreoffice/4")
+
+ @returns
+ the absolute URL containing the directory of the current office
+ user data.
+ */
+ string getOfficeUserDataDirectoryURL();
+
+ /** calculates a relocatable URL from the given URL.
+
+ <p>If the given URL contains an absolute reference to the current office
+ installation directory or office user data directory, this method will
+ replace the absolute reference by an opaque placeholder string.
+ <code>makeRelocatableURL</code> must be used in order to re-replace the
+ placeholder by an absolute reference.
+
+ @param URL
+ The URL for that a relocatable URL is requested. In case the URL does
+ not contain a reference to the current office installation or to the office
+ user data directory, the input URL will be returned unchanged.
+
+ @returns
+ The relocatable URL.
+ */
+ string makeRelocatableURL( [in] string URL );
+
+ /** the counterpart of <code>makeRelocatableURL</code>.
+
+ <p>If the given URL contains a placeholder for an absolute reference to
+ the current office installation directory or for the office user data
+ directory, that was created using <code>makeRelocatableURL</code>, the
+ respective placeholder will be replaced by an absolute reference to the
+ current office installation directory or office user data directory.
+
+ @param URL
+ The URL for that an absolute URL is requested. In case the URL does
+ not contain the opaque relocation placeholder used by
+ <code>makeRelocatableURL</code>, the input URL will be returned
+ unchanged.
+
+ @returns
+ The absolute URL.
+ */
+ string makeAbsoluteURL( [in] string URL );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XPathSettings.idl b/offapi/com/sun/star/util/XPathSettings.idl
new file mode 100644
index 000000000..d54c12269
--- /dev/null
+++ b/offapi/com/sun/star/util/XPathSettings.idl
@@ -0,0 +1,139 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XPathSettings_idl__
+#define __com_sun_star_util_XPathSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published interface XPathSettings
+{
+ /** Main interface to have access to the path properties. */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** Specifies the directory that contains spreadsheet add-ins which use
+ the old add-in API */
+ [attribute] string Addin;
+
+ /** The settings of the AutoCorrect dialog. The value can be more than
+ one path separated by a semicolon.
+ */
+ [attribute] string AutoCorrect;
+
+ /**The directory which contains the AutoText modules. The value can be more than
+ one path separated by a semicolon.*/
+ [attribute] string AutoText;
+
+ /** Automatic backup copies of documents are stored here. */
+ [attribute] string Backup;
+
+ /** The Basic files, used by the AutoPilots, can be found here. The value can be more than
+ one path separated by a semicolon.*/
+ [attribute] string Basic;
+
+ /** This directory contains the icons for the toolbars. */
+ [attribute] string Bitmap;
+
+ /** The configuration files are located here. This entry cannot be changed
+ by the user in Office user interface. */
+ [attribute] string Config;
+
+ /** The provided dictionaries are stored here. */
+ [attribute] string Dictionary;
+
+ /** Path to save folder bookmarks */
+ [attribute] string Favorite;
+
+ /** Specifies the directory where all the filters are stored. */
+ [attribute] string Filter;
+
+ /** Specifies the directories which contains the Gallery
+ database and multimedia files. The value can be more than
+ one path separated by a semicolon.*/
+ [attribute] string Gallery;
+
+ /** This directory is displayed when the dialog for opening a graphic
+ or for saving a new graphic is called. */
+ [attribute] string Graphic;
+
+ /** The path to the Office help files. */
+ [attribute] string Help;
+
+ /** The files that are necessary for the spell check are saved here. */
+ [attribute] string Linguistic;
+
+ /** This is the path for the modules. */
+ [attribute] string Module;
+
+ /** This is the path to the palette files *.SOB to *.SOF containing
+ user-defined colors and patterns. The value can be more than
+ one path separated by a semicolon.*/
+ [attribute] string Palette;
+
+ /** Plugins are saved in these directories. The value can be more than
+ one path separated by a semicolon.*/
+ [attribute] string Plugin;
+
+ /** Mail, News files and other information (for example, about FTP Server)
+ are stored here.*/
+ [attribute] string Storage;
+
+ /** The base url to the office temp-files */
+ [attribute] string Temp;
+
+ /** The templates originate from these folders and sub-folders. The value
+ can be more than one path separated by a semicolon.*/
+ [attribute] string Template;
+
+ /** Global directories to look for user interface configuration files. The
+ user interface configuration will be merged with user settings stored
+ in the directory specified by <var>UserConfig</var>. The value can be more
+ than one path separated by a semicolon.*/
+ [attribute] string UIConfig;
+
+ /** Specifies the folder with the user settings. */
+ [attribute] string UserConfig;
+
+ /** The custom dictionaries are contained here.
+ * @deprecated
+ * */
+ [attribute] string UserDictionary;
+
+ /** The path of the work folder can be modified according to the
+ user's needs. The path specified here can be seen in the Open
+ or Save dialog. */
+ [attribute] string Work;
+
+ [attribute] string BasePathShareLayer;
+ [attribute] string BasePathUserLayer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XPropertyReplace.idl b/offapi/com/sun/star/util/XPropertyReplace.idl
new file mode 100644
index 000000000..cf46f5762
--- /dev/null
+++ b/offapi/com/sun/star/util/XPropertyReplace.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XPropertyReplace_idl__
+#define __com_sun_star_util_XPropertyReplace_idl__
+
+#include <com/sun/star/util/XReplaceDescriptor.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to search and replace properties.
+ */
+published interface XPropertyReplace: com::sun::star::util::XReplaceDescriptor
+{
+ /** provides the information if specific property values are
+ searched, or just the existence of the specified properties.
+ */
+ boolean getValueSearch();
+
+ /** specifies if specific property values are searched,
+ or just the existence of the specified properties.
+ */
+ void setValueSearch( [in] boolean bValueSearch );
+
+ /** @returns
+ the attributes to search for.
+ */
+ sequence<com::sun::star::beans::PropertyValue> getSearchAttributes();
+
+ /** sets the properties to search for.
+ */
+ void setSearchAttributes( [in] sequence<com::sun::star::beans::PropertyValue> aSearchAttribs )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::IllegalArgumentException );
+
+ /** @returns
+ the attribute values which are used to replace the found occurrences.
+ */
+ sequence<com::sun::star::beans::PropertyValue> getReplaceAttributes();
+
+ /** sets the properties to replace the found occurrences.
+ */
+ void setReplaceAttributes( [in] sequence<com::sun::star::beans::PropertyValue> aSearchAttribs )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XProtectable.idl b/offapi/com/sun/star/util/XProtectable.idl
new file mode 100644
index 000000000..62e8b123b
--- /dev/null
+++ b/offapi/com/sun/star/util/XProtectable.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XProtectable_idl__
+#define __com_sun_star_util_XProtectable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to protect objects from modifications.
+ */
+published interface XProtectable: com::sun::star::uno::XInterface
+{
+ /** activates the protection.
+
+ @param aPassword
+ a string to specify new password.
+ */
+ void protect( [in] string aPassword );
+
+ /** removes the protection.
+
+ @param aPassword
+ a string to match with the current password.
+ @throws com::sun::star::lang::IllegalArgumentException
+ if invalid password is specified.
+ */
+ void unprotect( [in] string aPassword )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** @returns
+ the current state of protection.
+ */
+ boolean isProtected();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XRefreshListener.idl b/offapi/com/sun/star/util/XRefreshListener.idl
new file mode 100644
index 000000000..739db4ddf
--- /dev/null
+++ b/offapi/com/sun/star/util/XRefreshListener.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XRefreshListener_idl__
+#define __com_sun_star_util_XRefreshListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to receive <em>refreshed</em> events.
+ */
+published interface XRefreshListener: com::sun::star::lang::XEventListener
+{
+ /** is called when the object data is refreshed.
+ */
+ void refreshed( [in] com::sun::star::lang::EventObject rEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XRefreshable.idl b/offapi/com/sun/star/util/XRefreshable.idl
new file mode 100644
index 000000000..0ce24272f
--- /dev/null
+++ b/offapi/com/sun/star/util/XRefreshable.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XRefreshable_idl__
+#define __com_sun_star_util_XRefreshable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/XRefreshListener.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** is supported by objects with data that can be refreshed from a data source.
+ */
+published interface XRefreshable: com::sun::star::uno::XInterface
+{
+ /** refreshes the data of the object from the connected data source.
+ */
+ void refresh();
+
+ /** adds the specified listener to receive the event "refreshed."
+ */
+ void addRefreshListener( [in] com::sun::star::util::XRefreshListener l );
+
+ /** removes the specified listener.
+ */
+ void removeRefreshListener( [in] com::sun::star::util::XRefreshListener l );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XReplaceDescriptor.idl b/offapi/com/sun/star/util/XReplaceDescriptor.idl
new file mode 100644
index 000000000..a2a3bec04
--- /dev/null
+++ b/offapi/com/sun/star/util/XReplaceDescriptor.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XReplaceDescriptor_idl__
+#define __com_sun_star_util_XReplaceDescriptor_idl__
+
+#include <com/sun/star/util/XSearchDescriptor.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** specifies a string replace operation.
+ */
+published interface XReplaceDescriptor: com::sun::star::util::XSearchDescriptor
+{
+ /** @returns
+ the string which replaces the found occurrences.
+ */
+ string getReplaceString();
+
+ /** sets the string which replaces the found occurrences.
+ */
+ void setReplaceString( [in] string aReplaceString );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XReplaceable.idl b/offapi/com/sun/star/util/XReplaceable.idl
new file mode 100644
index 000000000..4a3d00841
--- /dev/null
+++ b/offapi/com/sun/star/util/XReplaceable.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XReplaceable_idl__
+#define __com_sun_star_util_XReplaceable_idl__
+
+#include <com/sun/star/util/XSearchable.idl>
+
+#include <com/sun/star/util/XReplaceDescriptor.idl>
+
+#include <com/sun/star/util/XSearchDescriptor.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to replace strings in a text described by a
+ SearchDescriptor.
+
+ Example: replace all bold words "search for" by "look for"
+
+ @code{.py}
+ xReplaceDescr = xDocument.createReplaceDescriptor()
+ xReplaceDescr.SearchString = "search for"
+ xReplaceDescr.ReplaceString = "look for"
+ xFound = xDocument.replaceAll( xReplaceDescr )
+ @endcode
+ */
+published interface XReplaceable: com::sun::star::util::XSearchable
+{
+ /** creates a descriptor which contains properties that
+ specify a search in this container.@see SearchDescriptor
+ */
+ com::sun::star::util::XReplaceDescriptor createReplaceDescriptor();
+
+ /** searches for all occurrences of whatever is specified.@see SearchDescriptor
+ */
+ long replaceAll( [in] com::sun::star::util::XSearchDescriptor xDesc );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XSearchDescriptor.idl b/offapi/com/sun/star/util/XSearchDescriptor.idl
new file mode 100644
index 000000000..30535d07c
--- /dev/null
+++ b/offapi/com/sun/star/util/XSearchDescriptor.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XSearchDescriptor_idl__
+#define __com_sun_star_util_XSearchDescriptor_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** specifies a string search operation.
+ */
+published interface XSearchDescriptor: com::sun::star::beans::XPropertySet
+{
+ /** @returns
+ the string of characters to search for.
+ */
+ string getSearchString();
+
+ /** sets the string of characters to look for.
+ */
+ void setSearchString( [in] string aString );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XSearchable.idl b/offapi/com/sun/star/util/XSearchable.idl
new file mode 100644
index 000000000..b470815fe
--- /dev/null
+++ b/offapi/com/sun/star/util/XSearchable.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XSearchable_idl__
+#define __com_sun_star_util_XSearchable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/util/XSearchDescriptor.idl>
+
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** enables the object to look for specified contents of the object
+ (in particular, for a text range which contains a specific string pattern).
+
+ Example:
+ in a com::sun::star::text::TextDocument:
+ set all "search for" to bold using findFirst()/findNext():
+
+ @code{.bas}
+ xSearchDescr = xDocument.createSearchDescriptor()
+ xSearchDescr.SearchString = "search for"
+ xSearchDescr.SearchCaseSensitive = true
+ xSearchDescr.SearchWords = true
+ xFound = xDocument.findFirst( xSearchDescr )
+ do while not IsNull(xFound)
+ xFound.CharWeight = com.sun.star.awt.FontWeight.BOLD
+ xFound = xDocument.findNext( xFound.End, xSearchDescr )
+ loop
+ @endcode
+
+ */
+published interface XSearchable: com::sun::star::uno::XInterface
+{
+ /** creates a SearchDescriptor which contains properties that
+ specify a search in this container.@see SearchDescriptor
+ */
+ com::sun::star::util::XSearchDescriptor createSearchDescriptor();
+
+ /** searches the contained texts for all occurrences of whatever is specified.@see SearchDescriptor
+ */
+ com::sun::star::container::XIndexAccess findAll( [in] com::sun::star::util::XSearchDescriptor xDesc );
+
+ /** searches the contained texts for the next occurrence of whatever is specified.
+
+ @returns
+ the position within the component, e.g. a com::sun::star::text::XTextRange
+ which determines the found elements.
+
+ @see SearchDescriptor
+ */
+ com::sun::star::uno::XInterface findFirst( [in] com::sun::star::util::XSearchDescriptor xDesc );
+
+ /** searches the contained texts for the next occurrence of whatever is specified.
+
+ @param xStartAt
+ represents a position within the component at which the search continues.
+ This position is returned by XSearchable::findFirst() or
+ the previous XSearchable::findNext().
+ @param xDesc
+ the descriptor used for searching.
+
+ @see SearchDescriptor
+ */
+ com::sun::star::uno::XInterface findNext( [in] com::sun::star::uno::XInterface xStartAt,
+ [in] com::sun::star::util::XSearchDescriptor xDesc );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XSortable.idl b/offapi/com/sun/star/util/XSortable.idl
new file mode 100644
index 000000000..7093a0469
--- /dev/null
+++ b/offapi/com/sun/star/util/XSortable.idl
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XSortable_idl__
+#define __com_sun_star_util_XSortable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** makes it possible to sort the contents of this object.
+
+ <p>The available properties describing the sort criteria are
+ defined in the sort descriptor implemented by the object that
+ implements this interface.</p>
+
+ <p>There are older deprecated sort descriptors:</p>
+ <ul>
+ <li>com::sun::star::util::SortDescriptor</li>
+ <li>com::sun::star::table::TableSortDescriptor</li>
+ <li>com::sun::star::text::TextSortDescriptor</li>
+ </ul>
+
+ <p>And a new set of sort descriptors:</p>
+ <ul>
+ <li>com::sun::star::util::SortDescriptor2</li>
+ <li>com::sun::star::table::TableSortDescriptor2</li>
+ <li>com::sun::star::text::TextSortDescriptor2</li>
+ </ul>
+
+ <p>Both types may be implemented by the same object.
+ When calling the sort method however properties from different
+ descriptors must not be mixed.</p>
+ */
+published interface XSortable: com::sun::star::uno::XInterface
+{
+ /** @returns
+ a sequence of properties which allows to specify/modify the
+ sort criteria.
+
+ <p>The set of properties is specific to the type of object that
+ implements this interface. Therefore they can usually be used
+ only for objects of that same type.</p>
+
+ @see com::sun::star::util::SortDescriptor
+ @see com::sun::star::table::TableSortDescriptor
+ @see com::sun::star::text::TextSortDescriptor
+ @see com::sun::star::util::SortDescriptor2
+ @see com::sun::star::table::TableSortDescriptor2
+ @see com::sun::star::text::TextSortDescriptor2
+
+ */
+ sequence< com::sun::star::beans::PropertyValue > createSortDescriptor();
+
+ /** sorts the contents of the object according to the specified
+ properties.
+
+ <p>The specified properties are usually the same or a subset of
+ those obtained by calling createSortDescriptor()
+ on the same type of object.<p>
+
+ @see com::sun::star::util::SortDescriptor
+ @see com::sun::star::table::TableSortDescriptor
+ @see com::sun::star::text::TextSortDescriptor
+ @see com::sun::star::util::SortDescriptor2
+ @see com::sun::star::table::TableSortDescriptor2
+ @see com::sun::star::text::TextSortDescriptor2
+ */
+ void sort( [in] sequence< com::sun::star::beans::PropertyValue > xDescriptor );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XStringAbbreviation.idl b/offapi/com/sun/star/util/XStringAbbreviation.idl
new file mode 100644
index 000000000..686bbc0de
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringAbbreviation.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XStringAbbreviation_idl__
+#define __com_sun_star_util_XStringAbbreviation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+ published interface XStringWidth;
+}; }; }; };
+
+module com { module sun { module star { module util {
+
+/** Abbreviate arbitrary strings.
+
+ <p>It is expected that there will be different implementations of this
+ interface, that each expect strings conforming to a certain structure
+ (e.g., URIs, platform-specific file paths, or newsgroup names). The
+ abbreviation algorithms will then take into account the structural
+ information.</p>
+
+ @see XStringWidth
+ */
+published interface XStringAbbreviation: com::sun::star::uno::XInterface
+{
+ /** Abbreviate a string, so that the resulting abbreviated string is not
+ wider than some given width.
+
+ <p>The width of a string is an abstract concept here, measured via
+ an XStringWidth interface. Examples are the number of
+ characters in the string (XStringWidth will measure the
+ string's length), or the width in pixel when displayed with a specific
+ font (which XStringWidth would encapsulate).</p>
+
+ @param xStringWidth
+ The interface that makes concrete the abstract notion of string width.
+
+ @param nWidth
+ The resulting abbreviated string's width will be no larger than this.
+
+ @param aString
+ The string that is abbreviated.
+
+ @returns
+ an abbreviated string.
+ */
+ string abbreviateString([in] XStringWidth xStringWidth,
+ [in] long nWidth,
+ [in] string aString);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XStringEscape.idl b/offapi/com/sun/star/util/XStringEscape.idl
new file mode 100644
index 000000000..00c6c0461
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringEscape.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XStringEscape_idl__
+#define __com_sun_star_util_XStringEscape_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module util {
+
+/** This interface is used to encode an arbitrary String into a
+ escaped form.
+
+ <p>The escaped form is chosen to be suitable for use with other interfaces
+ of the object or service providing this interface.</p>
+
+ <p>Any characters or character sequences that are not compatible with
+ any naming rules or restrictions must be replaced by an escaped form,
+ that complies to these rules.
+
+ <p>The transformation should preserve all traits of the string that are
+ generally respected by the service. For example, the case of a string
+ may be lost after encoding and then decoding, if the service
+ generally is case insensitive.
+
+ <p>Other than that the encoding is one-to-one and can be reversed. The
+ encoding should try to preserve as much as possible of the original
+ string, to keep human-readable input human-friendly where possible.
+ Strings that already conform to the naming conventions should be left
+ unchanged or minimally modified.</p>
+ */
+published interface XStringEscape: com::sun::star::uno::XInterface
+{
+ /** encodes an arbitrary string into an escaped form compatible with some naming rules.
+ */
+ string escapeString([in] string aString)
+ raises( com::sun::star::lang::IllegalArgumentException);
+
+ /** decodes an escaped string into the original form.
+ */
+ string unescapeString([in] string aEscapedString)
+ raises( com::sun::star::lang::IllegalArgumentException);
+};
+
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XStringMapping.idl b/offapi/com/sun/star/util/XStringMapping.idl
new file mode 100644
index 000000000..dc250cde4
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringMapping.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XStringMapping_idl__
+#define __com_sun_star_util_XStringMapping_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** provides a mapping from `string` to `string`
+ */
+published interface XStringMapping: com::sun::star::uno::XInterface
+{
+ /** provides a mapping for a given sequence of strings to
+ a sequence of belonging strings.
+ */
+ boolean mapStrings( [inout] sequence< string > Parameter );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XStringSubstitution.idl b/offapi/com/sun/star/util/XStringSubstitution.idl
new file mode 100644
index 000000000..7d20fb74b
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringSubstitution.idl
@@ -0,0 +1,117 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XStringSubstitution_idl__
+#define __com_sun_star_util_XStringSubstitution_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+ module com { module sun { module star { module util {
+
+/** A common interface for substituting string variables with
+ other strings.
+
+ <p>
+ The substitution algorithm and the syntax for a string variable are
+ not part of this interface definition. Please look at the documentation
+ of the implementation that must specify these parameters.
+ </p>
+
+ @since OOo 1.1.2
+*/
+published interface XStringSubstitution : com::sun::star::uno::XInterface
+{
+ /** Exchanges variables inside a given text with a substitution text
+ defined for the variables.
+
+ <p>
+ The method iterates through its internal variables list to match the
+ variables in the given string. A match replaces the variable with the
+ string defined for this variable. If no variable can be found in the string
+ it will be returned unchanged. The behavior if a variable is found in
+ the string but it is unknown for the implementation depends on the parameter
+ bSubstRequired.
+ </p>
+
+ @param aText
+ A string containing variables that should be substituted.
+
+ @param bSubstRequired
+ Specifies if a successful substitution is required. The
+ function throws a com::sun::star::container::NoSuchElementException
+ if it finds a variable that is unknown. In this case it is possible
+ that the returned string would not be what the caller expected!
+
+ @return
+ Returns a string based on <var>aText</var> where all variables were
+ exchanged with their value defined at calling time.
+ */
+ string substituteVariables( [in] string aText, [in] boolean bSubstRequired )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** Tries to replace parts of aText with variables that represents
+ these sub strings.
+
+ <p>
+ The method iterates through its internal variable list and tries to match
+ parts of the given string Tries to replace parts of <var>aText</var> with
+ variables that represents these sub strings.If more than one variable
+ matches the one with the longest matching sub string will be chosen.
+ </p>
+
+ @param aText
+ A string where known substrings should be replaced by variables.
+
+ @return
+ Returns the resubstituted string with variables for all parts
+ that could be replaced. The unchanged argument will be returned
+ if nothing can be resubstituted.
+ */
+
+ string reSubstituteVariables( [in] string aText );
+
+ /** Returns the current value of a variable.
+
+ <p>
+ The method iterates through its internal variable list and tries to
+ find the given variable. If the variable is unknown a
+ com::sun::star::container::NoSuchElementException
+ is thrown.
+ </p>
+
+ @param variable
+ The name of a variable.
+
+ @return
+ Returns a string that represents the variable. If the
+ variable is unknown a com::sun::star::container::NoSuchElementException
+ is thrown.
+ */
+ string getSubstituteVariableValue( [in] string variable )
+ raises (::com::sun::star::container::NoSuchElementException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XStringWidth.idl b/offapi/com/sun/star/util/XStringWidth.idl
new file mode 100644
index 000000000..946d3cc55
--- /dev/null
+++ b/offapi/com/sun/star/util/XStringWidth.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XStringWidth_idl__
+#define __com_sun_star_util_XStringWidth_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+
+/** An interface that encapsulates the abstract notion of string width.
+
+ @see XStringAbbreviation
+ */
+published interface XStringWidth: com::sun::star::uno::XInterface
+{
+ /** compute the width of a given string.
+
+ <p>Depending on the implementation of this interface, the width of a
+ string can be rather different things, like the number of characters
+ in the string, or the width in pixel when displayed with a specific
+ font.</p>
+
+ @param aString
+ The string that is to be measured.
+
+ @returns
+ the string's width.
+ */
+ long queryStringWidth([in] string aString);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XTextSearch.idl b/offapi/com/sun/star/util/XTextSearch.idl
new file mode 100644
index 000000000..2ada6946e
--- /dev/null
+++ b/offapi/com/sun/star/util/XTextSearch.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XTextSearch_idl__
+#define __com_sun_star_util_XTextSearch_idl__
+
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/SearchOptions.idl>
+#include <com/sun/star/util/SearchResult.idl>
+
+
+module com { module sun { module star { module util {
+
+/** enables an object to search in its content.
+ */
+published interface XTextSearch : com::sun::star::uno::XInterface
+{
+ /** set the options for the forward or backward search.
+
+ */
+ void setOptions ([in] SearchOptions options);
+ /** search forward in the searchStr, starts at startPos and ends by endpos.
+ The result is returned in the SearchResult.
+
+ */
+ SearchResult searchForward ([in] string searchStr, [in] long startPos, [in] long endPos );
+ /** search backward in the searchStr, starts at startPos and ends by endpos.
+ The endpos must be lower than the startpos, because the function searches backward!
+ The result is returned in the SearchResult.
+
+ */
+ SearchResult searchBackward ([in] string searchStr, [in] long startPos, [in] long endPos );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XTextSearch2.idl b/offapi/com/sun/star/util/XTextSearch2.idl
new file mode 100644
index 000000000..597a2c5ee
--- /dev/null
+++ b/offapi/com/sun/star/util/XTextSearch2.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_util_XTextSearch2_idl__
+#define __com_sun_star_util_XTextSearch2_idl__
+
+
+#include <com/sun/star/util/XTextSearch.idl>
+
+
+module com { module sun { module star { module util {
+
+/** enables an object to search in its content.
+
+ Derived from com::sun::star::util::XTextSearch this interface adds
+ simple wildcard search capabilities using
+ com::sun::star::util::SearchOptions2 options.
+
+ @since LibreOffice 5.2
+ */
+interface XTextSearch2 : com::sun::star::util::XTextSearch
+{
+ /** set the options for the forward or backward search.
+ */
+ void setOptions2 ([in] SearchOptions2 options);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XTimeStamped.idl b/offapi/com/sun/star/util/XTimeStamped.idl
new file mode 100644
index 000000000..166c3eb85
--- /dev/null
+++ b/offapi/com/sun/star/util/XTimeStamped.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_XTimeStamped_idl__
+#define __com_sun_star_util_XTimeStamped_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module util {
+
+
+/**
+ provides timestamp information for an object
+ in the form of an arbitrary string.
+
+ <p> The format and meaning of the timestamp depends on the implementation.
+ Services implementing this interface must document the meaning and
+ format they use.
+ </p>
+
+ <p> If the timestamp is unchanged between two calls, the
+ associated object has not changed. Any properties beyond this,
+ particularly the presence of a meaningful order between
+ timestamps, depend on the implementation.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published interface XTimeStamped : ::com::sun::star::uno::XInterface
+{
+
+ /**
+ returns the timestamp of the object.
+
+
+ @return
+ a `string` that represents a timestamp.
+ */
+ string getTimestamp() ;
+
+} ;
+
+} ; } ; } ; } ;
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XURLTransformer.idl b/offapi/com/sun/star/util/XURLTransformer.idl
new file mode 100644
index 000000000..cf3fa615e
--- /dev/null
+++ b/offapi/com/sun/star/util/XURLTransformer.idl
@@ -0,0 +1,128 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XURLTransformer_idl__
+#define __com_sun_star_util_XURLTransformer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/URL.idl>
+
+
+
+module com { module sun { module star { module util {
+
+
+/** supports parsing and assembling of URLs
+
+ @see URL
+ @see URLTransformer
+ */
+published interface XURLTransformer: com::sun::star::uno::XInterface
+{
+ /** parses the string in URL::Complete which should contain
+ a syntactically complete URL.
+
+ <p>
+ The implementation is allowed to correct minor failures in URL::Complete
+ if the meaning of the URL remain unchanged. Parts of the URL are stored in the other
+ fields of <var>aURL</var>.
+ </p>
+
+ @param aURL
+ the URL which include the complete string notation and will contain
+ all parsed parts of it after finishing this call. URL::Complete
+ can be overwritten if the implementation corrected minor failures.
+
+ @returns
+ `TRUE` if parsing was successful (means if given URL was syntactically correct)
+ or `FALSE` otherwise.
+ */
+ boolean parseStrict( [inout] com::sun::star::util::URL aURL );
+
+ /** parses the string in URL::Complete, which may contain
+ a syntactically complete URL or is specified by the provided protocol
+
+ <p>
+ The implementation can use smart functions to correct or interpret
+ URL::Complete if it is not a syntactically complete URL.
+ The parts of the URL are stored in the other fields of <var>aURL</var>.
+ </p>
+
+ @param aURL
+ the URL which include the string notation and will contain
+ all parsed parts of it after finishing this call. This includes
+ URL::Complete.
+
+ @param sSmartProtocol
+ optional information which protocol specification should be used to parse
+ URL::Complete. If empty the implementation can use a
+ protocol which fits best.
+
+ @returns
+ `TRUE` if parsing was successful (means if URL::Complete could
+ be syntactically correct) or `FALSE` otherwise.
+ */
+ boolean parseSmart(
+ [inout] com::sun::star::util::URL aURL,
+ [in] string sSmartProtocol );
+
+ /** assembles the parts of the URL specified by <var>aURL</var> and
+ stores it into URL::Complete
+
+ @param aURL
+ the URL which contains all necessary information in a structured form. The
+ member URL::Complete contains the URL in string notation after
+ the operation finished successfully. Otherwise the content of
+ URL::Complete is not defined.
+
+ @returns
+ `TRUE` if assembling was successful or `FALSE` otherwise.
+ */
+ boolean assemble( [inout] com::sun::star::util::URL aURL );
+
+ /** returns a representation of the URL for UI purposes only
+
+ <p>
+ Sometimes it can be useful to show a URL on an user interface
+ in a more "human readable" form. Such URL can't be used on any API
+ call, but make it easier for the user to understand it.
+ </p>
+
+ @param aURL
+ URL in structured form which should be shown at the UI
+
+ @param bWithPassword
+ specifies whether the password will be included in the encoding
+ or not. Usually passwords should never be shown at the user
+ interface.
+
+ @returns
+ a string representing the <var>aURL</var> if it is syntactically correct. A empty string if <var>aURL</var>
+ is not syntactically correct.
+ */
+ string getPresentation(
+ [in] com::sun::star::util::URL aURL,
+ [in] boolean bWithPassword );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XUniqueIDFactory.idl b/offapi/com/sun/star/util/XUniqueIDFactory.idl
new file mode 100644
index 000000000..e0c61f38d
--- /dev/null
+++ b/offapi/com/sun/star/util/XUniqueIDFactory.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XUniqueIDFactory_idl__
+#define __com_sun_star_util_XUniqueIDFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** creates IDs which are unique within the container.
+ */
+published interface XUniqueIDFactory: com::sun::star::uno::XInterface
+{
+ /// creates a new ID, unique within this container.
+ string createUniqueID( );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XUpdatable.idl b/offapi/com/sun/star/util/XUpdatable.idl
new file mode 100644
index 000000000..304cae2a7
--- /dev/null
+++ b/offapi/com/sun/star/util/XUpdatable.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_util_XUpdatable_idl__
+#define __com_sun_star_util_XUpdatable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XRefreshListener.idl>
+
+
+
+module com { module sun { module star { module util {
+
+/** is supported by objects with data that can be updated from a data source.
+ */
+published interface XUpdatable: com::sun::star::uno::XInterface
+{
+ /** refreshes the data of the object from the connected data source.
+ */
+ void update();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/XUpdatable2.idl b/offapi/com/sun/star/util/XUpdatable2.idl
new file mode 100644
index 000000000..ce5652a96
--- /dev/null
+++ b/offapi/com/sun/star/util/XUpdatable2.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_util_XUpdatable2_idl__
+#define __com_sun_star_util_XUpdatable2_idl__
+
+#include <com/sun/star/util/XUpdatable.idl>
+
+module com { module sun { module star { module util {
+
+/**
+ * This interface extends XUpdatable in order to provide more fine-tuned
+ * update modes. When performing a <i>soft</i> update, the implementor may
+ * decide not to update in certain cases, such as when the controller is
+ * locked. When performing a <i>hard</i> update, on the other hand, the
+ * implementor should perform update more aggressively even when the
+ * controller is locked.
+ */
+interface XUpdatable2: com::sun::star::util::XUpdatable
+{
+ /**
+ * Perform update, but update may not always be performed especially when
+ * the controller is locked.
+ */
+ void updateSoft();
+
+ /**
+ * Perform update, even when the controller is locked.
+ */
+ void updateHard();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/theOfficeInstallationDirectories.idl b/offapi/com/sun/star/util/theOfficeInstallationDirectories.idl
new file mode 100644
index 000000000..275c069dd
--- /dev/null
+++ b/offapi/com/sun/star/util/theOfficeInstallationDirectories.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_theOfficeInstallationDirectories_idl__
+#define __com_sun_star_util_theOfficeInstallationDirectories_idl__
+
+#include <com/sun/star/util/XOfficeInstallationDirectories.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** encapsulates access to the current office installation directory and
+ office user data directory, provides functionality to create URLs
+ containing relocatable (not absolute) references to the current office
+ installation directory and user data directory and vice versa.
+
+ <p>This functionality is useful when data containing references to the
+ current office installation directory or user data directory must be made
+ persistent and re-read later. In many cases, storing the reference
+ directly would destroy the relocatability of an office installation and the
+ possibility to share one office user data directory among parallel office
+ installations.
+ */
+published singleton theOfficeInstallationDirectories : XOfficeInstallationDirectories;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/util/thePathSettings.idl b/offapi/com/sun/star/util/thePathSettings.idl
new file mode 100644
index 000000000..ea3adb691
--- /dev/null
+++ b/offapi/com/sun/star/util/thePathSettings.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_util_thePathSettings_idl__
+#define __com_sun_star_util_thePathSettings_idl__
+
+#include <com/sun/star/util/XPathSettings.idl>
+
+
+module com { module sun { module star { module util {
+
+
+/** Supports read/write access and listener for the paths properties that
+ the Office uses.
+ <p>
+ The property names of the Office paths/directories are an exactly match
+ to the configuration entries found in the file
+ (org/openoffice/Office/Common.xml).<br>
+ This service supports the usage of path variables to define
+ paths that a relative to other office or system directories.
+ See PathSubstitution
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) PathSettings service.
+
+ @since LibreOffice 4.3
+ */
+published singleton thePathSettings : XPathSettings;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */