summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/ucb
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/ucb')
-rw-r--r--offapi/com/sun/star/ucb/AlreadyInitializedException.idl42
-rw-r--r--offapi/com/sun/star/ucb/AnyCompareFactory.idl42
-rw-r--r--offapi/com/sun/star/ucb/AuthenticationFallbackRequest.idl37
-rw-r--r--offapi/com/sun/star/ucb/AuthenticationRequest.idl93
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSet.idl71
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl37
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSetStub.idl57
-rw-r--r--offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl38
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSet.idl67
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl38
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl68
-rw-r--r--offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl38
-rw-r--r--offapi/com/sun/star/ucb/CertificateValidationRequest.idl51
-rw-r--r--offapi/com/sun/star/ucb/CheckinArgument.idl60
-rw-r--r--offapi/com/sun/star/ucb/CmisContentProvider.idl38
-rw-r--r--offapi/com/sun/star/ucb/Command.idl56
-rw-r--r--offapi/com/sun/star/ucb/CommandAbortedException.idl42
-rw-r--r--offapi/com/sun/star/ucb/CommandEnvironment.idl57
-rw-r--r--offapi/com/sun/star/ucb/CommandFailedException.idl52
-rw-r--r--offapi/com/sun/star/ucb/CommandInfo.idl54
-rw-r--r--offapi/com/sun/star/ucb/CommandInfoChange.idl47
-rw-r--r--offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl57
-rw-r--r--offapi/com/sun/star/ucb/ConnectionMode.idl48
-rw-r--r--offapi/com/sun/star/ucb/Content.idl983
-rw-r--r--offapi/com/sun/star/ucb/ContentAction.idl147
-rw-r--r--offapi/com/sun/star/ucb/ContentCreationError.idl60
-rw-r--r--offapi/com/sun/star/ucb/ContentCreationException.idl45
-rw-r--r--offapi/com/sun/star/ucb/ContentEvent.idl100
-rw-r--r--offapi/com/sun/star/ucb/ContentInfo.idl94
-rw-r--r--offapi/com/sun/star/ucb/ContentInfoAttribute.idl64
-rw-r--r--offapi/com/sun/star/ucb/ContentProvider.idl65
-rw-r--r--offapi/com/sun/star/ucb/ContentProviderInfo.idl49
-rw-r--r--offapi/com/sun/star/ucb/ContentProviderProxy.idl74
-rw-r--r--offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl36
-rw-r--r--offapi/com/sun/star/ucb/ContentResultSet.idl193
-rw-r--r--offapi/com/sun/star/ucb/ContentResultSetCapability.idl43
-rw-r--r--offapi/com/sun/star/ucb/ContentTransmitter.idl47
-rw-r--r--offapi/com/sun/star/ucb/CrossReference.idl50
-rw-r--r--offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl52
-rw-r--r--offapi/com/sun/star/ucb/DocumentHeaderField.idl46
-rw-r--r--offapi/com/sun/star/ucb/DocumentStoreMode.idl48
-rw-r--r--offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl48
-rw-r--r--offapi/com/sun/star/ucb/DuplicateProviderException.idl43
-rw-r--r--offapi/com/sun/star/ucb/DynamicResultSet.idl50
-rw-r--r--offapi/com/sun/star/ucb/Error.idl336
-rw-r--r--offapi/com/sun/star/ucb/ExpandContentProvider.idl49
-rw-r--r--offapi/com/sun/star/ucb/ExportStreamInfo.idl48
-rw-r--r--offapi/com/sun/star/ucb/FTPContent.idl189
-rw-r--r--offapi/com/sun/star/ucb/FTPContentProvider.idl57
-rw-r--r--offapi/com/sun/star/ucb/FetchError.idl59
-rw-r--r--offapi/com/sun/star/ucb/FetchResult.idl73
-rw-r--r--offapi/com/sun/star/ucb/FileContent.idl220
-rw-r--r--offapi/com/sun/star/ucb/FileContentProvider.idl94
-rw-r--r--offapi/com/sun/star/ucb/FileSystemNotation.idl57
-rw-r--r--offapi/com/sun/star/ucb/FolderList.idl48
-rw-r--r--offapi/com/sun/star/ucb/FolderListCommand.idl50
-rw-r--r--offapi/com/sun/star/ucb/FolderListEntry.idl63
-rw-r--r--offapi/com/sun/star/ucb/GIOContentProvider.idl34
-rw-r--r--offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl68
-rw-r--r--offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.idl36
-rw-r--r--offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl38
-rw-r--r--offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl83
-rw-r--r--offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl91
-rw-r--r--offapi/com/sun/star/ucb/HelpContent.idl171
-rw-r--r--offapi/com/sun/star/ucb/HelpContentProvider.idl54
-rw-r--r--offapi/com/sun/star/ucb/HierarchyContentProvider.idl100
-rw-r--r--offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl150
-rw-r--r--offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl84
-rw-r--r--offapi/com/sun/star/ucb/HierarchyDataSource.idl104
-rw-r--r--offapi/com/sun/star/ucb/HierarchyFolderContent.idl180
-rw-r--r--offapi/com/sun/star/ucb/HierarchyLinkContent.idl147
-rw-r--r--offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl178
-rw-r--r--offapi/com/sun/star/ucb/IOErrorCode.idl188
-rw-r--r--offapi/com/sun/star/ucb/IllegalIdentifierException.idl43
-rw-r--r--offapi/com/sun/star/ucb/InsertCommandArgument.idl56
-rw-r--r--offapi/com/sun/star/ucb/InsertCommandArgument2.idl36
-rw-r--r--offapi/com/sun/star/ucb/InteractiveAppException.idl45
-rw-r--r--offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl45
-rw-r--r--offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl42
-rw-r--r--offapi/com/sun/star/ucb/InteractiveFileIOException.idl48
-rw-r--r--offapi/com/sun/star/ucb/InteractiveIOException.idl43
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingException.idl46
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl42
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl47
-rw-r--r--offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl45
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl43
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkException.idl41
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl39
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl39
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl44
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl43
-rw-r--r--offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl44
-rw-r--r--offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl43
-rw-r--r--offapi/com/sun/star/ucb/Link.idl45
-rw-r--r--offapi/com/sun/star/ucb/ListAction.idl109
-rw-r--r--offapi/com/sun/star/ucb/ListActionType.idl174
-rw-r--r--offapi/com/sun/star/ucb/ListEvent.idl45
-rw-r--r--offapi/com/sun/star/ucb/ListenerAlreadySetException.idl43
-rw-r--r--offapi/com/sun/star/ucb/Lock.idl66
-rw-r--r--offapi/com/sun/star/ucb/LockDepth.idl49
-rw-r--r--offapi/com/sun/star/ucb/LockEntry.idl46
-rw-r--r--offapi/com/sun/star/ucb/LockScope.idl46
-rw-r--r--offapi/com/sun/star/ucb/LockType.idl52
-rw-r--r--offapi/com/sun/star/ucb/MissingInputStreamException.idl47
-rw-r--r--offapi/com/sun/star/ucb/MissingPropertiesException.idl49
-rw-r--r--offapi/com/sun/star/ucb/NameClash.idl64
-rw-r--r--offapi/com/sun/star/ucb/NameClashException.idl41
-rw-r--r--offapi/com/sun/star/ucb/NameClashResolveRequest.idl68
-rw-r--r--offapi/com/sun/star/ucb/NumberedSortingInfo.idl47
-rw-r--r--offapi/com/sun/star/ucb/ODMAContent.idl167
-rw-r--r--offapi/com/sun/star/ucb/ODMAContentProvider.idl78
-rw-r--r--offapi/com/sun/star/ucb/OpenCommandArgument.idl75
-rw-r--r--offapi/com/sun/star/ucb/OpenCommandArgument2.idl52
-rw-r--r--offapi/com/sun/star/ucb/OpenCommandArgument3.idl36
-rw-r--r--offapi/com/sun/star/ucb/OpenMode.idl79
-rw-r--r--offapi/com/sun/star/ucb/OutgoingMessageState.idl71
-rw-r--r--offapi/com/sun/star/ucb/PackageContentProvider.idl120
-rw-r--r--offapi/com/sun/star/ucb/PackageFolderContent.idl208
-rw-r--r--offapi/com/sun/star/ucb/PackageStreamContent.idl162
-rw-r--r--offapi/com/sun/star/ucb/PersistentPropertySet.idl57
-rw-r--r--offapi/com/sun/star/ucb/PostCommandArgument.idl50
-rw-r--r--offapi/com/sun/star/ucb/PostCommandArgument2.idl49
-rw-r--r--offapi/com/sun/star/ucb/Priority.idl60
-rw-r--r--offapi/com/sun/star/ucb/PropertiesManager.idl42
-rw-r--r--offapi/com/sun/star/ucb/PropertyCommandArgument.idl46
-rw-r--r--offapi/com/sun/star/ucb/PropertySetRegistry.idl47
-rw-r--r--offapi/com/sun/star/ucb/PropertyValueInfo.idl45
-rw-r--r--offapi/com/sun/star/ucb/PropertyValueState.idl58
-rw-r--r--offapi/com/sun/star/ucb/RecipientInfo.idl105
-rw-r--r--offapi/com/sun/star/ucb/RememberAuthentication.idl51
-rw-r--r--offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl58
-rw-r--r--offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl53
-rw-r--r--offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl48
-rw-r--r--offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl51
-rw-r--r--offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl67
-rw-r--r--offapi/com/sun/star/ucb/ResultSetException.idl42
-rw-r--r--offapi/com/sun/star/ucb/Rule.idl77
-rw-r--r--offapi/com/sun/star/ucb/RuleAction.idl91
-rw-r--r--offapi/com/sun/star/ucb/RuleOperator.idl75
-rw-r--r--offapi/com/sun/star/ucb/RuleSet.idl52
-rw-r--r--offapi/com/sun/star/ucb/RuleTerm.idl65
-rw-r--r--offapi/com/sun/star/ucb/SearchCommandArgument.idl50
-rw-r--r--offapi/com/sun/star/ucb/SearchCriterium.idl44
-rw-r--r--offapi/com/sun/star/ucb/SearchInfo.idl70
-rw-r--r--offapi/com/sun/star/ucb/SearchRecursion.idl52
-rw-r--r--offapi/com/sun/star/ucb/SendInfo.idl48
-rw-r--r--offapi/com/sun/star/ucb/SendMediaTypes.idl47
-rw-r--r--offapi/com/sun/star/ucb/ServiceNotFoundException.idl39
-rw-r--r--offapi/com/sun/star/ucb/SimpleFileAccess.idl40
-rw-r--r--offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl38
-rw-r--r--offapi/com/sun/star/ucb/SortingInfo.idl45
-rw-r--r--offapi/com/sun/star/ucb/Store.idl36
-rw-r--r--offapi/com/sun/star/ucb/SynchronizePolicy.idl52
-rw-r--r--offapi/com/sun/star/ucb/TransferCommandOperation.idl47
-rw-r--r--offapi/com/sun/star/ucb/TransferInfo.idl74
-rw-r--r--offapi/com/sun/star/ucb/TransferInfo2.idl31
-rw-r--r--offapi/com/sun/star/ucb/TransferResult.idl50
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl146
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl182
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl192
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl146
-rw-r--r--offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl153
-rw-r--r--offapi/com/sun/star/ucb/URLAuthenticationRequest.idl45
-rw-r--r--offapi/com/sun/star/ucb/UniversalContentBroker.idl70
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedCommandException.idl43
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl50
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedNameClashException.idl60
-rw-r--r--offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl49
-rw-r--r--offapi/com/sun/star/ucb/VerificationMode.idl52
-rw-r--r--offapi/com/sun/star/ucb/WebDAVContentProvider.idl105
-rw-r--r--offapi/com/sun/star/ucb/WebDAVDocumentContent.idl167
-rw-r--r--offapi/com/sun/star/ucb/WebDAVFolderContent.idl195
-rw-r--r--offapi/com/sun/star/ucb/WebDAVHTTPMethod.idl117
-rw-r--r--offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl53
-rw-r--r--offapi/com/sun/star/ucb/XAnyCompare.idl62
-rw-r--r--offapi/com/sun/star/ucb/XAnyCompareFactory.idl51
-rw-r--r--offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl58
-rw-r--r--offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl51
-rw-r--r--offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl68
-rw-r--r--offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl105
-rw-r--r--offapi/com/sun/star/ucb/XCommandEnvironment.idl63
-rw-r--r--offapi/com/sun/star/ucb/XCommandInfo.idl100
-rw-r--r--offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl50
-rw-r--r--offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl58
-rw-r--r--offapi/com/sun/star/ucb/XCommandProcessor.idl129
-rw-r--r--offapi/com/sun/star/ucb/XCommandProcessor2.idl59
-rw-r--r--offapi/com/sun/star/ucb/XContent.idl81
-rw-r--r--offapi/com/sun/star/ucb/XContentAccess.idl75
-rw-r--r--offapi/com/sun/star/ucb/XContentCreator.idl77
-rw-r--r--offapi/com/sun/star/ucb/XContentEventListener.idl49
-rw-r--r--offapi/com/sun/star/ucb/XContentIdentifier.idl74
-rw-r--r--offapi/com/sun/star/ucb/XContentIdentifierFactory.idl53
-rw-r--r--offapi/com/sun/star/ucb/XContentIdentifierMapping.idl110
-rw-r--r--offapi/com/sun/star/ucb/XContentProvider.idl80
-rw-r--r--offapi/com/sun/star/ucb/XContentProviderFactory.idl52
-rw-r--r--offapi/com/sun/star/ucb/XContentProviderManager.idl159
-rw-r--r--offapi/com/sun/star/ucb/XContentProviderSupplier.idl48
-rw-r--r--offapi/com/sun/star/ucb/XContentTransmitter.idl49
-rw-r--r--offapi/com/sun/star/ucb/XDataContainer.idl86
-rw-r--r--offapi/com/sun/star/ucb/XDynamicResultSet.idl177
-rw-r--r--offapi/com/sun/star/ucb/XDynamicResultSetListener.idl65
-rw-r--r--offapi/com/sun/star/ucb/XFetchProvider.idl61
-rw-r--r--offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl108
-rw-r--r--offapi/com/sun/star/ucb/XFileIdentifierConverter.idl85
-rw-r--r--offapi/com/sun/star/ucb/XInteractionAuthFallback.idl33
-rw-r--r--offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl53
-rw-r--r--offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl45
-rw-r--r--offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl151
-rw-r--r--offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl65
-rw-r--r--offapi/com/sun/star/ucb/XInteractionSupplyName.idl50
-rw-r--r--offapi/com/sun/star/ucb/XParameterizedContentProvider.idl98
-rw-r--r--offapi/com/sun/star/ucb/XPersistentPropertySet.idl57
-rw-r--r--offapi/com/sun/star/ucb/XProgressHandler.idl69
-rw-r--r--offapi/com/sun/star/ucb/XPropertyMatcher.idl56
-rw-r--r--offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl50
-rw-r--r--offapi/com/sun/star/ucb/XPropertySetRegistry.idl63
-rw-r--r--offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl52
-rw-r--r--offapi/com/sun/star/ucb/XRecycler.idl59
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl88
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl64
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl51
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl62
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl68
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl82
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl54
-rw-r--r--offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl53
-rw-r--r--offapi/com/sun/star/ucb/XSimpleFileAccess.idl244
-rw-r--r--offapi/com/sun/star/ucb/XSimpleFileAccess2.idl56
-rw-r--r--offapi/com/sun/star/ucb/XSimpleFileAccess3.idl67
-rw-r--r--offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl62
-rw-r--r--offapi/com/sun/star/ucb/XSourceInitialization.idl62
-rw-r--r--offapi/com/sun/star/ucb/XUniversalContentBroker.idl131
-rw-r--r--offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl57
233 files changed, 17811 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ucb/AlreadyInitializedException.idl b/offapi/com/sun/star/ucb/AlreadyInitializedException.idl
new file mode 100644
index 000000000..124424ec0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AlreadyInitializedException.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_ucb_AlreadyInitializedException_idl__
+#define __com_sun_star_ucb_AlreadyInitializedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate that an attempt was made to
+ reinitialize an object that can only be initialized once.
+
+ @version 1.0
+*/
+published exception AlreadyInitializedException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/AnyCompareFactory.idl b/offapi/com/sun/star/ucb/AnyCompareFactory.idl
new file mode 100644
index 000000000..c482af312
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AnyCompareFactory.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_ucb_AnyCompareFactory_idl__
+#define __com_sun_star_ucb_AnyCompareFactory_idl__
+
+#include <com/sun/star/ucb/XAnyCompareFactory.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory to get XAnyCompare service implementations.
+
+ @since OOo 1.1.2
+*/
+published service AnyCompareFactory : XAnyCompareFactory
+{
+ createWithLocale([in] com::sun::star::lang::Locale aLocale);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/AuthenticationFallbackRequest.idl b/offapi/com/sun/star/ucb/AuthenticationFallbackRequest.idl
new file mode 100644
index 000000000..3147bbb85
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AuthenticationFallbackRequest.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/.
+ *
+ */
+#ifndef __com_sun_star_ucb_AuthenticationFallbackRequest_idl__
+#define __com_sun_star_ucb_AuthenticationFallbackRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+module com { module sun { module star { module ucb {
+
+/** An interaction continuation handing back some authentication data
+
+ @since LibreOffice 4.4
+*/
+exception AuthenticationFallbackRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** Instructions to be followed by the user
+ */
+ string instructions;
+
+ /** url to be opened in browser
+ */
+ string url;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/AuthenticationRequest.idl b/offapi/com/sun/star/ucb/AuthenticationRequest.idl
new file mode 100644
index 000000000..a2c718819
--- /dev/null
+++ b/offapi/com/sun/star/ucb/AuthenticationRequest.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_ucb_AuthenticationRequest_idl__
+#define __com_sun_star_ucb_AuthenticationRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error specifying lack of correct authentication data (e.g., to log into
+ an account).
+*/
+published exception AuthenticationRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** The name of the server (if applicable).
+ */
+ string ServerName;
+
+ /** Any diagnostic message about the failure to log in (if applicable; it
+ will typically be an English phrase or sentence).
+ */
+ string Diagnostic;
+
+ /** Specifies if the authentication involves a "realm" (as can be the case
+ for HTTP).
+ */
+ boolean HasRealm;
+
+ /** Any already specified realm.
+
+ If HasRealm is false, this member should be ignored.
+ */
+ string Realm;
+
+ /** Specifies if the authentication involves a "user name" (as is almost
+ always the case).
+ */
+ boolean HasUserName;
+
+ /** Any already specified user name.
+
+ If HasUserName is false, this member should be ignored.
+ */
+ string UserName;
+
+ /** Specifies if the authentication involves a "password" (as is almost
+ always the case).
+ */
+ boolean HasPassword;
+
+ /** Any already specified password.
+
+ If HasPassword is false, this member should be ignored.
+ */
+ string Password;
+
+ /** Specifies if the authentication involves an "account" (as can be the
+ case for FTP).
+ */
+ boolean HasAccount;
+
+ /** Any already specified account.
+
+ If HasAccount is false, this member should be ignored.
+ */
+ string Account;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSet.idl b/offapi/com/sun/star/ucb/CachedContentResultSet.idl
new file mode 100644
index 000000000..98eb67d74
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSet.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_ucb_CachedContentResultSet_idl__
+#define __com_sun_star_ucb_CachedContentResultSet_idl__
+
+#include <com/sun/star/ucb/ContentResultSet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is used on client side to access a ContentResultSet
+ remote optimized.
+
+ <p>The CachedContentResultSet will not load every single
+ property or even row just in that moment you ask for it, but load the data
+ for some rows beforehand.
+
+ <p>Every time when a new package of data is loaded, the so far loaded data
+ will be released, so the cash will not grow and grow and grow.
+*/
+
+published service CachedContentResultSet
+{
+ service com::sun::star::ucb::ContentResultSet;
+
+ /** contains the number of result set rows that should be fetched from
+ an underlying database.
+
+ <p>The default fetch size is implementation specific.
+
+ <p>Every negative value for parameter #FetchSize will
+ force an implementation specific value to be set.
+ */
+ [property] long FetchSize;
+
+ /** contains the direction for fetching rows from an underlying database.
+
+ <p>The value can be one of the
+ com::sun::star::sdbc::FetchDirection constants group.
+
+ <p>The default value is implementation specific.
+
+ <p>If you set the value to
+ com::sun::star::sdbc::FetchDirection::UNKNOWN an
+ implementation specific direction will be used.
+ */
+ [property] long FetchDirection;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl b/offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl
new file mode 100644
index 000000000..ecfa073a8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSetFactory.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_ucb_CachedContentResultSetFactory_idl__
+#define __com_sun_star_ucb_CachedContentResultSetFactory_idl__
+
+#include <com/sun/star/ucb/XCachedContentResultSetFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for CachedContentResultSet implementations.
+*/
+published service CachedContentResultSetFactory : XCachedContentResultSetFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetStub.idl b/offapi/com/sun/star/ucb/CachedContentResultSetStub.idl
new file mode 100644
index 000000000..7cf72072e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSetStub.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_ucb_CachedContentResultSetStub_idl__
+#define __com_sun_star_ucb_CachedContentResultSetStub_idl__
+
+#include <com/sun/star/ucb/ContentResultSet.idl>
+#include <com/sun/star/ucb/XFetchProvider.idl>
+#include <com/sun/star/ucb/XFetchProviderForContentAccess.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is used on provider side to access a ContentResultSet
+ remote optimized.
+*/
+
+published service CachedContentResultSetStub
+{
+ service com::sun::star::ucb::ContentResultSet;
+
+ /** Provides the possibility to get the contents of the columns of several
+ rows with only one call.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XFetchProvider;
+
+ /** Provides the possibility load information offered by a
+ XContentAccess for several rows of one result set at once.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XFetchProviderForContentAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl b/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl
new file mode 100644
index 000000000..6d6ca92a9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.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/.
+ *
+ * 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_ucb_CachedContentResultSetStubFactory_idl__
+#define __com_sun_star_ucb_CachedContentResultSetStubFactory_idl__
+
+#include <com/sun/star/ucb/XCachedContentResultSetStubFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for CachedContentResultSetStub implementations.
+*/
+published service CachedContentResultSetStubFactory
+ : XCachedContentResultSetStubFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl
new file mode 100644
index 000000000..fc045394f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl
@@ -0,0 +1,67 @@
+/* -*- 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_ucb_CachedDynamicResultSet_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSet_idl__
+
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#include <com/sun/star/ucb/XSourceInitialization.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides read access to a static or dynamically changing
+ ContentResultSet.
+
+ <p>For example, a DynamicResultSet is returned from the
+ open-command executed by an XCommandProcessor of the service
+ Content.
+*/
+
+published service CachedDynamicResultSet
+{
+ /** Provides remote optimized read access to a static or a dynamically
+ changing ContentResultSet.
+
+ <p>The com::sun::star::sdbc::XResultSets given to
+ the listener in the first notification in the
+ WelcomeDynamicResultSetStruct are implementations of the
+ CachedContentResultSet service.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XDynamicResultSet;
+
+ /** provides the initialization of the CachedDynamicResultSet
+ with a source object.
+
+ <p>The <var>Source</var> in
+ XSourceInitialization::setSource() has to be an
+ implementation of service CachedDynamicResultSetStub
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XSourceInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl
new file mode 100644
index 000000000..6a82cba0b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.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/.
+ *
+ * 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_ucb_CachedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSetFactory_idl__
+
+#include <com/sun/star/ucb/XCachedDynamicResultSetFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for CachedDynamicResultSet implementations.
+*/
+published service CachedDynamicResultSetFactory
+ : XCachedDynamicResultSetFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl
new file mode 100644
index 000000000..49c0bae01
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.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_ucb_CachedDynamicResultSetStub_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSetStub_idl__
+
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#include <com/sun/star/ucb/XSourceInitialization.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides read access to a static or dynamically changing
+ ContentResultSet.
+
+ <p>For example, a DynamicResultSet is returned from the
+ open-command executed by an XCommandProcessor of the service
+ Content.
+*/
+
+published service CachedDynamicResultSetStub
+{
+ /** In Combination with a CachedDynamicResultSet this provides
+ remote optimized read access to a static or dynamically changing
+ ContentResultSet.
+
+ <p>The com::sun::star::sdbc::XResultSets given to
+ the listener in the first notification in the
+ WelcomeDynamicResultSetStruct are implementations of
+ CachedContentResultSetStub.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XDynamicResultSet;
+
+ /** provides the initialization of the CachedDynamicResultSetStub
+ with a source object.
+
+ <p>The <var>Source</var> in
+ XSourceInitialization::setSource() has to be an
+ implementation of service DynamicResultSet
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XSourceInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl
new file mode 100644
index 000000000..c71b81adb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.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/.
+ *
+ * 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_ucb_CachedDynamicResultSetStubFactory_idl__
+#define __com_sun_star_ucb_CachedDynamicResultSetStubFactory_idl__
+
+#include <com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for CachedDynamicResultSetStub implementations.
+*/
+published service CachedDynamicResultSetStubFactory
+ : XCachedDynamicResultSetStubFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CertificateValidationRequest.idl b/offapi/com/sun/star/ucb/CertificateValidationRequest.idl
new file mode 100644
index 000000000..1add779bc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CertificateValidationRequest.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_ucb_CertificateValidationRequest_idl__
+#define __com_sun_star_ucb_CertificateValidationRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#include <com/sun/star/security/XCertificate.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** An error specifying an invalid certificate.
+*/
+exception CertificateValidationRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** This value describes the validity of the certificate.
+ */
+ long CertificateValidity;
+
+ /** The certificate himself.
+ */
+ com::sun::star::security::XCertificate Certificate;
+
+ /** The host name.
+ */
+ string HostName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CheckinArgument.idl b/offapi/com/sun/star/ucb/CheckinArgument.idl
new file mode 100644
index 000000000..08f6822a2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CheckinArgument.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/.
+ */
+#ifndef __com_sun_star_ucb_CheckinArgument_idl__
+#define __com_sun_star_ucb_CheckinArgument_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains information needed to checkin a document.
+
+ <p>The checkin command is always called on the target private
+ working copy document.</p>
+*/
+struct CheckinArgument
+{
+ /** Tells whether to create a new major or minor version during the
+ checkin.
+ */
+ boolean MajorVersion;
+
+ /** Contains the version comment to set during the checkin.
+ */
+ string VersionComment;
+
+ /** contains the URL of the source of the action (e.g. the URL of
+ the temporary file to checkin).
+ */
+ string SourceURL;
+
+ /** contains the URL of the private working copy to checkin.
+ */
+ string TargetURL;
+
+ /** contains the title of the transferred object, if it is different
+ from the original one.
+
+ <p>If this field is filled, for example, a file will be renamed
+ while it is being checked in.</p>
+ */
+ string NewTitle;
+
+ /** contains the Mime-Type of the content to check-in as it may be
+ different from the original one.
+ */
+ string MimeType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CmisContentProvider.idl b/offapi/com/sun/star/ucb/CmisContentProvider.idl
new file mode 100644
index 000000000..decd4b545
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CmisContentProvider.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_ucb_CmisContentProvider_idl__
+#define __com_sun_star_ucb_CmisContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The Cmis Content Provider implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>The served contents enable access to directories and files on a
+ cmis-enabled server.</p>
+
+ @see com::sun::star::ucb::Content
+
+ @since LibreOffice 3.5
+*/
+
+service CmisContentProvider : com::sun::star::ucb::XContentProvider
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Command.idl b/offapi/com/sun/star/ucb/Command.idl
new file mode 100644
index 000000000..95731c118
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Command.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_ucb_Command_idl__
+#define __com_sun_star_ucb_Command_idl__
+
+#include <com/sun/star/ucb/CommandInfo.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains a command.
+
+ @see XCommandProcessor
+*/
+published struct Command
+{
+ /** contains the name of the command.
+ */
+ string Name;
+
+ /** contains an implementation specific handle for the command.
+
+ <p>It must be <code>-1</code> if the implementation has no handle.
+ <code>0</code> is a valid command handle.
+ */
+ long Handle;
+
+ /** contains the argument of the command
+ */
+ any Argument;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandAbortedException.idl b/offapi/com/sun/star/ucb/CommandAbortedException.idl
new file mode 100644
index 000000000..3a7645ea5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandAbortedException.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_ucb_CommandAbortedException_idl__
+#define __com_sun_star_ucb_CommandAbortedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate that a command was aborted.
+
+ @version 1.0
+ @see XCommandProcessor
+*/
+published exception CommandAbortedException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandEnvironment.idl b/offapi/com/sun/star/ucb/CommandEnvironment.idl
new file mode 100644
index 000000000..8133e799e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandEnvironment.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_ucb_CommandEnvironment_idl_
+#define _com_sun_star_ucb_CommandEnvironment_idl_
+
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/ucb/XProgressHandler.idl>
+
+module com { module sun { module star { module ucb {
+
+ /* This service implements an XCommandEnvironment that can be
+ initialized with any implementation of
+ com::sun::star::task::XInteractionHandler and
+ com::sun::star::ucb::XProgressHandler. The respective
+ get methods will simply return these handlers.
+
+ @since OOo 3.3
+ */
+ published service CommandEnvironment : ::com::sun::star::ucb::XCommandEnvironment
+ {
+ /** Constructor.
+
+ @param InteractionHandler the interaction handler instance that will be
+ returned by this service's implementation of
+ XCommandEnvironemt::getInteractionHandler()
+
+ @param ProgressHandler the progress handler instance that will be
+ returned by this service's implementation of
+ XCommandEnvironemt::getProgressHandler()
+ */
+ create( [in] com::sun::star::task::XInteractionHandler InteractionHandler,
+ [in] com::sun::star::ucb::XProgressHandler ProgressHandler );
+ };
+
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandFailedException.idl b/offapi/com/sun/star/ucb/CommandFailedException.idl
new file mode 100644
index 000000000..edd201c22
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandFailedException.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_ucb_CommandFailedException_idl__
+#define __com_sun_star_ucb_CommandFailedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown if an exception situation occurred during the
+ processing of a command and an
+ com::sun::star::task::XInteractionHandler was able
+ to handle the request for the error condition and the requesting code
+ decided to abort the command execution according to the selection made
+ by the interaction handler.
+
+ @version 1.0
+ @see XCommandProcessor
+*/
+published exception CommandFailedException : com::sun::star::uno::Exception
+{
+ /** contains the exception that was passed to the
+ com::sun::star::task::XInteractionHandler.
+ */
+ any Reason;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandInfo.idl b/offapi/com/sun/star/ucb/CommandInfo.idl
new file mode 100644
index 000000000..f02c31c70
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandInfo.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_ucb_CommandInfo_idl__
+#define __com_sun_star_ucb_CommandInfo_idl__
+
+#include <com/sun/star/reflection/XIdlClass.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** describes a command.
+
+ @see XCommandProcessor
+*/
+published struct CommandInfo
+{
+ /** contains the name of a command.
+ */
+ string Name;
+
+ /** contains an implementation specific handle for the command.
+
+ <p>It may be <code>-1</code> if the implementation has no handle.
+ */
+ long Handle;
+
+ /** contains the type of the command's argument.
+ */
+ type ArgType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandInfoChange.idl b/offapi/com/sun/star/ucb/CommandInfoChange.idl
new file mode 100644
index 000000000..99a7bcc42
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandInfoChange.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_ucb_CommandInfoChange_idl__
+#define __com_sun_star_ucb_CommandInfoChange_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies reasons for sending CommandInfoChangeEvents.
+
+ @see CommandInfoChangeEvent
+ @see XCommandInfo
+*/
+published constants CommandInfoChange
+{
+ /** A command was inserted into a XCommandInfo.
+ */
+ const long COMMAND_INSERTED = 0;
+
+ /** A command was removed from a XCommandInfo.
+ */
+ const long COMMAND_REMOVED = 1;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl b/offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl
new file mode 100644
index 000000000..97985c5ae
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CommandInfoChangeEvent.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_ucb_CommandInfoChangeEvent_idl__
+#define __com_sun_star_ucb_CommandInfoChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This event gets delivered whenever a XCommandInfo is changed.
+
+ <p>A CommandInfoChangeEvent object is sent to
+ XCommandInfoChangeListeners.
+*/
+published struct CommandInfoChangeEvent: com::sun::star::lang::EventObject
+{
+ /** contains the name of the command.
+ */
+ string Name;
+
+ /** contains the implementation handle for the command.
+
+ <p>May be <code>-1</code> if the implementation has no handle.
+ */
+ long Handle;
+
+ /** contains the reason for the event.
+
+ <p>The value can be one of the CommandInfoChange constants.
+ */
+ long Reason;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ConnectionMode.idl b/offapi/com/sun/star/ucb/ConnectionMode.idl
new file mode 100644
index 000000000..76f6ff557
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ConnectionMode.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_ucb_ConnectionMode_idl__
+#define __com_sun_star_ucb_ConnectionMode_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for the property "ConnectionMode".
+
+ @see XCommandProcessor
+ @see Content
+*/
+published constants ConnectionMode
+{
+ /** "Online" - Network access is allowed.
+ */
+ const short ONLINE = 0;
+
+ /** "Offline" - Network access is not allowed.
+ */
+ const short OFFLINE = 1;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Content.idl b/offapi/com/sun/star/ucb/Content.idl
new file mode 100644
index 000000000..c80bdb872
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Content.idl
@@ -0,0 +1,983 @@
+/* -*- 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_ucb_Content_idl__
+#define __com_sun_star_ucb_Content_idl__
+
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+#include <com/sun/star/container/XChild.idl>
+
+module com { module sun { module star { module ucb {
+
+/** A Content is a service that provides access to data of a
+ content provided by an implementation of the service
+ ContentProvider.
+*/
+published service Content
+{
+
+ /** provides access to the identity and the type of the content and
+ allows the registration of listeners for ContentEvents.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** must be implemented to make it possible to resolve cyclic object
+ references.
+
+ <p>Those references i.e. may occur if there are listeners
+ registered at the content ( the content holds the listeners ) and
+ the implementation of the listener interface holds a reference on
+ the content. If the content shall be released,
+ com::sun::star::lang::XComponent::dispose() must
+ be called at the content. The implementation of this method must call
+ com::sun::star::lang::XEventListener::disposing()
+ on the registered listeners and release the appropriate object
+ references. At the other hand, the implementation of
+ XEventListener::disposing must release its appropriate references.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** enables the caller to let the content execute commands.
+
+ <p>It is strongly recommended that any implementation supports the
+ improved XCommandProcessor2 interface.</p>
+
+ <p>Typical commands are "open", "delete", "getPropertyValues" and
+ "setPropertyValues". Each content must support a set of standard
+ commands and properties. Also there is a set of predefined optionally
+ commands and properties. A content may define additional commands and
+ properties. </p>
+
+ <p>This interface is required.</p>
+
+ <h3>Commands</h3>
+ <h4>Mandatory commands</h4>
+
+ <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
+ <tr>
+ <th>Command Name</th>
+ <th>Return Type</th>
+ <th>Parameters</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>getCommandInfo</td>
+ <td>XCommandInfo</td>
+ <td>void</td>
+ <td>This command obtains an interface which allows to query
+ information on commands supported by a content.
+ </td>
+ </tr>
+ <tr>
+ <td>getPropertySetInfo</td>
+ <td>com::sun::star::beans::XPropertySetInfo</td>
+ <td>void</td>
+ <td>This command obtains an interface which allows to query
+ information on properties supported by a content.
+ </td>
+ </tr>
+ <tr>
+ <td>getPropertyValues</td>
+ <td>com::sun::star::sdbc::XRow</td>
+ <td>sequence&lt; com::sun::star::beans::Property &gt; aProps</td>
+ <td>This command obtains property values from the content.
+ <blockquote>
+ <b>Note</b>: The execution will not be aborted, if there
+ are properties requested, that are unknown to the
+ content. The returned row object must contain a NULL
+ value in the corresponding column instead.
+ </blockquote>
+ </td>
+ </tr>
+ <tr>
+ <td>setPropertyValues</td>
+ <td>sequence&lt; any &gt;</td>
+ <td>sequence&lt; com::sun::star::beans::PropertyValue &gt; aValues</td>
+ <td>This command sets property values of the content.
+ <p>Note that setPropertyValues does not throw an exception in the case
+ that one or more of the requested property values cannot be set.
+ The implementation should set as much property values as possible.</p>
+
+ <p>This command returns a sequence< any > which has exactly the same number
+ of elements like the number of properties to set. Every sequence
+ element contains the status for a property. The first sequence
+ elements corresponds to the first element in the sequence of
+ com::sun::star::beans::PropertyValue passed as
+ command argument, and so on. The exceptions will never be passed to
+ a com::sun::star::task::InteractionHandler.</p>
+
+ <p>Every element in the returned sequence is an any containing:</p>
+ <ul>
+ <li>No value indicates, that the property value was set successfully.</li>
+ <li>com::sun::star::beans::UnknownPropertyException
+ indicates, that the property is not known to the content
+ implementation.</li>
+ <li>com::sun::star::beans::IllegalTypeException
+ indicates, that the data type of the property value is not
+ acceptable.</li>
+ <li>com::sun::star::lang::IllegalAccessException
+ indicates, that the property is constant
+ (com::sun::star::beans::PropertyAttribute::READONLY
+ is set).</li>
+ <li>com::sun::star::lang::IllegalArgumentException
+ indicates, that the property value is not acceptable. For instance,
+ setting an empty title may be illegal.</li>
+ <li>Any other exception derived from com::sun::star::uno::Exception
+ indicates, that the value was not set successfully. For example,
+ this can be an InteractiveAugmentedIOException
+ transporting the error code IOErrorCode::ACCESS_DENIED.</li>
+ </ul>
+
+ <p>If the value to set is equal to the current value, no exception must
+ be added to the returned sequence</p>
+ </td>
+ </tr>
+ </table>
+
+ <h4>Optional commands</h4>
+ <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
+ <tr>
+ <th>Command Name</th>
+ <th>Return Type</th>
+ <th>Parameters</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>XDynamicResultSet</td>
+ <td>OpenCommandArgument2 aOpenCommandArg</td>
+ <td>
+ For <b>folder</b> objects, this command will return an
+ implementation of service DynamicResultSet.
+ <p>The OpenCommandArgument2 members must be
+ filled as follows:</p>
+ <ul>
+ <li>com::sun::star::ucb::OpenCommandArgument::Mode:
+ com::sun::star::ucb::OpenMode::ALL or
+ com::sun::star::ucb::OpenMode::FOLDERS or
+ com::sun::star::ucb::OpenMode::DOCUMENTS.
+ The implementation of the open command MUST support all these modes!
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Priority:
+ can be set, but implementation may ignore the value
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Sink:
+ empty( ignored )
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Properties:
+ The properties for which the result set shall
+ contain the property values. The order of the
+ sequence is the same as the order of result set
+ columns. First element of sequence will be row
+ number one, second will be row number two, ...
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument2::SortingInfo:
+ contains sort criteria, if result set shall
+ be sorted, otherwise it can be left empty.
+ </li>
+ </ul>
+ The execution must be aborted by the implementation of this command
+ (by throwing a CommandAbortedException), if an
+ unsupported mode is requested.
+ </td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>void</td>
+ <td>OpenCommandArgument2 aOpenCommandArg</td>
+ <td>For non-folder objects, the OpenCommandArgument2
+ struct will be prefilled with a data sink object, which
+ will be filled with the content data.
+ <p>The OpenCommandArgument2 members must be
+ filled as follows:</p>
+ <ul>
+ <li>com::sun::star::ucb::OpenCommandArgument::Mode:
+ com::sun::star::ucb::OpenMode::DOCUMENT or
+ com::sun::star::ucb::OpenMode::DOCUMENT_SHARE_DENY_NONE or
+ com::sun::star::ucb::OpenMode::DOCUMENT_SHARE_DENY_WRITE.
+ Support for DOCUMENT is mandatory, all others are optional.
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Priority:
+ can be set, but implementation may ignore the value
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Sink:
+ a sink, where the implementation can put the document data into.
+ </li>
+ <li>com::sun::star::ucb::OpenCommandArgument::Properties: empty ( ignored )</li>
+ <li>com::sun::star::ucb::OpenCommandArgument2::SortingInfo: empty ( ignored )</li>
+ </ul>
+ <p>The execution must be aborted by the implementation of this command
+ (by throwing a CommandAbortedException), if an
+ unsupported mode is requested.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>createNewContent</td>
+ <td>XContent</td>
+ <td>ContentInfo contentinfo</td>
+ <td>
+ This command creates a new <b>non-persistent</b> content of a given type.
+ <p>This command must be supported by every Content
+ that supports the property "CreatableContentsInfo", if the returned
+ property value contains a non-empty sequence of creatable types.
+ <blockquote>
+ Note: This command is part of the replacement for the deprecated
+ interface XContentCreator.
+ </blockquote>
+ <p>Creation of a new <b>persistent</b> content:
+ <ol>
+ <li>creatabletypes = obtain "CreatableContentsInfo" property from creator</li>
+ <li>choose a suitable type from creatabletypes</li>
+ <li>newObject = execute command "createNewContent(type)" at creator</li>
+ <li>initialize the new object (i.e. newObject.Property1 = ...)</li>
+ <li>execute command "insert" at new content. This command
+ commits the data and makes the new content persistent.</li>
+ </ol>
+ </td>
+ </tr>
+ <tr>
+ <td>insert</td>
+ <td>void</td>
+ <td>InsertCommandArgument aInsertCommandArg</td>
+ <td>
+ <ol>
+ <li>
+ This command inserts a <b>new content</b>. It commits the process of
+ creating a new content via executing the command "createNewContent"
+ and initializing it via setting properties, afterwards.<br>
+ The command is not called on the content which created the new
+ content, because the new object already knows where it is to be
+ inserted (i.e. Calling createNewContent with the content type for a
+ message on a News Group creates a content which internally belongs
+ to the Outbox. Calling "insert" on that message will result in
+ posting the article to the appropriate News Group). Not calling
+ "insert" for the new content, i.e. because the user cancels writing
+ a new message, simply discards the new object. No extra call to
+ "delete" is necessary.<br>
+ On successful completion of this command, the parent of the inserted
+ content must propagate the change by notifying a
+ ContentEvent - ContentAction::INSERTED.
+ </li>
+ <li>
+ Additionally this command can be called at any time to overwrite
+ the data of an <b>existing content</b>.
+ </li>
+ </ol>
+ </td>
+ </tr>
+ <tr>
+ <td>update</td>
+ <td>void</td>
+ <td>OpenCommandArgument2 aOpenCommandArg</td>
+ <td>This command triggers an update operation on a content.
+ For example, when "updating" a POP3-Inbox, the content
+ for that box will get and store all new objects on the
+ appropriate server. The inserted contents will be
+ notified by calling
+ XContentEventListener::contentEvent().
+ </td>
+ </tr>
+ <tr>
+ <td>synchronize</td>
+ <td>void</td>
+ <td>OpenCommandArgument2 aOpenCommandArg</td>
+ <td>
+ This command triggers a synchronization operation between locally
+ cached data and remote server's data. For example, when
+ "synchronizing" a POP3-Inbox the content for that box will get and
+ store all new objects and destroy all cached data for objects no
+ longer existing on the server. The inserted/deleted contents will
+ be notified by calling
+ XContent::contentEvent().
+ </td>
+ </tr>
+ <tr>
+ <td>close</td>
+ <td>void</td>
+ <td>void</td>
+ <td>This command closes an object.</td>
+ </tr>
+ <tr>
+ <td>delete</td>
+ <td>void</td>
+ <td>boolean bDeletePhysically</td>
+ <td>
+ This command deletes an object. If `TRUE` is passed as parameter,
+ the object will be destroyed physically. Otherwise it will be put
+ into trash can, if such a service is available and the object to
+ be deleted supports the command "undelete".
+ On successful completion of this command, the deleted content
+ must propagate its deletion by notifying a ContentEvent
+ - ContentAction::DELETED. Additionally, the contents
+ parent must notify a ContentEvent
+ - ContentAction::REMOVED
+ </td>
+ </tr>
+ <tr>
+ <td>undelete</td>
+ <td>void</td>
+ <td>void</td>
+ <td>
+ This command restores an object previously deleted into trash. It
+ must be supported by objects which claim to be undeletable, but
+ should never be called directly.
+ </td>
+ </tr>
+ <tr>
+ <td>search</td>
+ <td>XDynamicResultSet</td>
+ <td>SearchCommandArgument aSearchCommandArg</td>
+ <td>
+ This command searches for subcontents of a content matching the
+ given search criteria. The command will return an implementation
+ of service DynamicResultSet.
+ </td>
+ </tr>
+ <tr>
+ <td>transfer</td>
+ <td>void</td>
+ <td>TransferInfo aTransferInfo</td>
+ <td>
+ <blockquote>
+ <b>Important note:</b> A client that wants to transfer data should
+ not execute this command, but it should execute the command
+ "globalTransfer" at the UniversalContentBroker.
+ This command is able to transfer all kind of content
+ supported by that UCB.
+ </blockquote>
+ This command transfers (copies/moves) an object from one location
+ to another. It must be executed at the folder content representing
+ the <b>destination</b> of the transfer operation.<br>
+ Note that the implementation need not be able to handle
+ any type of contents.<br>
+ Generally, there are good chances that a transfer of a content will
+ succeed, if source and target folder have the same URL scheme.
+ But there is no guaranty for that.<br>
+ For instance, moving a message from a folder on IMAP server A
+ to a folder on IMAP server B may fail, because the transfer
+ command can't be implemented efficiently for this scenario,
+ because it is not directly supported by the IMAP protocol.
+ On the other hand, moving a message from one folder to
+ another folder on the same IMAP server should work, because it can
+ be implemented efficiently.<br>
+ If an implementation is not able to handle a given source URL,
+ it should indicate this by issuing a
+ InteractiveBadTransferURLException interaction request.<br>
+ Source and target folder may be the same when doing a move operation.
+ <br>
+ Transfers without the transfer command can be done as follows:
+ <ol>
+ <li>Create a new content at the target folder<br>
+ <code>targetContent = target.execute( "createNewContent", type )</code>
+ </li>
+ <li>Transfer data from source to target content<br>
+ <code>props = sourceContent.execute( "getPropertyValues", ... )</code>
+ <code>dataStream = sourceContent.execute( "open", ... )</code>
+ <code>targetContent.execute( "setPropertyValues", props )</code>
+ </li>
+ <li>Insert ( commit ) the new content<br>
+ <code>targetContent.execute( "insert", dataStream )</code>
+ </li>
+ <li>For move operations only: destroy the source content<br>
+ <code>sourceContent.execute( "delete", ... )</code>
+ </li>
+ </ol>
+ <p>This mechanism should work for all transfer operations, but generally
+ it's less efficient than the transfer command.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>lock</td>
+ <td>void</td>
+ <td>void</td>
+ <td>
+ This command obtains an exclusive write lock for the resource. The
+ lock is active until command "unlock" is executed, or the OOo
+ session that obtained the lock ends, or until the lock is released by
+ a third party (e.g. a system administrator).<br>
+ Exceptions:
+ <ul>
+ <li>InteractiveLockingLockedException</li>
+ <li>InteractiveLockingLockExpiredException</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>unlock</td>
+ <td>void</td>
+ <td>void</td>
+ <td>
+ This command removes a lock obtained by executing the command "lock"
+ from the resource.<br>
+ <p>Exceptions:
+ <ul>
+ <li>InteractiveLockingLockedException</li>
+ <li>InteractiveLockingLockExpiredException</li>
+ </ul>
+ </p>
+ <p>Note that InteractiveLockingLockExpiredException might
+ be raised by any command that requires a previously obtained lock.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>addProperty</td>
+ <td>void</td>
+ <td>PropertyCommandArgument aCmdArg</td>
+ <td>
+ Adds a new properties to the content.
+ <p>
+ PropertyCommandArgument::Property
+ contains information about the property to be added.
+ PropertyCommandArgument::DefaultValue
+ may contain the default value for the property. Its type must
+ match the one specified in com::sun::star::beans::Property::Type.
+ </p>
+ <p>Note that the dynamic properties must be kept persistent. The
+ service Store (UCB persistence service) may be used to
+ implement this.</p>
+ <p><b>Important:</b> The implementation must at least support
+ adding properties of the following basic data types:</p>
+ <p>
+ <ul>
+ <li>boolean
+ <li>char
+ <li>byte
+ <li>string
+ <li>short
+ <li>long
+ <li>hyper
+ <li>float
+ <li>double
+ </ul>
+ </p>
+ <p>
+ Raises a ::com::sun::star::beans::PropertyExistException
+ if a property with the same name already exists;
+ ::com::sun::star::beans::IllegalTypeException
+ if the property has an unsupported type;
+ ::com::sun::star::lang::IllegalArgumentException
+ if the Name of the property is empty.</p>
+ <blockquote>
+ Note: This command is new since Apache OpenOffice 4.0, LibreOffice 4.2 and replaces the deprecated interface method
+ com::sun::star::beans::XPropertyContainer::addProperty.
+ </blockquote>
+ </td>
+ </tr>
+ <tr>
+ <td>removeProperty</td>
+ <td>void</td>
+ <td>string PropertyName</td>
+ <td>Removes the properties from the content.
+ <p>Raises a ::com::sun::star::beans::UnknownPropertyException
+ if the property does not exist;
+ ::com::sun::star::beans::NotRemoveableException
+ if the property is not removable.</p>
+ <blockquote>
+ Note: This command is new since Apache OpenOffice 4.0, LibreOffice 4.2 and replaces the deprecated interface method
+ com::sun::star::beans::XPropertyContainer::removeProperty.
+ </blockquote>
+ </td>
+ </tr>
+ </table>
+
+ <h3>Properties</h3>
+ <h4>Mandatory properties</h4>
+
+ <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
+ <tr>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>ContentType</td>
+ <td>string</td>
+ <td>
+ contains a unique type string for the content
+ ( i.e. "application/vnd.sun.star.hierarchy-link" ).
+ <p>This property is always read-only.</p>
+ <p>The ContentType should not be confused with the MIME
+ media type ( MIME types ) of the content. Media types
+ may be provided through the optional property "MediaType".</p>
+ <p>The value of this property should match the information on creatable
+ contents given by UCB contents that implement the property
+ "CreatableContentsInfo".</p>
+ </td>
+ </tr>
+ <tr>
+ <td>IsFolder</td>
+ <td>boolean</td>
+ <td>indicates, whether a content can contain other contents.</td>
+ </tr>
+ <tr>
+ <td>IsDocument</td>
+ <td>boolean</td>
+ <td>indicates, whether a content is a document. This means,
+ the content can dump itself into a data sink.
+ </td>
+ </tr>
+ <tr>
+ <td>Title</td>
+ <td>string</td>
+ <td>contains the title of an object (e.g. the subject of a message).</td>
+ </tr>
+ </table>
+
+ <h4>Optional properties</h4>
+
+ <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
+ <tr>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>AutoUpdateInterval</td>
+ <td>long</td>
+ <td>contains the interval for automatic updates of an object.
+ It is specified in seconds.
+ </td>
+ </tr>
+ <tr>
+ <td>ConnectionLimit</td>
+ <td>short</td>
+ <td>contains the maximum number of network connections
+ allowed for one (internet) protocol at a time. (e.g. The HTTP
+ cache can be configured to use a maximum for the number of
+ connections used for browsing.)
+ </td>
+ </tr>
+ <tr>
+ <td>ConnectionMode</td>
+ <td>short</td>
+ <td>contains the current connection mode for the object.
+ (see ConnectionMode)
+ </td>
+ </tr>
+ <tr>
+ <td>CreatableContentsInfo</td>
+ <td>sequence ContentInfo</td>
+ <td>
+ contains the types of Contents a Content object can create via
+ command "createNewContent".
+ <p>If the property value can be a non-empty sequence, the
+ Content must also support command "createNewContent".</p>
+ <blockquote>
+ Note: This property is part of the replacement for the deprecated
+ interface XContentCreator.
+ </blockquote>
+ </td>
+ </tr>
+ <tr>
+ <td>DateCreated</td>
+ <td>com::sun::star::util::DateTime</td>
+ <td>contains the date and time the object was created.</td>
+ </tr>
+ <tr>
+ <td>DateModified</td>
+ <td>com::sun::star::util::DateTime</td>
+ <td>contains the date and time the object was last modified.</td>
+ </tr>
+ <tr>
+ <td>DocumentCount</td>
+ <td>long</td>
+ <td>contains the count of documents of a folder.</td>
+ </tr>
+ <tr>
+ <td>DocumentCountMarked</td>
+ <td>long</td>
+ <td>contains the count of marked documents within a folder.</td>
+ </tr>
+ <tr>
+ <td>DocumentHeader</td>
+ <td>sequence&lt; DocumentHeaderField &gt; </td>
+ <td>contains a sequence of document header fields (i.e. header
+ fields of a MIME-message, or the document info of an
+ office document ). For some standard header fields there
+ are predefined separate properties, like &quot;MessageTo&quot;.
+ </td>
+ </tr>
+ <tr>
+ <td>DocumentStoreMode</td>
+ <td>DocumentStoreMode</td>
+ <td>contains information about the way a folder stores the
+ contents of (remote) documents.
+ </td>
+ </tr>
+ <tr>
+ <td>FolderCount</td>
+ <td>long</td>
+ <td>contains the count of subfolders of a folder.</td>
+ </tr>
+ <tr>
+ <td>FreeSpace</td>
+ <td>hyper</td>
+ <td>contains the free space left on a storage device. It is
+ specified in bytes.</td>
+ </tr>
+ <tr>
+ <td>HasDocuments</td>
+ <td>boolean</td>
+ <td>indicates whether a content has subcontents, which are documents.</td>
+ </tr>
+ <tr>
+ <td>HasFolders</td>
+ <td>boolean</td>
+ <td>indicates whether a content has subcontents, which are folders.</td>
+ </tr>
+ <tr>
+ <td>IsMarked</td>
+ <td>boolean</td>
+ <td>indicates whether a content is &quot;marked&quot;.</td>
+ </tr>
+ <tr>
+ <td>IsRead</td>
+ <td>boolean</td>
+ <td>indicates whether a content has been "read".</td>
+ </tr>
+ <tr>
+ <td>IsReadOnly</td>
+ <td>boolean</td>
+ <td>indicates whether a content is read-only.</td>
+ </tr>
+ <tr>
+ <td>IsSubscribed</td>
+ <td>boolean</td>
+ <td>indicates whether a content is subscribed.</td>
+ </tr>
+ <tr>
+ <td>IsTimeLimitedStore</td>
+ <td>boolean</td>
+ <td>indicates whether the feature to store contents
+ depending on their age is active.</td>
+ </tr>
+ <tr>
+ <td>UpdateOnOpen</td>
+ <td>boolean</td>
+ <td>indicates whether (sub)contents shall be automatically updated
+ every time a (folder) content is opened.<br>This property may be
+ used to control whether a folder content should read data only
+ from local cache when it is opened, or whether it should connect
+ to a server to obtain latest data.</td>
+ </tr>
+ <tr>
+ <td>Keywords</td>
+ <td>string</td>
+ <td>contains the keywords of a document (e.g. the value
+ of the &quot;keywords&quot; header field of a news article).</td>
+ </tr>
+ <tr>
+ <td>MediaType</td>
+ <td>string</td>
+ <td>contains the media type ( MIME type ) of a content. It is highly
+ recommended to support this property if the content's implementation
+ can obtain the media type natively from its data source ( i.e.
+ HTTP servers provide media types for all their documents ).
+ </td>
+ </tr>
+ <tr>
+ <td>MessageBCC</td>
+ <td>string</td>
+ <td>contains the BCC (blind carbon copy) receiver(s) of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageCC</td>
+ <td>string</td>
+ <td>contains the CC (carbon copy) receiver(s) of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageFrom</td>
+ <td>string</td>
+ <td>contains (the address of) the sender of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageId</td>
+ <td>string</td>
+ <td>contains the ID of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageInReplyTo</td>
+ <td>string</td>
+ <td>contains the &quot;In-Reply-To&quot; field of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageReplyTo</td>
+ <td>string</td>
+ <td>contains the &quot;Reply-To&quot; field of a message.</td>
+ </tr>
+ <tr>
+ <td>MessageTo</td>
+ <td>string</td>
+ <td>contains the recipient(s) of a message.</td>
+ </tr>
+ <tr>
+ <td>NewsGroups</td>
+ <td>string</td>
+ <td>contains the name(s) of the newsgroup(s) into which a message was posted.</td>
+ </tr>
+ <tr>
+ <td>Password</td>
+ <td>string</td>
+ <td>contains a password (e.g. needed to access a POP3-Server).</td>
+ </tr>
+ <tr>
+ <td>Priority</td>
+ <td>Priority</td>
+ <td>contains a priority (i.e. of a message).</td>
+ </tr>
+ <tr>
+ <td>References</td>
+ <td>string</td>
+ <td>contains the &quot;References&quot; field of a news article.</td>
+ </tr>
+ <tr>
+ <td>Rules</td>
+ <td>RuleSet</td>
+ <td>contains the rules set for a content.</td>
+ </tr>
+ <tr>
+ <td>SeenCount</td>
+ <td>long</td>
+ <td>contains the count of seen/read subcontents of a folder content.</td>
+ </tr>
+ <tr>
+ <td>ServerBase</td>
+ <td>string</td>
+ <td>contains the base directory to use on a server. (e.g. Setting
+ the server base of an FTP-Account to &quot;/pub/incoming&quot;
+ will result in showing contents from that directory and not from
+ server's root directory)
+ </td>
+ </tr>
+ <tr>
+ <td>ServerName</td>
+ <td>string</td>
+ <td>contains a server name (e.g. The name of the server to use for
+ a POP3-Account).
+ </td>
+ </tr>
+ <tr>
+ <td>ServerPort</td>
+ <td>short</td>
+ <td>contains a numeric server port.</td>
+ </tr>
+ <tr>
+ <td>Size</td>
+ <td>hyper</td>
+ <td>contains the size (usually in bytes) of an object.</td>
+ </tr>
+ <tr>
+ <td>SizeLimit</td>
+ <td>hyper</td>
+ <td>contains a size limit for an object. (e.g. One may specify the
+ maximum size of the HTTP-Cache)
+ </td>
+ </tr>
+ <tr>
+ <td>SubscribedCount</td>
+ <td>long</td>
+ <td>contains the count of subscribed contents of a folder.</td>
+ </tr>
+ <tr>
+ <td>SynchronizePolicy</td>
+ <td>SynchronizePolicy</td>
+ <td>contains the policy to use when synchronizing two objects.</td>
+ </tr>
+ <tr>
+ <td>TargetFrames</td>
+ <td>string</td>
+ <td>contains information about the target frame to use when displaying
+ an object.
+ <p>The value is a string containing three tokens, separated by &quot;;&quot;
+ (A semicolon):<br/>
+ <dl>
+ <dt>1st token</dt>
+ <dd>Behavior on &quot;select&quot; ( single click )</dd>
+ <dt>2nd token</dt>
+ <dd>Behavior on &quot;open&quot; ( double click )</dd>
+ <dt>3rd token</dt>
+ <dd>Behavior on &quot;open in new task&quot; ( double click + CTRL key )</dd>
+ </dl>
+ </p>
+ <p> Each token may contain the following values:<br/>
+ <dl>
+ <dt>&quot;_beamer&quot;</dt>
+ <dd>Show in &quot;Beamer&quot;</dd>
+ <dt>&quot;_top&quot;</dt>
+ <dd>Show in current frame (replaces old)</dd>
+ <dt>&quot;_blank&quot;</dt>
+ <dd>Show in new task</dd>
+ </dl>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>TargetURL</td>
+ <td>string</td>
+ <td>for contents that are links to other contents, contains the URL of
+ the target content</td>
+ </tr>
+ <tr>
+ <td>TimeLimitStore</td>
+ <td>short</td>
+ <td>contains the value to use if the property "IsTimeLimitedStore" is set.</td>
+ </tr>
+ <tr>
+ <td>UserName</td>
+ <td>string</td>
+ <td>contains a user name. (e.g. the user name needed to access a
+ POP3-Account)</td>
+ </tr>
+ <tr>
+ <td>VerificationMode</td>
+ <td>VerificationMode </td>
+ <td>describes a verification policy.</td>
+ </tr>
+ </table>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** notifies changes of property values to listeners registered for
+ those properties.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** can be used to add new properties to the content and to remove
+ properties from the content dynamically.
+
+ <p>Note that the dynamic properties must be kept persistent. The
+ service Store (UCB persistence service) may be used to
+ implement this.
+
+ <p><b>Important:</b> The implementation of
+ com::sun::star::beans::XPropertyContainer::addProperty()
+ must at least support adding properties of the following basic data
+ types:
+
+ <p>
+ <ul>
+ <li>boolean
+ <li>char
+ <li>byte
+ <li>string
+ <li>short
+ <li>long
+ <li>hyper
+ <li>float
+ <li>double
+ </ul>
+ </p>
+
+ <p>If a property with an unsupported type shall be added a
+ com::sun::star::beans::IllegalTypeException must
+ be raised.
+
+ @deprecated
+ <p>This interface is <b>deprecated</b>, because a
+ ContentProvider might need a
+ XCommandEnvironment to perform the tasks of adding and
+ removing properties. New implementations should implement the
+ respective commands "addProperty" and "removeProperty" instead.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** can be used to notify properties removed from or added to the
+ content's property set.
+
+ <p>This interface must be implemented, if the implementation can
+ dynamically change it's property set ( e.g. because it implements
+ the interface
+ com::sun::star::beans::XPropertyContainer. )
+ */
+ [optional] interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** can be used to notify commands removed from or added to the
+ content's command set.
+
+ <p>This interface must be implemented, if the implementation can
+ dynamically change it's command set ( e.g. because the set of
+ available commands depends on the value of a property of the
+ content ).
+
+ <p>This interface is optional.
+ */
+ [optional] interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** creates new contents (i.e. creates a new folder in another folder
+ somewhere in the local file system).
+
+ <p>A content is "new", if it does not physically exist before creating
+ it using this interface.
+
+ <p>This interface is optional. It should be implemented by contents
+ which shall be able to create new objects.
+
+ @deprecated
+
+ <p>This interface is <b>deprecated</b>. Use property
+ "CreatableContentsInfo" and command "createNewContent" instead.
+ */
+ [optional] interface com::sun::star::ucb::XContentCreator;
+
+ /** provides access to the parent content of this content.
+
+ <p>The object returned by the implementation of the method
+ com::sun::star::container::XChild::getParent()
+ must implement the service Content. If the content is a
+ root object, an empty interface may be returned.
+
+ <p>This interface must be implemented by a content which is a (logical)
+ child of a content.
+ */
+ [optional] interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentAction.idl b/offapi/com/sun/star/ucb/ContentAction.idl
new file mode 100644
index 000000000..4e3127756
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentAction.idl
@@ -0,0 +1,147 @@
+/* -*- 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_ucb_ContentAction_idl__
+#define __com_sun_star_ucb_ContentAction_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies actions which can be transported with content events.
+
+ <p>
+ The situations under which contents will send ContentEvents of the various
+ action types are described below. The description is broken into a list of
+ useful definitions, a list of events that happen to contents, and a list of
+ reactions taken by contents in response to those events.
+ </p>
+
+ <p>
+ The definitions are as follows:
+ </p>
+
+ <table border =1>
+ <tr><td>D1</td><td>A content C has an identifier id(C).</td></tr>
+ <tr><td>D2</td><td>A content C is in one of two states, Alive or Deleted.
+ </td></tr>
+ <tr><td>D3</td><td>A folder content F has a set of children H(F) that is a
+ set of content identifiers. For example, an "open"
+ command will usually return a subset of the contents
+ denoted by H(F).</td></tr>
+ </table>
+
+ <p>
+ The events that can happen to contents (and that are of interest in this
+ context) are listed next. Note that "event" here does not mean an
+ ContentEvent, but rather some event that occurs either because some content
+ processes a command, or because a content gets informed about a relevant
+ change in the underlying system it represents.
+ </p>
+
+ <table border =1>
+ <tr><td>E1</td><td>The identifier of a content C changes from id1(C) == A
+ to id2(C) == B, denoted as E1(C: A->B). For example,
+ this event may occur when content C processes a
+ "setPropertyValues" command changing its "Title" property,
+ or when a folder that hierarchically contains C changes
+ its identity.</td></tr>
+ <tr><td>E2</td><td>The state of a content C changes from Alive to Deleted,
+ denoted as E2(C). For example, this event may occur when
+ content C processes a "delete" command, or when a content
+ representing an IMAP message gets informed by the IMAP
+ server that the message has been deleted.</td></tr>
+ <tr><td>E3</td><td>The set of children of a folder content F is enlarged by
+ some identifier A (that was not previously in that set,
+ i.e., !(A in H1(F)) && (A in H2(F))), denoted as E3(F, A).
+ For example, this event may occur when a new content
+ created at folder F processes its "insert" command, or
+ when a folder representing an IMAP mailbox gets informed
+ by the IMAP server that a new message has arrived at that
+ mailbox.</td></tr>
+ </table>
+
+ <p>
+ Finally, the list of reactions taken by contents in response to the above
+ events gives a description of what kinds of ContentEvents are sent in which
+ situations:
+ </p>
+
+ <table border =1>
+ <tr><td>R1</td><td>E1(C: A->B) results in C sending an EXCHANGED
+ ContentEvent, which then results in the following: All
+ folders F that used to have A as a child, but will not
+ have B as a child, i.e., (A in H1(F)) && !(B in H2(F)),
+ send a REMOVED ContentEvent.</td></tr>
+ <tr><td>R2</td><td>E2(C) results in C sending a DELETED ContentEvent,
+ which then results in the following: All folders F that
+ used to have A as a child, but will not continue to have
+ A as a child, i.e., (A in H1(F)) && !(A in H2(F)), send
+ a REMOVED event.</td></tr>
+ <tr><td>R3</td><td>E3(F, A) results in F sending an INSERTED event.</td></tr>
+ </table>
+*/
+published constants ContentAction
+{
+ /** A content was inserted into a folder content (i.e., while updating the
+ folder).
+
+ <p>This action must be notified at the listeners of the folder content.
+ */
+ const long INSERTED = 0;
+
+ /** A content was removed from a folder content, but not physically
+ destroyed (i.e., due to rules just applied to the folder).
+
+ <p>This action must be notified at the listeners of the folder content.
+ */
+ const long REMOVED = 1;
+
+ /** A content was physically destroyed.
+
+ <p>Events containing this action may be generated at any time. So a
+ content event listener should be prepared to get notified the "death"
+ of the related content!
+
+ <p>This action must be notified at the listeners of the deleted
+ content.
+ */
+ const long DELETED = 2;
+
+ /** This Action indicates that a content has changed its identity (i.e.
+ after renaming a file system folder).
+
+ <p>This action must be notified at the listeners of the exchanged
+ content.
+ */
+ const long EXCHANGED = 4;
+
+ /** This is obsolete and should no longer be used.
+
+ @deprecated
+ */
+ const long SEARCH_MATCHED = 128;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentCreationError.idl b/offapi/com/sun/star/ucb/ContentCreationError.idl
new file mode 100644
index 000000000..e849d4e5f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentCreationError.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_ucb_ContentCreationError_idl__
+#define __com_sun_star_ucb_ContentCreationError_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Codes for content creation errors.
+*/
+published enum ContentCreationError
+{
+ /** Unknown.
+ */
+ UNKNOWN,
+
+ /** @deprecated
+ */
+ NO_CONTENT_BROKER,
+
+ /** @deprecated
+ */
+ NO_IDENTIFIER_FACTORY,
+
+ /** Creation of content identifier failed.
+ */
+ IDENTIFIER_CREATION_FAILED,
+
+ /** No Content Provider for given content identifier available.
+ */
+ NO_CONTENT_PROVIDER,
+
+ /** Provider was unable to create the content instance.
+ */
+ CONTENT_CREATION_FAILED
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentCreationException.idl b/offapi/com/sun/star/ucb/ContentCreationException.idl
new file mode 100644
index 000000000..9f8bcfbe0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentCreationException.idl
@@ -0,0 +1,45 @@
+/* -*- 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_ucb_ContentCreationException_idl__
+#define __com_sun_star_ucb_ContentCreationException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/ucb/ContentCreationError.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate that the creation of a UCB content
+ failed.
+
+ @version 1.0
+*/
+published exception ContentCreationException : com::sun::star::uno::Exception
+{
+ /** An error code.
+ */
+ ContentCreationError eError;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentEvent.idl b/offapi/com/sun/star/ucb/ContentEvent.idl
new file mode 100644
index 000000000..bc5a74023
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentEvent.idl
@@ -0,0 +1,100 @@
+/* -*- 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_ucb_ContentEvent_idl__
+#define __com_sun_star_ucb_ContentEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module ucb {
+
+ published interface XContent;
+ published interface XContentIdentifier;
+
+/** A structure for content events.
+*/
+published struct ContentEvent: com::sun::star::lang::EventObject
+{
+ /** The action.
+
+ <p>The value can be one of the ContentAction constants.
+ */
+ long Action;
+
+ /** The content to that the action is related (e.g., the content that was
+ just physically destroyed, the content that was just inserted into a
+ folder content).
+
+ <p>This member must be filled as follows:
+
+ <table border=1>
+ <tr align=left>
+ <td>ContentAction::INSERTED</td>
+ <td>The content inserted into a folder</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::REMOVED</td>
+ <td>The content removed from a folder</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::DELETED</td>
+ <td>The deleted content</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::EXCHANGED</td>
+ <td>The exchanged content (that already has the new content id)</td>
+ </tr>
+ </table>
+ */
+ XContent Content;
+
+ /** A content identifier, which must be filled according to the action
+ notified (e.g., the id of the folder content into which another content
+ was inserted).
+
+ <p>This member must be filled as follows:
+
+ <table border=1>
+ <tr align=left>
+ <td>ContentAction::INSERTED</td>
+ <td>Id of the folder the content was inserted into</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::REMOVED</td>
+ <td>Id of the folder the content was removed from</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::DELETED</td>
+ <td>Id of the deleted content</td>
+ </tr>
+ <tr align=left>
+ <td>ContentAction::EXCHANGED</td>
+ <td>Previous(!) id of the exchanged content</td>
+ </tr>
+ </table>
+ */
+ XContentIdentifier Id;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentInfo.idl b/offapi/com/sun/star/ucb/ContentInfo.idl
new file mode 100644
index 000000000..f10c8527b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentInfo.idl
@@ -0,0 +1,94 @@
+/* -*- 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_ucb_ContentInfo_idl__
+#define __com_sun_star_ucb_ContentInfo_idl__
+
+#include <com/sun/star/beans/Property.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A structure for information about contents.
+
+ @see XContentCreator
+ @see XCommandProcessor
+*/
+published struct ContentInfo
+{
+ /** A type identifier string for a content.
+
+ <p>This is an implementation specific string characterizing the
+ kind of a content (e.g. "application/vnd.sun.star.hierarchy-link").
+ The value of this member should match the value returned by
+ XContent::getContentType() of an appropriate content.
+ */
+ string Type;
+
+ /** Additional attributes.
+
+ <p>These flags contain extra information on the content, like its kind
+ (KIND_FOLDER, KIND_DOCUMENT, KIND_LINK).
+
+ <p>It is highly recommended to fill these flags very accurately, as
+ they are very important when transferring contents between different
+ ContentProviders.
+
+ <p>The value can be one of the ContentInfoAttribute
+ constants.
+ */
+ long Attributes;
+
+ /** This field contains a list with the properties which must be set at
+ a content that was just created using
+ XContentCreator::createNewContent() before it can be
+ committed (by executing the command "insert" at the new content).
+
+ <p>If one of the properties is missing, the insert command will fail.
+
+ <p>In example, a new file system folder content will need a title. The
+ Properties member of the ContentInfo provided for this kind of
+ content must include the property "Title".
+
+ <p><b>Important:</b> The required properties must have one of the
+ following basic data types (in order to make it possible to implement
+ client applications with a small set of generic input methods for the
+ values):
+
+ <p>
+ <ul>
+ <li>boolean
+ <li>char
+ <li>byte
+ <li>string
+ <li>short
+ <li>long
+ <li>hyper
+ <li>float
+ <li>double
+ </ul>
+ */
+ sequence< com::sun::star::beans::Property > Properties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentInfoAttribute.idl b/offapi/com/sun/star/ucb/ContentInfoAttribute.idl
new file mode 100644
index 000000000..ac1207797
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentInfoAttribute.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_ucb_ContentInfoAttribute_idl__
+#define __com_sun_star_ucb_ContentInfoAttribute_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for ContentInfo::Attributes.
+*/
+published constants ContentInfoAttribute
+{
+ /** No extra attributes.
+ */
+ const short NONE = 0;
+
+ /** Supply an input stream with the InsertCommandArgument,
+ when committing the new content by executing the command "insert" at it.
+ */
+ const short INSERT_WITH_INPUTSTREAM = 1;
+
+ /** The new content is of kind document.
+
+ <p>It's value for the property "IsDocument" will be true.
+ */
+ const short KIND_DOCUMENT = 2;
+
+ /** The new content is of kind folder.
+
+ <p>It's value for the property "IsFolder" will be true.
+ */
+ const short KIND_FOLDER = 4;
+
+ /** The new content is of kind link.
+
+ <p>It will support the property "TargetURL" ( which identifies it as
+ a link ).
+ */
+ const short KIND_LINK = 8;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentProvider.idl b/offapi/com/sun/star/ucb/ContentProvider.idl
new file mode 100644
index 000000000..27328f3ef
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProvider.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_ucb_ContentProvider_idl__
+#define __com_sun_star_ucb_ContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/ucb/XContentIdentifierFactory.idl>
+#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
+#include <com/sun/star/ucb/XContentProviderSupplier.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides access to a set of Contents.
+*/
+published service ContentProvider
+{
+ /** gives access to all contents provided by this provider.
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+ /** creates special XContentIdentifier implementation
+ objects for the contents provided by this content provider.
+
+ <p>This interface can be implemented in case the provider wants to
+ provide some additional interfaces with its implementation of the
+ identifier objects.
+ */
+ [optional] interface com::sun::star::ucb::XContentIdentifierFactory;
+
+ /** allows a ContentProvider to adjust itself to special
+ needs.
+
+ <p>Whenever a ContentProvider that supports this interface is
+ registered at a XContentProviderManager, the method
+ XParameterizedContentProvider::registerInstance()
+ should first be called, using the returned XContentProvider
+ to register at the XContentProviderManager.
+ */
+ [optional] interface com::sun::star::ucb::XParameterizedContentProvider;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentProviderInfo.idl b/offapi/com/sun/star/ucb/ContentProviderInfo.idl
new file mode 100644
index 000000000..04cc88c22
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProviderInfo.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_ucb_ContentProviderInfo_idl__
+#define __com_sun_star_ucb_ContentProviderInfo_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A structure for content provider information.
+
+ @see XContentProviderManager
+*/
+published struct ContentProviderInfo
+{
+ /** The content provider.
+ */
+ com::sun::star::ucb::XContentProvider ContentProvider;
+
+ /** The scheme the Provider is registered for.
+ */
+ string Scheme;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentProviderProxy.idl b/offapi/com/sun/star/ucb/ContentProviderProxy.idl
new file mode 100644
index 000000000..3320affa5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProviderProxy.idl
@@ -0,0 +1,74 @@
+/* -*- 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_ucb_ContentProviderProxy_idl__
+#define __com_sun_star_ucb_ContentProviderProxy_idl__
+
+#include <com/sun/star/ucb/XContentProviderSupplier.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a proxy for a content provider.
+
+ <p>Implementing a content provider proxy can be useful if the creation of
+ the real content provider object shall be deferred for some reason
+ (i.e. performance) until the first method gets called on it. Instead of
+ instantiating and registering the real provider at the UCB, a proxy for
+ the real provider can be created and registered at the UCB.
+
+ @see XContentProviderProxyFactory
+*/
+published service ContentProviderProxy
+{
+ /** The implementation of
+ com::sun::star::uno::XInterface::queryInterface()
+ must instantiate the real provider and return the return value
+ of a queryInterface call at the real provider, except for queries
+ for the interfaces implemented by the proxy itself. So the caller of
+ the queryInterface method at the proxy will get access to the real
+ provider in a completely transparent way.
+ */
+ interface com::sun::star::uno::XInterface;
+
+ /** gives access to the original content provider behind the proxy.
+
+ <p>The implementation will instantiate the real content provider only
+ on demand using its UNO service name. This will load the content
+ providers implementation code (dynamic library), if not already done.
+ */
+ interface com::sun::star::ucb::XContentProviderSupplier;
+
+ /** a content provider implementation that wraps the original provider.
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+ /** a parameterized content provider implementation that wraps the
+ original provider.
+ */
+ interface com::sun::star::ucb::XParameterizedContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl b/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl
new file mode 100644
index 000000000..caf7263cf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl
@@ -0,0 +1,36 @@
+/* -*- 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_ucb_ContentProviderProxyFactory_idl__
+#define __com_sun_star_ucb_ContentProviderProxyFactory_idl__
+
+#include <com/sun/star/ucb/XContentProviderFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for ContentProviderProxy implementations.
+*/
+published service ContentProviderProxyFactory : XContentProviderFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentResultSet.idl b/offapi/com/sun/star/ucb/ContentResultSet.idl
new file mode 100644
index 000000000..513b25458
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentResultSet.idl
@@ -0,0 +1,193 @@
+/* -*- 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_ucb_ContentResultSet_idl__
+#define __com_sun_star_ucb_ContentResultSet_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/sdbc/XResultSet.idl>
+#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.idl>
+#include <com/sun/star/sdbc/XRow.idl>
+#include <com/sun/star/sdbc/XCloseable.idl>
+#include <com/sun/star/ucb/XContentAccess.idl>
+#include <com/sun/star/sdbc/ResultSet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides access to the children of a folder content.
+
+ <p>It can be understand as a table containing a row for each child. The
+ table columns may contain values of properties of the children.
+*/
+published service ContentResultSet
+{
+ /** must be implemented to make it possible to resolve cyclic object
+ references ( i.e. between an implementation of
+ com::sun::star::beans::XPropertySet
+ - which may hold property change listeners - and
+ com::sun::star::beans::XPropertyChangeListener
+ - which may hold the property set ).
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** provides access to the result set meta data. Meta data are for
+ example the number of columns of the result set, information
+ on the data types of columns, column names, and more.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::sdbc::XResultSetMetaDataSupplier;
+
+ /** enables traveling through the result set members ( the contents ).
+ This interface mainly provides a cursor for the result set.
+
+ <p>Note that every method of this interface implementation additionally
+ may throw a ResultSetException ( which is derived from
+ com::sun::star::sdbc::SQLException to be compatible
+ to that interface ). The new exception transports another exception,
+ which indicates the reason for the failure of the method call.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::sdbc::XResultSet;
+
+ /** provides access to data of the content the cursor is pointing to.
+
+ <p>Note that every method of this interface implementation additionally
+ may throw a ResultSetException ( which is derived from
+ com::sun::star::sdbc::SQLException to be compatible
+ to that interface ). The new exception transports another exception,
+ which indicates the reason for the failure of the method call.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::sdbc::XRow;
+
+ /** makes it possible to abort running activities ( i.e. to cancel
+ retrieving data from a server ).
+
+ <p>Note that every method of this interface implementation additionally
+ may throw a ResultSetException ( which is derived from
+ com::sun::star::sdbc::SQLException to be compatible
+ to that interface ). The new exception transports another exception,
+ which indicates the reason for the failure of the method call.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::sdbc::XCloseable;
+
+ /** holds properties of the result set.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** controls the travel mode of the result set cursor.
+
+ <p>There are two possible travel modes:
+
+ <p><table border=1>
+ <tr><td>CursorTravelMode::BLOCKING</td>
+ <td>Each travel method of the result set will not return until the
+ data for the new position were retrieved.</td></tr>
+ <tr><td>CursorTravelMode::NONBLOCKING</td>
+ <td>The implementation will throw a
+ <code>CursorWouldBlockException</code>, if the data for the new
+ position are not retrieved yet.</td></tr>
+ </table>
+
+ <p>The following pseudo-code illustrates the usage of a non-blocking
+ cursor:
+
+ @code{.java}
+ bProcessedAllRows = false
+ while ( !bProcessedAllRows )
+ {
+ cursor.setPropertyValue( "CursorTravelMode", BLOCKING )
+
+ cursor.travelSomeWhere()
+ collectRowData()
+
+ cursor.setPropertyValue( "CursorTravelMode", NONBLOCKING )
+
+ bGoOn = true;
+ while ( bGoOn )
+ {
+ try
+ {
+ cursor.travelSomeWhere()
+ collectRowData()
+ }
+ catch ( CursorWouldBlockException )
+ {
+ // No more data at the moment.
+ bGoOn = false
+ }
+ }
+
+ doSomethingWithCollectedRowData()
+
+ bProcessedAllRows = ...
+ }
+ @endcode
+
+ <p>
+ If this property is not supported, the implementation needs to provide
+ a blocking cursor.
+ </p>
+
+ <p>
+ The implementation initially needs to set the value of this property
+ to CursorTravelMode::BLOCKING.
+ </p>
+
+ @see CursorTravelMode
+ */
+ [optional, property] long CursorTravelMode;
+
+ /** contains the number of rows obtained (so far) from the data source. */
+ [readonly, property] long RowCount;
+
+ /** indicates that all rows of the result set have been obtained. */
+ [readonly, property] boolean IsRowCountFinal;
+
+ /** provides access to the content identifier and the content object
+ itself.
+
+ <p>This interface is required.
+ */
+ interface XContentAccess;
+
+ /** can be implemented to provide a complete JDBC conform result set
+ interface for the implementation of this service.
+
+ <p>The implementation of this service is optional.
+ */
+ service com::sun::star::sdbc::ResultSet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentResultSetCapability.idl b/offapi/com/sun/star/ucb/ContentResultSetCapability.idl
new file mode 100644
index 000000000..71b90cf67
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentResultSetCapability.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_ucb_ContentResultSetCapability_idl__
+#define __com_sun_star_ucb_ContentResultSetCapability_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These values are used to specify the capabilities of an
+ XDynamicResultSet.
+*/
+published constants ContentResultSetCapability
+{
+ /** indicates that a ContentResultSet is properly sorted,
+ exactly following the rules given during the ContentResultSet was
+ created.
+ */
+ const short SORTED = 1;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ContentTransmitter.idl b/offapi/com/sun/star/ucb/ContentTransmitter.idl
new file mode 100644
index 000000000..c7725beaa
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ContentTransmitter.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_ucb_ContentTransmitter_idl__
+#define __com_sun_star_ucb_ContentTransmitter_idl__
+
+#include <com/sun/star/ucb/XContentTransmitter.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A ContentTransmitter is a service that provides
+
+ @deprecated
+*/
+published service ContentTransmitter
+{
+ /**
+
+ This interface is required.
+ */
+ interface com::sun::star::ucb::XContentTransmitter;
+};
+
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/CrossReference.idl b/offapi/com/sun/star/ucb/CrossReference.idl
new file mode 100644
index 000000000..ef06a54cc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/CrossReference.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_ucb_CrossReference_idl__
+#define __com_sun_star_ucb_CrossReference_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct contains information describing a cross reference.
+
+ <p>Such references are kept by news servers for managing articles
+ contained in multiple groups. An article can have a sequence of
+ cross references.
+*/
+published struct CrossReference
+{
+ /** The name of a news group.
+ */
+ string Group;
+
+ /** The unique identifier (relative to the server) of an article in the
+ given group.
+ */
+ long Id;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl b/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl
new file mode 100644
index 000000000..bf795cc76
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.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_ucb_DefaultHierarchyDataSource_idl__
+#define __com_sun_star_ucb_DefaultHierarchyDataSource_idl__
+
+#include <com/sun/star/ucb/HierarchyDataSource.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a concrete implementation of service HierarchyDataSource,
+ which uses the service
+ com::sun::star::configuration::ConfigurationProvider
+ for reading and writing hierarchy data.
+*/
+published service DefaultHierarchyDataSource
+{
+ /** is a concrete implementation of service HierarchyDataSource,
+ which uses the service
+ com::sun::star::configuration::ConfigurationProvider
+ for reading and writing hierarchy data.
+
+ <p>com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ supports the service specifiers
+ <code>"com.sun.star.ucb.HierarchyDataReadAccess"</code> and
+ <code>"com.sun.star.ucb.HierarchyDataReadWriteAccess"</code>.
+ */
+ service HierarchyDataSource;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DocumentHeaderField.idl b/offapi/com/sun/star/ucb/DocumentHeaderField.idl
new file mode 100644
index 000000000..2445d3bd8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DocumentHeaderField.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_ucb_DocumentHeaderField_idl__
+#define __com_sun_star_ucb_DocumentHeaderField_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct contains a name-value pair of a document header (i.e.
+ the "subject" field and the appropriate value of a MIME message).
+*/
+published struct DocumentHeaderField
+{
+ /** The name of the header field.
+ */
+ string Name;
+
+ /** The value of the header field.
+ */
+ string Value;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DocumentStoreMode.idl b/offapi/com/sun/star/ucb/DocumentStoreMode.idl
new file mode 100644
index 000000000..32c16422e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DocumentStoreMode.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_ucb_DocumentStoreMode_idl__
+#define __com_sun_star_ucb_DocumentStoreMode_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for the property "DocumentStoreMode".
+
+ @see XCommandProcessor
+ @see Content
+*/
+published enum DocumentStoreMode
+{
+ /** Document contents are not stored locally.
+ */
+ REMOTE,
+
+ /** Document contents are stored locally.
+ */
+ LOCAL
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl b/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl
new file mode 100644
index 000000000..4cdbfbc7f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.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_ucb_DuplicateCommandIdentifierException_idl__
+#define __com_sun_star_ucb_DuplicateCommandIdentifierException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** is thrown by XCommandProcessor::execute() to indicate that
+ the same command identifier was used for two threads.
+
+ <p>Each thread must use its own command identifier, which must be obtained
+ using XCommandProcessor::createCommandIdentifier(). Command
+ identifier <code>0</code>, which indicates that the command shall never
+ be aborted by a client, can be used by any thread.
+
+ @version 1.0
+ @see XCommandProcessor
+*/
+published exception DuplicateCommandIdentifierException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DuplicateProviderException.idl b/offapi/com/sun/star/ucb/DuplicateProviderException.idl
new file mode 100644
index 000000000..f0255d008
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DuplicateProviderException.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_ucb_DuplicateProviderException_idl__
+#define __com_sun_star_ucb_DuplicateProviderException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** is thrown to indicate that a content provider with the same
+ identifier already was registered with a content provider manager.
+
+ @version 1.0
+ @see XContentProviderManager
+*/
+published exception DuplicateProviderException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/DynamicResultSet.idl b/offapi/com/sun/star/ucb/DynamicResultSet.idl
new file mode 100644
index 000000000..b62a6588c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/DynamicResultSet.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_ucb_DynamicResultSet_idl__
+#define __com_sun_star_ucb_DynamicResultSet_idl__
+
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides read access to a static or dynamically changing
+ ContentResultSet.
+
+ <p>For example, a DynamicResultSet is returned from the
+ open-command executed by an XCommandProcessor of the service
+ Content.
+*/
+
+published service DynamicResultSet
+{
+ /** Provides read access to a static or a dynamically changing
+ ContentResultSet.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XDynamicResultSet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Error.idl b/offapi/com/sun/star/ucb/Error.idl
new file mode 100644
index 000000000..559c549e1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Error.idl
@@ -0,0 +1,336 @@
+/* -*- 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_ucb_Error_idl__
+#define __com_sun_star_ucb_Error_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These codes are used to indicate errors.
+
+ @deprecated
+*/
+published constants Error
+{
+ // DOCUMENTATION MISSING FOR constants::0
+ const long NONE = 0;
+
+ // DOCUMENTATION MISSING FOR constants::122880
+ const long LOGIN_FAILURE_RECEIVE = 122880;
+
+ // DOCUMENTATION MISSING FOR constants::122881
+ const long LOGIN_FAILURE_NEWSSEND = 122881;
+
+ // DOCUMENTATION MISSING FOR constants::122882
+ const long LOGIN_FAILURE_MAILSEND = 122882;
+
+ // DOCUMENTATION MISSING FOR constants::122883
+ const long CONNECT_FAILURE = 122883;
+
+ // DOCUMENTATION MISSING FOR constants::122884
+ const long UCB_OFFLINE = 122884;
+
+ // DOCUMENTATION MISSING FOR constants::122885
+ const long UCB_SERVER_ERROR = 122885;
+
+ // DOCUMENTATION MISSING FOR constants::122886
+ const long STORAGE_READONLY = 122886;
+
+ // DOCUMENTATION MISSING FOR constants::122887
+ const long STORAGE_KILLED = 122887;
+
+ // DOCUMENTATION MISSING FOR constants::122888
+ const long WRONG_FILE_FORMAT = 122888;
+
+ // DOCUMENTATION MISSING FOR constants::122889
+ const long UNSUPPORTED_URL = 122889;
+
+ // DOCUMENTATION MISSING FOR constants::122890
+ const long CNTOUT_NO_FROM = 122890;
+
+ // DOCUMENTATION MISSING FOR constants::122891
+ const long TOO_MANY_GROUPS = 122891;
+
+ // DOCUMENTATION MISSING FOR constants::122892
+ const long DELETE_ABORTED = 122892;
+
+ // DOCUMENTATION MISSING FOR constants::122893
+ const long QUERY_DELETE = 122893;
+
+ // DOCUMENTATION MISSING FOR constants::122894
+ const long NOTAVAILABLE = 122894;
+
+ // DOCUMENTATION MISSING FOR constants::122895
+ const long VIM_LIBRARY_ERROR = 122895;
+
+ // DOCUMENTATION MISSING FOR constants::122896
+ const long FOLDER_INVALID = 122896;
+
+ // DOCUMENTATION MISSING FOR constants::122897
+ const long FTP_RESOLVERERROR = 122897;
+
+ // DOCUMENTATION MISSING FOR constants::122898
+ const long FTP_NETWORKERROR = 122898;
+
+ // DOCUMENTATION MISSING FOR constants::122899
+ const long FTP_NOTNECESSARYCMD = 122899;
+
+ // DOCUMENTATION MISSING FOR constants::122900
+ const long FTP_SERVICEUNAVAILABLE = 122900;
+
+ // DOCUMENTATION MISSING FOR constants::122901
+ const long FTP_DCONFAILURE = 122901;
+
+ // DOCUMENTATION MISSING FOR constants::122902
+ const long FTP_TRANSFERABORTED = 122902;
+
+ // DOCUMENTATION MISSING FOR constants::122903
+ const long NO_VIM_LIBRARY = 122903;
+
+ // DOCUMENTATION MISSING FOR constants::122904
+ const long VIM_LIBRARY_CORRUPTED = 122904;
+
+ // DOCUMENTATION MISSING FOR constants::122905
+ const long CCMAIL_EXPORT_ERROR = 122905;
+
+ // DOCUMENTATION MISSING FOR constants::122906
+ const long NO_CCMAIL_EXPORT_FILE = 122906;
+
+ // DOCUMENTATION MISSING FOR constants::122907
+ const long ILLEGAL_CCMAIL_EXPORT_FILE = 122907;
+
+ // DOCUMENTATION MISSING FOR constants::122908
+ const long MESSAGE_NOT_FOUND = 122908;
+
+ // DOCUMENTATION MISSING FOR constants::122909
+ const long BAD_CCMAIL_EXPORT_PASSWORD = 122909;
+
+ // DOCUMENTATION MISSING FOR constants::122910
+ const long CCMAIL_EXPORT_TOO_LONG = 122910;
+
+ // DOCUMENTATION MISSING FOR constants::122911
+ const long FOLDER_EXISTS = 122911;
+
+ // DOCUMENTATION MISSING FOR constants::122912
+ const long FOLDER_NOT_EXISTS = 122912;
+
+ // DOCUMENTATION MISSING FOR constants::122913
+ const long NO_VIM_BBOARDLIST = 122913;
+
+ // DOCUMENTATION MISSING FOR constants::122914
+ const long ILLEGAL_MESSAGE_ID = 122914;
+
+ // DOCUMENTATION MISSING FOR constants::122915
+ const long SERVER_PORT_SYNTAX = 122915;
+
+ // DOCUMENTATION MISSING FOR constants::122916
+ const long SERVERNAME_SYNTAX = 122916;
+
+ // DOCUMENTATION MISSING FOR constants::122917
+ const long USERNAME_SYNTAX = 122917;
+
+ // DOCUMENTATION MISSING FOR constants::122918
+ const long IS_RESCHEDULED = 122918;
+
+ // DOCUMENTATION MISSING FOR constants::122919
+ const long VIM_NO_FAKE_MESSAGE_ID = 122919;
+
+ // DOCUMENTATION MISSING FOR constants::122920
+ const long FSYS_ROOT_DELETE = 122920;
+
+ // DOCUMENTATION MISSING FOR constants::122921
+ const long FILE_EXISTS = 122921;
+
+ // DOCUMENTATION MISSING FOR constants::122922
+ const long FILE_NOT_EXISTS = 122922;
+
+ // DOCUMENTATION MISSING FOR constants::122923
+ const long FSYS_MISPLACED_CHAR = 122923;
+
+ // DOCUMENTATION MISSING FOR constants::122924
+ const long FSYS_INVALID_CHAR = 122924;
+
+ // DOCUMENTATION MISSING FOR constants::122925
+ const long FSYS_INVALID_DEVICE = 122925;
+
+ // DOCUMENTATION MISSING FOR constants::122926
+ const long FSYS_ACCESS_DENIED = 122926;
+
+ // DOCUMENTATION MISSING FOR constants::122927
+ const long FSYS_LOCK_VIOLATION = 122927;
+
+ // DOCUMENTATION MISSING FOR constants::122928
+ const long FSYS_VOLUME_FULL = 122928;
+
+ // DOCUMENTATION MISSING FOR constants::122929
+ const long FSYS_NOT_SUPPORTED = 122929;
+
+ // DOCUMENTATION MISSING FOR constants::122930
+ const long FSYS_UNKNOWN = 122930;
+
+ // DOCUMENTATION MISSING FOR constants::122931
+ const long FSYS_NOT_A_FILE = 122931;
+
+ // DOCUMENTATION MISSING FOR constants::122932
+ const long FSYS_NOT_A_DIRECTORY = 122932;
+
+ // DOCUMENTATION MISSING FOR constants::122933
+ const long FSYS_IS_WILDCARD = 122933;
+
+ // DOCUMENTATION MISSING FOR constants::122934
+ const long RENAMED_WRONG_FILE_FORMAT = 122934;
+
+ // DOCUMENTATION MISSING FOR constants::122935
+ const long FSYS_UPDATE_NEEDED = 122935;
+
+ // DOCUMENTATION MISSING FOR constants::122936
+ const long FSYS_CANT_RESOLVE_CONFLICT = 122936;
+
+ // DOCUMENTATION MISSING FOR constants::122937
+ const long FSYS_CANT_ITERATE = 122937;
+
+ // DOCUMENTATION MISSING FOR constants::122938
+ const long ONE_NOT_SEARCHABLE = 122938;
+
+ // DOCUMENTATION MISSING FOR constants::122939
+ const long MULTIPLE_NOT_SEARCHABLE = 122939;
+
+ // DOCUMENTATION MISSING FOR constants::122940
+ const long FSYS_CACHE_INCONSISTENT = 122940;
+
+ // DOCUMENTATION MISSING FOR constants::122941
+ const long FSYS_READONLY = 122941;
+
+ // DOCUMENTATION MISSING FOR constants::122942
+ const long FSYS_LOCK = 122942;
+
+ // DOCUMENTATION MISSING FOR constants::122943
+ const long FSYS_UNLOCK = 122943;
+
+ // DOCUMENTATION MISSING FOR constants::122944
+ const long FSYS_DELETE = 122944;
+
+ // DOCUMENTATION MISSING FOR constants::122945
+ const long FSYS_IS_MARKED = 122945;
+
+ // DOCUMENTATION MISSING FOR constants::122946
+ const long FTP_GENERAL_FAILURE = 122946;
+
+ // DOCUMENTATION MISSING FOR constants::122947
+ const long DO_LOG = 122947;
+
+ // DOCUMENTATION MISSING FOR constants::122948
+ const long HTTP_COOKIE_REQUEST = 122948;
+
+ // DOCUMENTATION MISSING FOR constants::122949
+ const long FSYS_LOST_ROOT = 122949;
+
+ // DOCUMENTATION MISSING FOR constants::122950
+ const long FTP_PROXY = 122950;
+
+ // DOCUMENTATION MISSING FOR constants::122951
+ const long SOURCE_SAME_AS_TARGET = 122951;
+
+ // DOCUMENTATION MISSING FOR constants::122952
+ const long CONFIRM_EMPTY_TRASH = 122952;
+
+ // DOCUMENTATION MISSING FOR constants::122953
+ const long FSYS_NO_TARGET = 122953;
+
+ // DOCUMENTATION MISSING FOR constants::122954
+ const long FSYS_RECURSIVE = 122954;
+
+ // DOCUMENTATION MISSING FOR constants::122955
+ const long FSYS_INSERT_MEDIUM = 122955;
+
+ // DOCUMENTATION MISSING FOR constants::122956
+ const long NO_DOCINFO = 122956;
+
+ // DOCUMENTATION MISSING FOR constants::122957
+ const long CCMAIL_EXPORT_NOT_TERMINATING = 122957;
+
+ // DOCUMENTATION MISSING FOR constants::122958
+ const long EXTERNAL_COMMAND_FAILED = 122958;
+
+ // DOCUMENTATION MISSING FOR constants::122959
+ const long RENAME_FAILED = 122959;
+
+ // DOCUMENTATION MISSING FOR constants::122960
+ const long NOT_HANDLED = 122960;
+
+ // DOCUMENTATION MISSING FOR constants::122961
+ const long COULD_NOT_INIT_COMPONENT = 122961;
+
+ // DOCUMENTATION MISSING FOR constants::122962
+ const long TRANSFER_URL_NOT_SUPPORTED = 122962;
+
+ // DOCUMENTATION MISSING FOR constants::122963
+ const long EMPTY_SERVERNAME = 122963;
+
+ // DOCUMENTATION MISSING FOR constants::122964
+ const long EMPTY_USERNAME = 122964;
+
+ // DOCUMENTATION MISSING FOR constants::122965
+ const long BAD_INET = 122965;
+
+ // DOCUMENTATION MISSING FOR constants::122966
+ const long IMAP_SERVER_MSG = 122966;
+
+ // DOCUMENTATION MISSING FOR constants::122967
+ const long IMAP_CONNECTION_CLOSED = 122967;
+
+ // DOCUMENTATION MISSING FOR constants::122968
+ const long IMAP_NOT_IMAP4 = 122968;
+
+ // DOCUMENTATION MISSING FOR constants::122969
+ const long IMAP_BAD_SERVER = 122969;
+
+ // DOCUMENTATION MISSING FOR constants::122970
+ const long REORGANIZE_FILE_LOCKED = 122970;
+
+ // DOCUMENTATION MISSING FOR constants::122971
+ const long IMAP_BAD_TITLE = 122971;
+
+ // DOCUMENTATION MISSING FOR constants::122972
+ const long SERVER_CONNECT_FAILURE = 122972;
+
+ // DOCUMENTATION MISSING FOR constants::122973
+ const long PASSWORD_SYNTAX = 122973;
+
+ // DOCUMENTATION MISSING FOR constants::122974
+ const long QUERY_DELETE_CACHE = 122974;
+
+ // DOCUMENTATION MISSING FOR constants::122975
+ const long REORGANIZE_NO_DISKSPACE = 122975;
+
+ // DOCUMENTATION MISSING FOR constants::122976
+ const long LOGIN_FAILURE_ACCOUNT = 122976;
+
+ // DOCUMENTATION MISSING FOR constants::122977
+ const long ACCOUNT_SYNTAX = 122977;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ExpandContentProvider.idl b/offapi/com/sun/star/ucb/ExpandContentProvider.idl
new file mode 100644
index 000000000..873203f89
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ExpandContentProvider.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_ucb_ExpandContentProvider_idl__
+#define __com_sun_star_ucb_ExpandContentProvider_idl__
+
+#include <com/sun/star/ucb/ContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The Expand Content Provider implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>
+ It provides access to content via macrofied URLs, e.g.
+ vnd.sun.star.expand://$UNO_USER_PACKAGES/abc.
+
+ Macros which will be expanded using the singleton
+ /singletons/com.sun.star.util.theMacroExpander
+ of the process's initial component context.
+
+ @see Content
+*/
+service ExpandContentProvider
+{
+ service ContentProvider;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ExportStreamInfo.idl b/offapi/com/sun/star/ucb/ExportStreamInfo.idl
new file mode 100644
index 000000000..140d983c5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ExportStreamInfo.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_ucb_ExportStreamInfo_idl__
+#define __com_sun_star_ucb_ExportStreamInfo_idl__
+
+#include <com/sun/star/io/XOutputStream.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** information needed to export an object in mbx format (supplying an output
+ stream to export into).
+*/
+published struct ExportStreamInfo
+{
+ /** the output stream to export into.
+ */
+ com::sun::star::io::XOutputStream Target;
+
+ /** tries hard to make message (document) bodies available for export.
+ */
+ boolean ForceBodies;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FTPContent.idl b/offapi/com/sun/star/ucb/FTPContent.idl
new file mode 100644
index 000000000..80bb55794
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FTPContent.idl
@@ -0,0 +1,189 @@
+/* -*- 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_ucb_FTPContent_idl__
+#define __com_sun_star_ucb_FTPContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A FTPContent provides an object representing either a (ftp-server-side)
+ directory object allowing listing of children or a content object providing
+ access to a (ftp-server-side) file.
+
+ @see com::sun::star::ucb::FTPContentProvider
+
+ @since OOo 1.1.2
+*/
+published service FTPContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>An object representing a directory in the file system is able
+ to create a new object, which in turn can become the representation
+ of a physical file/directory being contained in the initial directory.
+ The precise way is the following:
+
+ <p>
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new directories is
+ "application/vnd.sun.staroffice.ftp-folder". To create a new file
+ use the type "application/vnd.sun.staroffice.ftp-file".
+ As return value you get a new file content object.
+ </li>
+ <li>
+ Set a title at the new object by letting it execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ).
+ </li>
+ <li>
+ Let the new object ( not the parent! ) execute the command "insert".
+ This will create the corresponding physical file or directory.
+ For files, you need to supply the implementation of
+ a com::sun::star::io::XInputStream with the
+ command's parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ insert
+ </li>
+ <li>
+ delete
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, either
+ "application/vnd.sun.staroffice.ftp-folder" or
+ "application/vnd.sun.staroffice.ftp-file" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always `TRUE` for files, always
+ `FALSE` for directories )
+ </li>
+ <li>
+ boolean IsFolder ( read-only ), always `FALSE` for files, always
+ `TRUE` for directories )
+ </li>
+ <li>
+ boolean IsReadOnly ( read-only attribute )
+ </li>
+ <li>
+ string Title ( file name )
+ </li>
+ <li>
+ hyper Size ( file size )
+ </li>
+ <li>
+ string Title ( file name )
+ </li>
+ <li>
+ com::sun::star::util::DateTimeDateCreated ( read-only )
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FTPContentProvider.idl b/offapi/com/sun/star/ucb/FTPContentProvider.idl
new file mode 100644
index 000000000..585367af8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FTPContentProvider.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_ucb_FTPContentProvider_idl__
+#define __com_sun_star_ucb_FTPContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The FTP Content Provider (FCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>The served contents enable access to directories and files on a
+ ftp-server.
+
+ @see com::sun::star::ucb::Content
+
+ @since OOo 1.1.2
+*/
+
+published service FTPContentProvider
+{
+ /** provides an object representing either a (ftp-server side) directory
+ object allowing listing of children or a content object providing
+ access a (ftp-server side) file.
+
+ @see com::sun::star::ucb::FTPContent
+ */
+
+ interface com::sun::star::ucb::XContentProvider;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FetchError.idl b/offapi/com/sun/star/ucb/FetchError.idl
new file mode 100644
index 000000000..0b9b95d9f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FetchError.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_ucb_FetchError_idl__
+#define __com_sun_star_ucb_FetchError_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** These values are used to specify whether and which error has occurred
+ while fetching data of some ContentResultSet rows.
+
+ @see FetchResult
+*/
+published constants FetchError
+{
+ /** indicates that fetching of data was successful.
+ */
+ const short SUCCESS = 0;
+
+ /** indicates that during fetching we went beyond the last or first row.
+
+ <p>Therefore the FetchResult does not contain the full
+ count of demanded rows, but the maximum possible count must be
+ contained.
+ */
+ const short ENDOFDATA = 1;
+
+ /** indicates that during fetching we got an exception.
+
+ <p>The row, that causes the exception, and all following ( "following"
+ in read order! ) rows are not contained in the FetchResult.
+ Therefore the FetchResult does not contain the full count
+ of demanded rows. But all properly read rows so far must be contained.
+ */
+ const short EXCEPTION = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FetchResult.idl b/offapi/com/sun/star/ucb/FetchResult.idl
new file mode 100644
index 000000000..c4aee33a0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FetchResult.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_ucb_FetchResult_idl__
+#define __com_sun_star_ucb_FetchResult_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** contains data of several rows of a ContentResultSet.
+
+ <p>This struct is returned from XFetchProvider::fetch(),
+ for example.
+*/
+
+published struct FetchResult
+{
+ /** contains the demanded data.
+
+ <p>One any contains the data of one whole row. Those methods which
+ use this struct have to specify, what the any has to contain.
+ */
+ sequence< any > Rows;
+
+ /** indicates the index of the first row contained in
+ FetchResult::Rows in the original result set. So if
+ FetchResult::StartIndex equals <code>3</code>, the
+ first element in the sequence FetchResult::Rows
+ contains the data of the index <code>3</code> in the original result set.
+
+ <p>The following rows are one after the other, but the direction
+ depends on the value of FetchResult::Direction
+ */
+ long StartIndex;
+
+ /** indicates the orientation in which the rows are fetched and set into
+ the sequence FetchResult::Rows.
+
+ <p>When FetchResult::Orientation equals `TRUE`, the
+ rows in FetchResult::Rows are ordered in the same way
+ as in the original result set.
+ */
+ boolean Orientation;
+
+ /** indicates whether and which error has occurred, while fetching.
+
+ <p>The value may contain zero or more constants of the
+ FetchError constants group.
+ */
+ short FetchError;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FileContent.idl b/offapi/com/sun/star/ucb/FileContent.idl
new file mode 100644
index 000000000..89eda3997
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FileContent.idl
@@ -0,0 +1,220 @@
+/* -*- 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_ucb_FileContent_idl__
+#define __com_sun_star_ucb_FileContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A File Content represents either a directory or a file in the local file
+ system.
+
+ <p>Whether a content represents a folder or a file can be determined by
+ inspecting its property <b>IsFolder</b> or <b>IsDocument</b>.
+
+ @see com::sun::star::ucb::FileContentProvider
+*/
+published service FileContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>An object representing a directory in the file system is able
+ to create a new object, which in turn can become the representation
+ of a physical file/directory being contained in the initial directory.
+ The precise way is the following:
+
+ <p>
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new directories is
+ "application/vnd.sun.staroffice.fsys-folder". To create a new file
+ use the type "application/vnd.sun.staroffice.fsys-file".
+ As return value you get a new file content object.
+ </li>
+ <li>
+ Set a title at the new object by letting it execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ).
+ </li>
+ <li>
+ Let the new object ( not the parent! ) execute the command "insert".
+ This will create the corresponding physical file or directory.
+ For files, you need to supply the implementation of
+ a com::sun::star::io::XInputStream with the
+ command's parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created document persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, either
+ "application/vnd.sun.staroffice.fsys-folder" or
+ "application/vnd.sun.staroffice.fsys-file" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always `TRUE` for files, always
+ `FALSE` for directories )
+ </li>
+ <li>
+ boolean IsFolder ( read-only ), always `FALSE` for files, always
+ `TRUE` for directories )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateModified ( read-only )
+ </li>
+ <li>
+ boolean IsReadOnly ( read-only attribute )
+ </li>
+ <li>
+ hyper Size ( file size )
+ </li>
+ <li>
+ string Title ( file name )
+ </li>
+ <li>
+ boolean IsVolume ( read-only )
+ </li>
+ <li>
+ boolean IsRemoveable ( read-only )
+ </li>
+ <li>
+ boolean IsRemote ( read-only )
+ </li>
+ <li>
+ boolean IsCompactDisc ( read-only )
+ </li>
+ <li>
+ boolean IsFloppy ( read-only )
+ </li>
+ <li>
+ boolean IsHidden ( read-only )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FileContentProvider.idl b/offapi/com/sun/star/ucb/FileContentProvider.idl
new file mode 100644
index 000000000..e0f313429
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FileContentProvider.idl
@@ -0,0 +1,94 @@
+/* -*- 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_ucb_FileContentProvider_idl__
+#define __com_sun_star_ucb_FileContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/ucb/XFileIdentifierConverter.idl>
+#include <com/sun/star/ucb/XContentIdentifierFactory.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The File Content Provider (FCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>The served contents enable access to the local file system.
+
+ <p>The FCP is able to restrict access to the local file system to a number
+ of directories shown to the client under configurable alias names.
+
+ @see com::sun::star::ucb::Content
+*/
+published service FileContentProvider
+{
+ /** provides an object representing either a directory or a file in the
+ local file system.
+
+ @see com::sun::star::ucb::FileContent
+ */
+
+ interface com::sun::star::ucb::XContentProvider;
+
+ /** This interface is implemented according to the specification of
+ service ContentProvider.
+ */
+
+ interface com::sun::star::ucb::XContentIdentifierFactory;
+
+ /** provides access to properties supported by the UCP.
+
+ <p> The supported properties give two kinds of meta-information about
+ the environment of the FCP, namely property <b>HostName</b> containing
+ the name of the computer, and property <b>FileSystemNotation</b>
+ determining which system dependent notation the file system identifier
+ follow.
+
+ <p>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string HostName ( read-only )
+ </li>
+ <li>
+ long FileSystemNotation ( read-only, the value is one of the
+ FileSystemNotation constants )
+ </li>
+ </ul>
+
+ </p>
+ */
+
+ interface com::sun::star::beans::XPropertySet;
+
+ /** specifies methods to convert between (file) URLs and file paths in
+ system dependent notation
+ */
+
+ interface com::sun::star::ucb::XFileIdentifierConverter;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FileSystemNotation.idl b/offapi/com/sun/star/ucb/FileSystemNotation.idl
new file mode 100644
index 000000000..9c97e6428
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FileSystemNotation.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_ucb_FileSystemNotation_idl__
+#define __com_sun_star_ucb_FileSystemNotation_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** The notational conventions used to denote file system paths on different
+ file systems or operating systems.
+*/
+published constants FileSystemNotation
+{
+ /** No information regarding any conventions is available.
+ */
+ const long UNKNOWN_NOTATION = 0;
+
+ /** The conventions of Unix like file systems (e.g.,
+ <code>/dir1/dir2/file</code>).
+ */
+ const long UNIX_NOTATION = 1;
+
+ /** The conventions of DOS like file systems (e.g.,
+ <code>a:\\dir1\\dir2\\file</code> or UNC notation like
+ <code>\\\\host\\dir1\\dir2\\file</code>).
+ */
+ const long DOS_NOTATION = 2;
+
+ /** The conventions of Mac like file systems (e.g.,
+ <code>volume:dir1:dir2:file</code>).
+ */
+ const long MAC_NOTATION = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FolderList.idl b/offapi/com/sun/star/ucb/FolderList.idl
new file mode 100644
index 000000000..0f9598289
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FolderList.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_ucb_FolderList_idl__
+#define __com_sun_star_ucb_FolderList_idl__
+
+#include <com/sun/star/ucb/FolderListCommand.idl>
+#include <com/sun/star/ucb/FolderListEntry.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A list of folders.
+*/
+published struct FolderList
+{
+ /** The command to process on this list of folders.
+ */
+ FolderListCommand Command;
+
+ /** The list of folders (only used in conjunction with
+ FolderListCommand::SET).
+ */
+ sequence<FolderListEntry> List;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FolderListCommand.idl b/offapi/com/sun/star/ucb/FolderListCommand.idl
new file mode 100644
index 000000000..cc5674a56
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FolderListCommand.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_ucb_FolderListCommand_idl__
+#define __com_sun_star_ucb_FolderListCommand_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The various commands to process on a list of folders.
+
+ @see FolderList
+*/
+published enum FolderListCommand
+{
+ /** Get a list of all folders.
+ */
+ GET,
+
+ /** Get a list of subscribed folders.
+ */
+ GET_SUBSCRIBED,
+
+ /** Set a list of folders.
+ */
+ SET
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/FolderListEntry.idl b/offapi/com/sun/star/ucb/FolderListEntry.idl
new file mode 100644
index 000000000..63eb8af2a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/FolderListEntry.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_ucb_FolderListEntry_idl__
+#define __com_sun_star_ucb_FolderListEntry_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Information about a single folder in a FolderList.
+*/
+published struct FolderListEntry
+{
+ /** The title of the folder.
+ */
+ string Title;
+
+ /** A (unique) identifier for the folder (used by IMAP, where different
+ folders with equal human-readable titles may exist; otherwise, it may
+ be left empty).
+ */
+ string ID;
+
+ /** The folder is subscribed.
+ */
+ boolean Subscribed;
+
+ /** The folder is new.
+ */
+ boolean New;
+
+ /** The folder has been removed.
+ */
+ boolean Removed;
+
+ /** The folder shall be purged (only used in conjunction with the
+ FolderListCommand::SET).
+ */
+ boolean Purge;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GIOContentProvider.idl b/offapi/com/sun/star/ucb/GIOContentProvider.idl
new file mode 100644
index 000000000..76f4a61da
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GIOContentProvider.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/.
+ *
+ * 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_ucb_GIOContentProvider_idl__
+#define __com_sun_star_ucb_GIOContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+module com { module sun { module star { module ucb {
+service GIOContentProvider
+{
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl
new file mode 100644
index 000000000..e7b2125a4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.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_ucb_GlobalTransferCommandArgument_idl__
+#define __com_sun_star_ucb_GlobalTransferCommandArgument_idl__
+
+#include <com/sun/star/ucb/TransferCommandOperation.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct contains information needed to transfer objects from one
+ location to another.
+*/
+published struct GlobalTransferCommandArgument
+{
+ /** contains the action to perform ( COPY, MOVE, LINK ).
+ */
+ TransferCommandOperation Operation;
+
+ /** contains the URL of the source object.
+ */
+ string SourceURL;
+
+ /** contains the URL of the target folder.
+ */
+ string TargetURL;
+
+ /** contains the title of the transferred object, if it is different
+ from the original one.
+
+ <p>If this field is filled, for example, a file will be renamed
+ while it is being transferred.
+ */
+ string NewTitle;
+
+ /** describes how to act in case of title clashes while transferring
+ the data.
+
+ <p>A title clash for instance occurs, if a file named "foo.txt" is
+ to be transferred to a folder already containing another file named
+ "foo.txt". Refer to NameClash for possible values for
+ this field.
+ */
+ long NameClash;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.idl b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.idl
new file mode 100644
index 000000000..d7ba69b31
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.idl
@@ -0,0 +1,36 @@
+/* -*- 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_ucb_GlobalTransferCommandArgument2_idl__
+#define __com_sun_star_ucb_GlobalTransferCommandArgument2_idl__
+
+#include <com/sun/star/ucb/GlobalTransferCommandArgument.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct extends the one for transfers arguments by adding a Mime
+ type and a Document Id property to it.
+ */
+struct GlobalTransferCommandArgument2 : GlobalTransferCommandArgument
+{
+ /** contains the MIME type of the source object.
+ */
+ string MimeType;
+
+ /** contains the DocumentId of the source object.
+ */
+ string DocumentId;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl b/offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl
new file mode 100644
index 000000000..a4949a34d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GnomeVFSContentProvider.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/.
+ *
+ * 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_ucb_GnomeVFSContentProvider_idl__
+#define __com_sun_star_ucb_GnomeVFSContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+service GnomeVFSContentProvider
+{
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl b/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl
new file mode 100644
index 000000000..0d7ae62cd
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.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_ucb_GnomeVFSDocumentContent_idl__
+#define __com_sun_star_ucb_GnomeVFSDocumentContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+service GnomeVFSDocumentContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl b/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl
new file mode 100644
index 000000000..040f4de3b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl
@@ -0,0 +1,91 @@
+/* -*- 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_ucb_GnomeVFSFolderContent_idl__
+#define __com_sun_star_ucb_GnomeVFSFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A DCP Folder is a container for other DCP Folders or Documents.
+
+ @see com::sun::star::ucb::GnomeVFSContentProvider
+ @see com::sun::star::ucb::GnomeVFSDocumentContent
+*/
+service GnomeVFSFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HelpContent.idl b/offapi/com/sun/star/ucb/HelpContent.idl
new file mode 100644
index 000000000..7047c61dd
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HelpContent.idl
@@ -0,0 +1,171 @@
+/* -*- 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_ucb_HelpContent_idl__
+#define __com_sun_star_ucb_HelpContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A Help Content represents either a directory object allowing access to a
+ search engine and to index information for the respective module, or an
+ object allowing access to the concrete written help content.
+
+ @see com::sun::star::ucb::HelpContentProvider
+*/
+published service HelpContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only,
+ ""application/vnd.sun.star.help" )
+ </li>
+ <li>
+ boolean IsReadOnly ( read-only, always "true" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only )
+ </li>
+ <li>
+ boolean IsFolder ( read-only )
+ </li>
+ <li>
+ string Title ( read-only, content title )
+ </li>
+ <li>
+ string MediaType ( read only, either "image/gif", "text/plain",
+ "text/html" or "text/css" )
+ </li>
+ <li>
+ sequence&lt;string&gt; KeywordList ( read-only, only if IsFolder is true,
+ contains the index )
+ </li>
+ <li>
+ sequence&lt;sequence&lt;string&gt;&gt; KeywordRef ( read-only, only if IsFolder is true,
+ contains the links belonging to the index )
+ </li>
+ <li>
+ sequence&lt;sequence&lt;string&gt;&gt; KeywordAnchorForRef ( read-only, only if IsFolder is true,
+ contains the anchor names belonging to the index )
+ </li>
+ <li>
+ sequence&lt;sequence&lt;string&gt;&gt; KeywordTitleForRef ( read-only, , only if IsFolder is true,
+ contains the titles of the documents in which the keywords are found. )
+ </li>
+ <li>
+ sequence&lt;string&gt; SearchScopes ( read only, , only if IsFolder is true,
+ contains the scopes in which to search ).
+ </li>
+ <li>
+ string AnchorName ( readonly, only if content is has media type "text/html".
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HelpContentProvider.idl b/offapi/com/sun/star/ucb/HelpContentProvider.idl
new file mode 100644
index 000000000..86302d41d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HelpContentProvider.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_ucb_HelpContentProvider_idl__
+#define __com_sun_star_ucb_HelpContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The Help Content Provider (HCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>The served contents enable access to the help contents and to the
+ search engine.
+
+ @see com::sun::star::ucb::Content
+*/
+
+published service HelpContentProvider
+{
+ /** provides an object representing either a directory object allowing
+ searching or a help content object providing access to the help content.
+
+ @see com::sun::star::ucb::HelpContent
+ */
+
+ interface com::sun::star::ucb::XContentProvider;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyContentProvider.idl b/offapi/com/sun/star/ucb/HierarchyContentProvider.idl
new file mode 100644
index 000000000..5d9fa601a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyContentProvider.idl
@@ -0,0 +1,100 @@
+/* -*- 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_ucb_HierarchyContentProvider_idl__
+#define __com_sun_star_ucb_HierarchyContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The Hierarchy Content Provider (HCP) implements a
+ ContentProvider for the UniversalContentBroker
+ (UCB).
+
+ <p>It provides access to a persistent, customizable hierarchy of contents
+ (folders and links).
+
+ @see com::sun::star::ucb::Content
+*/
+published service HierarchyContentProvider
+{
+ /** provides three types of contents: Link, Folder and Root Folder.
+
+ <p>
+
+ <b>HCP Contents</b>
+ <ol>
+ <li>
+ A HCP Link (HierarchyLinkContent) is a content which
+ points to another (UCB) content. It is always contained in HCP Folder.
+ A HCP Link has no children.
+ </li>
+ <li>
+ A HCP Folder (HierarchyFolderContent) is a container for
+ other HCP Folders and HCP Links.
+ </li>
+ <li>
+ There is at most one instance of a HCP Root Folder
+ ( HierarchyRootFolderContent ) at a time.
+ All other HCP contents are children of this folder. The HCP Root
+ Folder can contain HCP Folders and HCP Links. It has the URL
+ "vnd.sun.star.hier:/".
+ </li>
+ </ol>
+
+ <p><b>URL Scheme for HCP Contents</b>
+
+ <p>Each HCP content has an identifier corresponding to the following
+ scheme:
+
+ <ul>
+ <li>
+ vnd.sun.star.hier:/&lt;path&gt;, where &lt;path&gt; is a
+ hierarchical path of the form &lt;name&gt;/.../&lt;name&gt; and
+ where &lt;name&gt; is a string encoded according to the URL
+ conventions.
+ </li>
+ </ul>
+
+ <p>Examples:
+
+ <ul>
+ <li>
+ vnd.sun.star.hier:/ (The URL of the HCP Root Folder)
+ </li>
+ <li>
+ vnd.sun.star.hier:/Bookmarks/Sun%20Microsystems%20Home%20Page
+ </li>
+ <li>
+ vnd.sun.star.hier:/Workplace/Printers
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl b/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl
new file mode 100644
index 000000000..1c034f2e8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl
@@ -0,0 +1,150 @@
+/* -*- 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_ucb_HierarchyDataReadAccess_idl__
+#define __com_sun_star_ucb_HierarchyDataReadAccess_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XHierarchicalNameAccess.idl>
+#include <com/sun/star/util/XChangesNotifier.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides read access to a fragment of the hierarchy data.
+
+ <p>A hierarchy data source provides access to a tree of hierarchy data
+ nodes. Each hierarchy data node, except the root node, has a parent that
+ is a hierarchy data node too. A hierarchy data node has a name.
+
+ <p>Each hierarchy data node has three data members:
+
+ <ul>
+ <li>"Title", which is of type `string`. It contains a title
+ for the node. This value must not be empty.
+ <li>"TargetURL", which is of type `string`</li> It may contain
+ any URL, which will be treated as the target of a hierarchy link.
+ <li>"Children", which is of type HierarchyDataReadAccess or
+ of type HierarchyDataReadWriteAccess</li>, depending on the
+ type of the node. This member provides access to the children of a node.
+ </ul>
+*/
+published service HierarchyDataReadAccess
+{
+ /** gives access to the data members of a hierarchy data node.
+
+ <p>Examples:
+ <ul>
+ <li><code>getByName( "Title" )</code> will return an `any`
+ containing a string containing the title of the node.
+ </li>
+ <li><code>getByName( "Children" )</code> will return an `any`
+ containing an implementation of service
+ HierarchyDataReadAccess, if it was called on a read-only
+ node. It will return an implementation of service
+ HierarchyDataReadWriteAccess if it was called on a
+ writable node.
+ </li>
+ </ul>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** gives access to the data members of a hierarchy data node as well
+ as to any child nodes or to the data members of child nodes using a
+ hierarchical name.
+
+ <p>A hierarchical name consists of segments that are separated by a
+ single slash ("/"). There is neither a leading nor a trailing slash
+ allowed.
+
+ <ul>
+ <li>
+ path = segment ( '/' segment )*
+ </li>
+ <li>
+ segment = '[' quoted-string ']'
+ </li>
+ <li>
+ quoted-string = "'" escaped-string "'"
+ </li>
+ <li>
+ escaped-string = escaped according to XML attribute naming conventions
+ </li>
+ </ul>
+
+ <p>Examples:
+ <ul>
+ <li>
+ <code>getByHierarchicalName( "Title" )</code> will return an
+ `any` containing a string containing the title of the node
+ itself.
+ </li>
+ <li>
+ <code>getByHierarchicalName( "Children/['subnode1']" )</code> will give
+ access to the child node named "subnode1" of the node. It will return
+ an `any` containing an implementation of service
+ HierarchyDataReadAccess, if it was called on a read-only
+ node. It will return an implementation of service
+ HierarchyDataReadWriteAccess if it was called on a
+ writable node.
+ </li>
+ <li>
+ <code>getByHierarchicalName( "Children/['subnode2']/TargetURL" )</code>
+ will give direct access to the "TargetURL" data member of the child node
+ named "subnode2" of the node. It will return an `any`
+ containing a `string` containing the target URL of the node.
+ </li>
+ <li>
+ <code>getByHierarchicalName( "Children/['subnode3']/Children" )</code>
+ will give direct access to the "Children" data member of the child node
+ named "subnode3" of the node. It will return an `any`
+ containing an implementation of service
+ HierarchyDataReadAccess, if it was called on a read-only
+ node. It will return an implementation of service
+ HierarchyDataReadWriteAccess if it was called on a
+ writable node.
+ </li>
+ </ul>
+ */
+ interface com::sun::star::container::XHierarchicalNameAccess;
+
+ /** allows registering listeners that observe the hierarchy data source.
+
+ <p>A client can register an
+ com::sun::star::util::XChangesListener, which will
+ receive notifications for any changes within the hierarchy (fragment)
+ this object represents.
+
+ <p>An implementation should collect as many changes as possible into a
+ single com::sun::star::util::ChangesEvent.
+ */
+ interface com::sun::star::util::XChangesNotifier;
+
+ /** allows controlling or observing the lifetime of the hierarchy data
+ access object.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl b/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl
new file mode 100644
index 000000000..ba0336632
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.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_ucb_HierarchyDataReadWriteAccess_idl__
+#define __com_sun_star_ucb_HierarchyDataReadWriteAccess_idl__
+
+#include <com/sun/star/ucb/HierarchyDataReadAccess.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+#include <com/sun/star/util/XChangesBatch.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides read and write access to a fragment of the hierarchy data.
+*/
+published service HierarchyDataReadWriteAccess
+{
+ /** provides read access to a fragment of the hierarchy data
+ */
+ service HierarchyDataReadAccess;
+
+ /** allows adding and removing of hierarchy data nodes, replacing of
+ the value of hierarchy data node members, as well as obtaining the
+ value of hierarchy data node members.
+
+ <p>Adding and removing must only be supported if the access object
+ points to the "Children" data member of a node or to the root node.
+ It will insert a new node or remove an existing one. If supported
+ on data nodes, adding must add new data members to the node, removing
+ must remove data members. However, the mandatory data members (Title,
+ TargetURL, Children) must never be removable.
+
+ <p>Replacing and getting values must be supported be every data node.
+ */
+ interface com::sun::star::container::XNameContainer;
+
+ /** gives access to all contents provided by this provider.
+
+ <p>com::sun::star::lang::XSingleServiceFactory::createInstance()
+ will create a new empty hierarchy data node. After it was created
+ it's data members can be filled. Last, the node can be inserted as child
+ of another node using
+ com::sun::star::container::XNameContainer::insertByName().
+
+ <p>There are no special arguments that must be supported by
+ com::sun::star::lang::XSingleServiceFactory::createInstanceWithArguments()
+ */
+ interface com::sun::star::lang::XSingleServiceFactory;
+
+ /** allows managing changes within the hierarchy.
+
+ <p>com::sun::star::util::XChangesBatch::getPendingChanges()
+ reports all changes within the hierarchy that are done through (direct
+ or indirect) descendants of this element. The same set of changes is
+ committed to persistent storage and/or made visible to other objects
+ accessing the same data set, when
+ com::sun::star::util::XChangesBatch::commitChanges()
+ is invoked.
+ */
+ interface com::sun::star::util::XChangesBatch;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyDataSource.idl b/offapi/com/sun/star/ucb/HierarchyDataSource.idl
new file mode 100644
index 000000000..4a9842cb6
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyDataSource.idl
@@ -0,0 +1,104 @@
+/* -*- 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_ucb_HierarchyDataSource_idl__
+#define __com_sun_star_ucb_HierarchyDataSource_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** manages one or more complete sets of hierarchy data and serves as a factory
+ for objects that provide access to a subset of the data.
+
+ <p><b>Note:</b> This is an abstract service. This means, that there should
+ never be implementations that can be instantiated using the service name
+ <code>com.sun.star.ucb.HierarchyDataSource</code>. Each implementation must
+ provide its own service name that can be used to create instances of that
+ service implementation. Important for those service specifications is also
+ to specify which of the optional parts are supported by the implementation.
+*/
+published service HierarchyDataSource
+{
+ /** allows creating access objects for specific views such as subsets and
+ fragments of the hierarchy data.
+
+ <p>The parameter <var>aServiceSpecifier</var> passed to
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ supports at least the service specifier
+ <code>"com.sun.star.ucb.HierarchyDataReadAccess"</code>, which will
+ create a <b>read-only view</b> to the data. The object that is created
+ implements the service HierarchyDataReadAccess.
+
+ <p><b>Optionally</b> the factory may support <b>writable views</b>. A
+ writable view is requested by passing the service specifier
+ <code>"com.sun.star.ucb.HierarchyDataReadWriteAccess"</code> to
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ The object that is created implements the service
+ HierarchyDataReadWriteAccess.
+
+ <p>The arguments passed to
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ in parameter <var>aArguments</var> specify the view of the data that
+ should be created. That is, they determine the subset of elements that
+ can be accessed starting from the returned object. Each element of the
+ argument sequence should be a
+ com::sun::star::beans::PropertyValue, so that the
+ parameters can be identified by name rather than by position.
+
+ <p>With both of the standard service specifiers above, an implementation
+ must accept a property named <code>nodepath</code> of type
+ `string`. This property must contain the absolute path to an
+ element of the data. The view that is selected consists of the named
+ element and all its descendants. A path consists of segments that are
+ separated by a single slash ("/"). There is neither a leading nor a
+ trailing slash allowed. The <b>root</b> of the hierarchy data always
+ has an empty path. Refer to HierarchyDataReadAccess for
+ more information on hierarchical names.
+
+ <p>Other arguments can be used to control the behavior of the view.
+ These are different for different implementations. Whether and how they
+ are used may also depend on the configuration store and configuration
+ that were selected when the provider was created.
+
+ <p>An implementation must ignore unknown arguments.
+
+ <p>The implementation of
+ com::sun::star::lang::XMultiServiceFactory::createInstance()
+ must behave exactly as if
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ were called passing one single property named <code>nodepath</code>
+ where the property value is an empty string. Thus it always creates a
+ view to the root of the hierarchy data.
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** allows controlling or observing the lifetime of the hierarchy data
+ source and its views.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyFolderContent.idl b/offapi/com/sun/star/ucb/HierarchyFolderContent.idl
new file mode 100644
index 000000000..2f6c5b87b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyFolderContent.idl
@@ -0,0 +1,180 @@
+/* -*- 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_ucb_HierarchyFolderContent_idl__
+#define __com_sun_star_ucb_HierarchyFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A HCP Folder is a container for other HCP Folders and HCP Links.
+
+ @see com::sun::star::ucb::HierarchyContentProvider
+ @see com::sun::star::ucb::HierarchyRootFolderContent
+ @see com::sun::star::ucb::HierarchyLinkContent
+*/
+published service HierarchyFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created folder persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer ( only transfers from one hierarchy folder to another supported )
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.hier-folder" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ A HCP Folder can create other HCP Folders and HCP Links. To create
+ a new child of a HCP Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is "application/vnd.sun.star.hier-folder".
+ To create a new link, use the type "application/vnd.sun.star.hier-link".
+ </li>
+ <li>
+ Set a title at the new folder / link. ( Let the new child execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ). For a link, you need to set the
+ property "TargetURL" as well to a non-empty value.
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyLinkContent.idl b/offapi/com/sun/star/ucb/HierarchyLinkContent.idl
new file mode 100644
index 000000000..a72cf7c66
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyLinkContent.idl
@@ -0,0 +1,147 @@
+/* -*- 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_ucb_HierarchyLinkContent_idl__
+#define __com_sun_star_ucb_HierarchyLinkContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A HCP Link is a content which points to another location.
+
+ <p>It is always contained in HCP Folder. A HCP Link has no children.
+
+ @see com::sun::star::ucb::HierarchyContentProvider
+ @see com::sun::star::ucb::HierarchyRootFolderContent
+ @see com::sun::star::ucb::HierarchyFolderContent
+*/
+published service HierarchyLinkContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created link persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.hier-link" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always true )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always false )
+ </li>
+ <li>
+ string Title
+ </li>
+ <li>
+ string TargetURL ( the URL of the link target )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl b/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl
new file mode 100644
index 000000000..e0483ebac
--- /dev/null
+++ b/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl
@@ -0,0 +1,178 @@
+/* -*- 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_ucb_HierarchyRootFolderContent_idl__
+#define __com_sun_star_ucb_HierarchyRootFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A HCP Root Folder is the root container for all other HCP Folders and HCP
+ Links.
+
+ <p>It always has the URL "vnd.sun.star.hier:/". A HCP Root Folder neither
+ can't be created nor deleted by a UCB client.
+
+ @see com::sun::star::ucb::HierarchyContentProvider
+ @see com::sun::star::ucb::HierarchyFolderContent
+ @see com::sun::star::ucb::HierarchyLinkContent
+*/
+published service HierarchyRootFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer ( only transfers from one hierarchy folder to another supported )
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.hier-folder" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string Title ( read-only, always an empty string )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ A HCP Root Folder can create HCP Folders and HCP Links. To create
+ a new child of a HCP Root Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is "application/vnd.sun.star.hier-folder".
+ To create a new link, use the type "application/vnd.sun.star.hier-link".
+ </li>
+ <li>
+ Set a title at the new folder / link. ( Let the new child execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ). For a link, you need to set the
+ property "TargetURL" as well to a non-empty value.
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/IOErrorCode.idl b/offapi/com/sun/star/ucb/IOErrorCode.idl
new file mode 100644
index 000000000..d92d8c696
--- /dev/null
+++ b/offapi/com/sun/star/ucb/IOErrorCode.idl
@@ -0,0 +1,188 @@
+/* -*- 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_ucb_IOErrorCode_idl__
+#define __com_sun_star_ucb_IOErrorCode_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Types of input/output errors.
+
+ <P>See com::sun::star::task::InteractionHandler for a
+ description of what kinds of arguments
+ InteractiveAugmentedIOException should use with each of these
+ error codes.</P>
+*/
+published enum IOErrorCode
+{
+ /** An operation was aborted.
+ */
+ ABORT,
+
+ /** An object cannot be accessed due to insufficient user rights.
+ */
+ ACCESS_DENIED,
+
+ /** An object already exists.
+ */
+ ALREADY_EXISTING,
+
+ /** A bad checksum.
+ */
+ BAD_CRC,
+
+ /** An object could not be created.
+ */
+ CANT_CREATE,
+
+ /** Data could not be read from a file.
+ */
+ CANT_READ,
+
+ /** A seek operation could not be run.
+ */
+ CANT_SEEK,
+
+ /** A tell operation could not be run.
+ */
+ CANT_TELL,
+
+ /** Data could not be written to a file.
+ */
+ CANT_WRITE,
+
+ /** A function is not possible because the path contains the current
+ directory.
+ */
+ CURRENT_DIRECTORY,
+
+ /** A device (drive) not ready.
+ */
+ DEVICE_NOT_READY,
+
+ /** A function is not possible because the devices (drives) are not
+ identical.
+ */
+ DIFFERENT_DEVICES,
+
+ /** A general input/output error.
+ */
+ GENERAL,
+
+ /** An invalid attempt was made to access an object.
+ */
+ INVALID_ACCESS,
+
+ /** A file name contains invalid characters.
+ */
+ INVALID_CHARACTER,
+
+ /** A specified device is invalid.
+ */
+ INVALID_DEVICE,
+
+ /** Invalid data length.
+ */
+ INVALID_LENGTH,
+
+ /** An operation was started with an invalid parameter.
+ */
+ INVALID_PARAMETER,
+
+ /** An operation cannot be run on file names containing wildcards.
+ */
+ IS_WILDCARD,
+
+ /** A locking problem.
+ */
+ LOCKING_VIOLATION,
+
+ /** An invalid file name.
+ */
+ MISPLACED_CHARACTER,
+
+ /** A file name is too long.
+ */
+ NAME_TOO_LONG,
+
+ /** A nonexistent object.
+ */
+ NOT_EXISTING,
+
+ /** The path to a file does not exist.
+ */
+ NOT_EXISTING_PATH,
+
+ /** An action is not supported.
+ */
+ NOT_SUPPORTED,
+
+ /** An object is not a directory.
+ */
+ NO_DIRECTORY,
+
+ /** An object is not a file.
+ */
+ NO_FILE,
+
+ /** No more space on a device.
+ */
+ OUT_OF_DISK_SPACE,
+
+ /** No more file handles available.
+ */
+ OUT_OF_FILE_HANDLES,
+
+ /** An operation could not be run due to insufficient memory.
+ */
+ OUT_OF_MEMORY,
+
+ /** An operation is still pending.
+ */
+ PENDING,
+
+ /** An object cannot be copied into itself.
+ */
+ RECURSIVE,
+
+ /** An unknown I/O error has occurred.
+ */
+ UNKNOWN,
+
+ /** A function is not possible because the object is write protected.
+ */
+ WRITE_PROTECTED,
+
+ /** An incorrect file format.
+ */
+ WRONG_FORMAT,
+
+ /** An incorrect file version.
+ */
+ WRONG_VERSION
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/IllegalIdentifierException.idl b/offapi/com/sun/star/ucb/IllegalIdentifierException.idl
new file mode 100644
index 000000000..a0221a97e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/IllegalIdentifierException.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_ucb_IllegalIdentifierException_idl__
+#define __com_sun_star_ucb_IllegalIdentifierException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate an illegal content identifier.
+
+ @version 1.0
+ @see XContent
+ @see XContentIdentifier
+*/
+published exception IllegalIdentifierException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InsertCommandArgument.idl b/offapi/com/sun/star/ucb/InsertCommandArgument.idl
new file mode 100644
index 000000000..372c802a8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InsertCommandArgument.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_ucb_InsertCommandArgument_idl__
+#define __com_sun_star_ucb_InsertCommandArgument_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the command "insert".
+
+ @see XCommandProcessor
+*/
+published struct InsertCommandArgument
+{
+ /** A stream containing document data.
+
+ <p>This member can be left blank, if no (new) document data shall be
+ written by the implementation of the "insert" command.
+ */
+ com::sun::star::io::XInputStream Data;
+
+ /** A flag indicating whether a possibly existing content (and its data)
+ shall be overwritten.
+
+ <p>Implementations that are not able to detect whether there are
+ previous data may ignore this parameter and will always write the
+ new data.
+ */
+ boolean ReplaceExisting;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InsertCommandArgument2.idl b/offapi/com/sun/star/ucb/InsertCommandArgument2.idl
new file mode 100644
index 000000000..c3d1ab883
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InsertCommandArgument2.idl
@@ -0,0 +1,36 @@
+/* -*- 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_ucb_InsertCommandArgument2_idl__
+#define __com_sun_star_ucb_InsertCommandArgument2_idl__
+
+#include <com/sun/star/ucb/InsertCommandArgument.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the command "insert" augmented with some properties
+*/
+struct InsertCommandArgument2 : InsertCommandArgument
+{
+ /** contains the MIME type of the document to insert
+ */
+ string MimeType;
+
+ /** contains the Document Id of the document to insert
+ */
+ string DocumentId;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveAppException.idl b/offapi/com/sun/star/ucb/InteractiveAppException.idl
new file mode 100644
index 000000000..46c4cdbea
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveAppException.idl
@@ -0,0 +1,45 @@
+/* -*- 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_ucb_InteractiveAppException_idl__
+#define __com_sun_star_ucb_InteractiveAppException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#include <com/sun/star/ucb/IOErrorCode.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An application error.
+
+ @since OOo 1.1.2
+*/
+published exception InteractiveAppException: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** The type of application error.
+ */
+ unsigned long Code;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl b/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl
new file mode 100644
index 000000000..723195643
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl
@@ -0,0 +1,45 @@
+/* -*- 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_ucb_InteractiveAugmentedIOException_idl__
+#define __com_sun_star_ucb_InteractiveAugmentedIOException_idl__
+
+#include <com/sun/star/ucb/InteractiveIOException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An input/output error with arguments.
+*/
+published exception InteractiveAugmentedIOException : com::sun::star::ucb::InteractiveIOException
+{
+ /** Additional arguments.
+
+ <P>See com::sun::star::task::InteractionHandler
+ for a description of well-known arguments.</P>
+ */
+ sequence< any > Arguments;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl b/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl
new file mode 100644
index 000000000..cb25859f8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.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_ucb_InteractiveBadTransferURLException_idl__
+#define __com_sun_star_ucb_InteractiveBadTransferURLException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An interaction request to inform the client of a "transfer" command
+ that the supplied source URL is not supported.
+
+ @see XCommandProcessor
+*/
+published exception InteractiveBadTransferURLException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveFileIOException.idl b/offapi/com/sun/star/ucb/InteractiveFileIOException.idl
new file mode 100644
index 000000000..3aba573c2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveFileIOException.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_ucb_InteractiveFileIOException_idl__
+#define __com_sun_star_ucb_InteractiveFileIOException_idl__
+
+#include <com/sun/star/ucb/InteractiveIOException.idl>
+#include <com/sun/star/ucb/IOErrorCode.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An input/output error while processing a file.
+
+ <p>This exception is deprecated. Use
+ InteractiveAugmentedIOException instead.
+
+ @deprecated
+*/
+published exception InteractiveFileIOException: com::sun::star::ucb::InteractiveIOException
+{
+ /** The file url where the i/o error occurred
+ */
+ string FileName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveIOException.idl b/offapi/com/sun/star/ucb/InteractiveIOException.idl
new file mode 100644
index 000000000..aa3f88f3f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveIOException.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_ucb_InteractiveIOException_idl__
+#define __com_sun_star_ucb_InteractiveIOException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+#include <com/sun/star/ucb/IOErrorCode.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An input/output error.
+*/
+published exception InteractiveIOException: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** The type of input/output error.
+ */
+ com::sun::star::ucb::IOErrorCode Code;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingException.idl b/offapi/com/sun/star/ucb/InteractiveLockingException.idl
new file mode 100644
index 000000000..cbb00d46b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingException.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_ucb_InteractiveLockingException_idl__
+#define __com_sun_star_ucb_InteractiveLockingException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error related to locking operations.
+
+ <p> Various meaningful errors are derived from this exception. </p>
+
+ @since OOo 3.3
+*/
+/*published*/ exception InteractiveLockingException : com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** The Url of the resource this exception is related to.
+ */
+ string Url;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl b/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl
new file mode 100644
index 000000000..75d1cb276
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.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_ucb_InteractiveLockingLockExpiredException_idl__
+#define __com_sun_star_ucb_InteractiveLockingLockExpiredException_idl__
+
+#include <com/sun/star/ucb/InteractiveLockingException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error indicating that a lock that has been previously obtained by this
+ OOo session has expired.
+
+ @since OOo 3.3
+*/
+/*published*/ exception InteractiveLockingLockExpiredException : com::sun::star::ucb::InteractiveLockingException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl b/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl
new file mode 100644
index 000000000..bde18ef43
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingLockedException.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_ucb_InteractiveLockingLockedException_idl__
+#define __com_sun_star_ucb_InteractiveLockingLockedException_idl__
+
+#include <com/sun/star/ucb/InteractiveLockingException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error indicating that the resource is locked.
+
+ @since OOo 3.3
+*/
+/*published*/ exception InteractiveLockingLockedException : com::sun::star::ucb::InteractiveLockingException
+{
+ /** The owner of the lock.
+
+ `TRUE`, the lock has been obtained by this OOo session.
+ `FALSE` the lock has been obtained by another principal.
+ */
+ boolean SelfOwned;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl b/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl
new file mode 100644
index 000000000..11c9bc202
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl
@@ -0,0 +1,45 @@
+/* -*- 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_ucb_InteractiveLockingNotLockedException_idl__
+#define __com_sun_star_ucb_InteractiveLockingNotLockedException_idl__
+
+#include <com/sun/star/ucb/InteractiveLockingException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error indicating that the resource is not locked.
+
+ <p>This error for instance can occur when trying to unlock a resource
+ that is not locked.
+ </p>
+
+ @since OOo 3.3
+*/
+/*published*/ exception InteractiveLockingNotLockedException : com::sun::star::ucb::InteractiveLockingException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl
new file mode 100644
index 000000000..f060be081
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.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_ucb_InteractiveNetworkConnectException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkConnectException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying a connection failure.
+*/
+published exception InteractiveNetworkConnectException: InteractiveNetworkException
+{
+ /** The name of the server to which connecting failed.
+ */
+ string Server;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkException.idl
new file mode 100644
index 000000000..25575617c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkException.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_ucb_InteractiveNetworkException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error related to network operations.
+
+ <p> Various meaningful errors are derived from this exception. </p>
+*/
+published exception InteractiveNetworkException: com::sun::star::task::ClassifiedInteractionRequest
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl
new file mode 100644
index 000000000..32172282b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.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_ucb_InteractiveNetworkGeneralException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkGeneralException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying a general failure.
+*/
+published exception InteractiveNetworkGeneralException: com::sun::star::ucb::InteractiveNetworkException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl
new file mode 100644
index 000000000..cf8165d9c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.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_ucb_InteractiveNetworkOffLineException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkOffLineException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying an off line condition.
+*/
+published exception InteractiveNetworkOffLineException: com::sun::star::ucb::InteractiveNetworkException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl
new file mode 100644
index 000000000..00c0a1615
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkReadException.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_ucb_InteractiveNetworkReadException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkReadException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying a read failure.
+*/
+published exception InteractiveNetworkReadException: com::sun::star::ucb::InteractiveNetworkException
+{
+ /** Any diagnostic message about the failure (which will typically be an
+ English phrase or sentence).
+ */
+ string Diagnostic;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl
new file mode 100644
index 000000000..b0da035cf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.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_ucb_InteractiveNetworkResolveNameException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkResolveNameException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying a name resolution failure.
+*/
+published exception InteractiveNetworkResolveNameException: com::sun::star::ucb::InteractiveNetworkException
+{
+ /** The server name for which resolution failed.
+ */
+ string Server;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl
new file mode 100644
index 000000000..ffeea77d4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.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_ucb_InteractiveNetworkWriteException_idl__
+#define __com_sun_star_ucb_InteractiveNetworkWriteException_idl__
+
+#include <com/sun/star/ucb/InteractiveNetworkException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A network error specifying a write failure.
+*/
+published exception InteractiveNetworkWriteException: com::sun::star::ucb::InteractiveNetworkException
+{
+ /** Any diagnostic message about the failure (which will typically be an
+ English phrase or sentence).
+ */
+ string Diagnostic;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl b/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl
new file mode 100644
index 000000000..a18b329fd
--- /dev/null
+++ b/offapi/com/sun/star/ucb/InteractiveWrongMediumException.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_ucb_InteractiveWrongMediumException_idl__
+#define __com_sun_star_ucb_InteractiveWrongMediumException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is thrown when the wrong medium is inserted into a removable drive during
+ an operation.
+*/
+published exception InteractiveWrongMediumException: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** identifies the medium that's needed to continue with the pending
+ operation.
+ */
+ any Medium;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Link.idl b/offapi/com/sun/star/ucb/Link.idl
new file mode 100644
index 000000000..e5b5f5c5c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Link.idl
@@ -0,0 +1,45 @@
+/* -*- 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_ucb_Link_idl__
+#define __com_sun_star_ucb_Link_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** defines a link.
+
+ @see XCommandProcessor
+*/
+published struct Link
+{
+ /** contains the source URI of the link.
+ */
+ string Source;
+
+ /** contains the destination URI of the link.
+ */
+ string Destination;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ListAction.idl b/offapi/com/sun/star/ucb/ListAction.idl
new file mode 100644
index 000000000..59d1f4a14
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListAction.idl
@@ -0,0 +1,109 @@
+/* -*- 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_ucb_ListAction_idl__
+#define __com_sun_star_ucb_ListAction_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct contains information needed in the notifications of a
+ XDynamicResultSet.
+
+ @see ListEvent
+*/
+
+published struct ListAction
+{
+ /** The position where something has happened (index begins with
+ <code>1</code> as usual with JDBC ).
+
+ <p>Its value does not necessary indicate the new position in the new
+ com::sun::star::sdbc::XResultSet, but a position
+ while doing the changes step by step beginning with the old
+ com::sun::star::sdbc::XResultSet.
+ */
+ long Position;
+
+ /** The count of involved rows.
+ */
+ long Count;
+
+
+ /** specifies the kind of modification happened to all assigned rows.
+
+ <p>The value of the other members of this struct depend on the value
+ of this member:
+
+ <table border=1>
+ <tr align=left> <th>ListActionType</th>
+ <th>Position</th>
+ <th>Count</th>
+ <th>ActionInfo</th></tr>
+
+ <tr align=left> <td>WELCOME</td>
+ <td>n/a</td>
+ <td>n/a</td>
+ <td>WelcomeDynamicResultSetStruct required</td></tr>
+
+ <tr align=left> <td>CLEARED</td>
+ <td>n/a</td>
+ <td>n/a</td>
+ <td>n/a</td></tr>
+
+ <tr align=left> <td>INSERTED</td>
+ <td>required 1-x</td>
+ <td>required 1-x</td>
+ <td>allowed but not required... @todo </td></tr>
+
+ <tr align=left> <td>REMOVED</td>
+ <td>required 1-x</td>
+ <td>required 1-x</td>
+ <td>n/a</td></tr>
+
+ <tr align=left> <td>MOVED</td>
+ <td>required 1-x</td>
+ <td>required 1-x</td>
+ <td>type long required</td></tr>
+
+ <tr align=left> <td>PROPERTIES_CHANGED</td>
+ <td>required 1-x</td>
+ <td>required 1-x</td>
+ <td>allowed but not required... @todo</td></tr>
+ </table>
+
+ <p>The value for this member can be one of the
+ ListActionType constants group.
+ */
+ long ListActionType;
+
+ /** depending on the content of ListAction::ListActionType
+ the ListAction::ActionInfo could contain additional
+ information about the changes happened (see table above).
+ */
+
+ any ActionInfo;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ListActionType.idl b/offapi/com/sun/star/ucb/ListActionType.idl
new file mode 100644
index 000000000..365eb60eb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListActionType.idl
@@ -0,0 +1,174 @@
+/* -*- 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_ucb_ListActionType_idl__
+#define __com_sun_star_ucb_ListActionType_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These values are used to specify the type of change happened to a list.
+
+ <p>A change happened is sent from an XDynamicResultSet
+ as ListAction to a XDynamicResultSetListener.
+
+ <p>The values are contained in ListAction::ListActionType.
+*/
+
+published constants ListActionType
+{
+ /** First notification to a single listener for purpose of initialization.
+
+ <p>This type of notification is required to be sent first and only once
+ to a new listener.
+
+ <p>The member ListAction::ActionInfo is required to
+ contain a struct WelcomeDynamicResultSetStruct.
+ This struct contains two
+ com::sun::star::sdbc::XResultSets (old and new).
+ During and after the notification only the new set is valid for access.
+ But the listener is required to remind both
+ com::sun::star::sdbc::XResultSets as he will not get
+ another chance to get them again.
+
+ <p>The members ListAction::Count and
+ ListAction::Position are not used.
+ */
+ const long WELCOME = 20;
+
+ /** One or more rows were inserted into the list.
+
+ <p>This action is related to ContentAction::INSERTED.
+
+ <p>The members ListAction::Count and
+ ListAction::Position contain the position and count of
+ newly inserted rows. If the count is greater than one, the inserted rows
+ have to be one after the other.
+
+ <p> ListAction::ActionInfo could contain something but
+ this is not required. For example, it could contain the properties of
+ the new rows (i.e. for remote optimizing), but this is not required
+ nor unrestrictedly recommended.
+
+ <p>@todo ... further description of allowed contents for
+ ListAction::ActionInfo is needed
+ */
+ const long INSERTED = 21;
+
+ /** One or more rows were removed from the list.
+
+ <p>This action is related to ContentAction::REMOVED.
+
+ <p>The members ListAction::Count and
+ ListAction::Position contain the position and count of the
+ removed rows. If the count is greater than one, the removed rows have to be
+ one after the other.
+
+ <p>The member ListAction::ListActionType is not used.
+ */
+ const long REMOVED = 22;
+
+
+ /** The whole list was destroyed and independently rebuild.
+
+ <p>If "CLEARED" is sent you don't need to refer to the old ResultSet.
+
+ <p>The members ListAction::ListActionType,
+ ListAction::Count and ListAction::Position
+ are ignored.
+ */
+ const long CLEARED = 23;
+
+ /** One or more rows were moved to another position.
+
+ <p>The members ListAction::Count and
+ ListAction::Position contain the position and count of the
+ moved rows. If the count is greater than one, the moved rows have to be
+ one after the other.
+
+ <p>ListAction::ListActionType is required to contain a "long",
+ which gives the shift of position.
+ (i.e. When two rows at position 3 and 4 are moved for a shift "+1",
+ they will appear at the positions 4 and 5. In this action is included, that
+ the row on old position 5 now appears on position 3.
+ No other notification is needed, to explain or complete this action).
+ */
+ const long MOVED = 24;
+
+ /** The properties of one or more rows have changed.
+
+ <p>This action is related to a com::sun::star::beans::PropertyChangeEvent.
+
+ <p>The members ListAction::Count and
+ ListAction::Position contain the position and count of the
+ rows, whose properties have changed. If the count is greater than one, the
+ rows with modified properties have to be one after the other.
+
+ <p> ListAction::ActionInfo could contain something but
+ this is not required. For example, it could contain the new properties
+ (i.e. for remote optimizing), but this is not required nor unrestrictedly
+ recommended.
+
+ <p>@todo ... further description of allowed contents for
+ ListAction::ActionInfo is needed
+ */
+ const long PROPERTIES_CHANGED = 25;
+
+ /*??????????????????????????? we probably will not need this
+
+ The identity of a row has changed.
+
+ <p>This action is related to ContentAction == EXCHANGED.
+
+ <p>The members ListAction::Count and
+ ListAction::Position contain the position and count of the
+ rows, whose identity have changed. If the count is greater than one, the
+ rows with changed identity have to be one after the other.
+
+ <p>ListAction::ListActionType must contain the new identities
+
+ <p>@todo ...
+
+ const long EXCHANGED = 26;
+ */
+
+ /*??????????????????????????? we probably will need this
+ After a completely notified Iteration send "COMPLETED".
+
+ <p>This notification is required to be send, to indicate, that now the full
+ result is reached.
+
+ <p>E.g. while a new given list is sorted, some intermediate states are
+ notified. After the last portion of sorting is done and notified you have
+ to send "COMPLETED". So a listener has the possibility to wait for
+ "COMPLETED" e.g. to print the full result. )
+
+ <p>The members ListAction::ListActionType,
+ ListAction::Count and ListAction::Position
+ are useless.
+ */
+ const long COMPLETED = 27;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ListEvent.idl b/offapi/com/sun/star/ucb/ListEvent.idl
new file mode 100644
index 000000000..84a4f663b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListEvent.idl
@@ -0,0 +1,45 @@
+/* -*- 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_ucb_ListEvent_idl__
+#define __com_sun_star_ucb_ListEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/ucb/ListAction.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies the type of event fired by an XDynamicResultSet
+*/
+
+published struct ListEvent: com::sun::star::lang::EventObject
+{
+ /** If you apply the given ListActions one after the other
+ to the old version of a result set in given order, you will get the
+ positions in the new version.
+ */
+ sequence<ListAction> Changes;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl b/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl
new file mode 100644
index 000000000..40b309f71
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ListenerAlreadySetException.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_ucb_ListenerAlreadySetException_idl__
+#define __com_sun_star_ucb_ListenerAlreadySetException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate that a Listener is already set while
+only one is allowed.
+*/
+
+published exception ListenerAlreadySetException: com::sun::star::uno::Exception
+{
+};
+
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Lock.idl b/offapi/com/sun/star/ucb/Lock.idl
new file mode 100644
index 000000000..f27ee84de
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Lock.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_ucb_Lock_idl__
+#define __com_sun_star_ucb_Lock_idl__
+
+#include <com/sun/star/ucb/LockEntry.idl>
+#include <com/sun/star/ucb/LockDepth.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** defines a lock.
+*/
+published struct Lock : LockEntry
+{
+ /** defines the lock's depth.
+ */
+ LockDepth Depth;
+
+ /** the owner of the lock.
+
+ <p>This element provides information sufficient for either directly
+ contacting a principal (such as a telephone number or email URI), or
+ for discovering the principal (such as the URL of a homepage) who
+ owns the lock.
+ */
+ any Owner;
+
+ /** a timeout value for the lock.
+
+ <p>This element specifies the number of seconds between granting
+ of the lock and the automatic removal of that lock. The value
+ must not be greater than <code>2^32-1</code>. A value of <code>-1</code>
+ stands for an infinite lock, that will never be removed automatically.
+ */
+ hyper Timeout;
+
+ /** the lock tokens.
+
+ <p>Each lock token is a URI.
+ */
+ sequence< string > LockTokens;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/LockDepth.idl b/offapi/com/sun/star/ucb/LockDepth.idl
new file mode 100644
index 000000000..6baef2b4e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockDepth.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_ucb_LockDepth_idl__
+#define __com_sun_star_ucb_LockDepth_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** defines a depth for a lock.
+
+ @see Lock
+*/
+published enum LockDepth
+{
+ /** Zero (includes no children).
+ */
+ ZERO,
+
+ /** One (includes children).
+ */
+ ONE,
+
+ /** Infinity (includes children and children's children and ...).
+ */
+ INFINITY
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/LockEntry.idl b/offapi/com/sun/star/ucb/LockEntry.idl
new file mode 100644
index 000000000..f2396dd44
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockEntry.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_ucb_LockEntry_idl__
+#define __com_sun_star_ucb_LockEntry_idl__
+
+#include <com/sun/star/ucb/LockScope.idl>
+#include <com/sun/star/ucb/LockType.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** defines the types of locks that can be used with a resource.
+*/
+published struct LockEntry
+{
+ /** defines the lock's scope.
+ */
+ LockScope Scope;
+
+ /** defines the type of the lock.
+ */
+ LockType Type;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/LockScope.idl b/offapi/com/sun/star/ucb/LockScope.idl
new file mode 100644
index 000000000..0e8933df5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockScope.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_ucb_LockScope_idl__
+#define __com_sun_star_ucb_LockScope_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** defines the scope of a lock.
+
+ @see LockEntry
+*/
+published enum LockScope
+{
+ /** the lock is exclusive.
+ */
+ EXCLUSIVE,
+
+ /** the lock is shared.
+ */
+ SHARED
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/LockType.idl b/offapi/com/sun/star/ucb/LockType.idl
new file mode 100644
index 000000000..bfe0dc72c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/LockType.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_ucb_LockType_idl__
+#define __com_sun_star_ucb_LockType_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies the access type of a lock.
+
+ @see LockEntry
+*/
+published enum LockType
+{
+ /** specifies a write lock.
+ */
+ WRITE
+
+
+// /** read lock.
+// */
+// READ,
+
+// /** read-write lock.
+// */
+// READWRITE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/MissingInputStreamException.idl b/offapi/com/sun/star/ucb/MissingInputStreamException.idl
new file mode 100644
index 000000000..80b16eb45
--- /dev/null
+++ b/offapi/com/sun/star/ucb/MissingInputStreamException.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_ucb_MissingInputStreamException_idl__
+#define __com_sun_star_ucb_MissingInputStreamException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is used to indicate that there is an
+ com::sun::star::io::XInputStream missing.
+
+ <p>For example, the command "insert" may fail, if the implementation
+ expects that an input stream is supplied with the given
+ InsertCommandArgument.
+
+ @version 1.0
+ @see Content
+*/
+published exception MissingInputStreamException : com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/MissingPropertiesException.idl b/offapi/com/sun/star/ucb/MissingPropertiesException.idl
new file mode 100644
index 000000000..d26cbb685
--- /dev/null
+++ b/offapi/com/sun/star/ucb/MissingPropertiesException.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_ucb_MissingPropertiesException_idl__
+#define __com_sun_star_ucb_MissingPropertiesException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is used to indicate that there are properties missing.
+
+ <p>For example, to create a new resource, usually one ore more property
+ values must be set prior to executing the command "insert", which makes
+ the new resource persistent.
+
+ @version 1.0
+ @see Content
+*/
+published exception MissingPropertiesException : com::sun::star::uno::Exception
+{
+ /** contains the names of the missing properties.
+ */
+ sequence< string > Properties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/NameClash.idl b/offapi/com/sun/star/ucb/NameClash.idl
new file mode 100644
index 000000000..75c7a63ff
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NameClash.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_ucb_NameClash_idl__
+#define __com_sun_star_ucb_NameClash_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for TransferInfo::NameClash.
+*/
+published constants NameClash
+{
+ /** Means to set an error and cancel the operation.
+ */
+ const long ERROR = 0;
+
+ /** Means to overwrite the object in the target folder with the object to
+ transfer.
+ */
+ const long OVERWRITE = 1;
+
+ /** Means to rename the object to transfer to solve the clash.
+
+ <p>The implementation needs to supply and set a suitable new name.
+ */
+ const long RENAME = 2;
+
+ /** Deprecated. Do not use!
+
+ @deprecated
+ */
+ const long KEEP = 3;
+
+ /** Means to use a NameClashResolveRequest in order to solve
+ the name clash.
+
+ @see com::sun::star::task::XInteractionHandler
+ */
+ const long ASK = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/NameClashException.idl b/offapi/com/sun/star/ucb/NameClashException.idl
new file mode 100644
index 000000000..5526b6a0c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NameClashException.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_ucb_NameClashException_idl__
+#define __com_sun_star_ucb_NameClashException_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** An exception used to notify a name clash.
+*/
+published exception NameClashException : com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** contains the clashing name.
+ */
+ string Name;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/NameClashResolveRequest.idl b/offapi/com/sun/star/ucb/NameClashResolveRequest.idl
new file mode 100644
index 000000000..cb9893f7f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NameClashResolveRequest.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_ucb_NameClashResolveRequest_idl__
+#define __com_sun_star_ucb_NameClashResolveRequest_idl__
+
+#include <com/sun/star/task/ClassifiedInteractionRequest.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This request is used to indicate a name clash.
+
+ <p>For example, when copying a file there might be another file in the
+ target folder that has the same file name as the source file.
+
+ <p>If this exception is passed to an
+ com::sun::star::task::XInteractionHandler an
+ XInteractionSupplyName and an
+ XInteractionReplaceExistingData should be supplied with
+ the com::sun::star::task::XInteractionRequest. On
+ return the XInteractionSupplyName, if selected, will contain
+ a new name supposed to resolve the name clash. The
+ XInteractionReplaceExistingData will be selected if the
+ clashing resource shall be overwritten.
+
+ @version 1.0
+*/
+published exception NameClashResolveRequest : com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** contains the URL of the folder that contains the clashing resource.
+ */
+ string TargetFolderURL;
+
+ /** contains the clashing name.
+ */
+ string ClashingName;
+
+ /** contains a proposal for a new, non-clashing name.
+ <p>This field may be left empty if the implementation is not able
+ to suggest a new name.
+ */
+ string ProposedNewName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/NumberedSortingInfo.idl b/offapi/com/sun/star/ucb/NumberedSortingInfo.idl
new file mode 100644
index 000000000..d438578df
--- /dev/null
+++ b/offapi/com/sun/star/ucb/NumberedSortingInfo.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_ucb_NumberedSortingInfo_idl__
+#define __com_sun_star_ucb_NumberedSortingInfo_idl__
+
+
+module com { module sun { module star { module ucb {
+
+/** contains information for sorting a ContentResultSet.
+
+ <p> In contrast to the struct SortingInfo this struct is
+ used to be on the safe side, that no one asks for sorting by a property
+ which is not contained in a ContentResultSet.
+*/
+published struct NumberedSortingInfo
+{
+ /** sort the result set by this column. Index starts with <code>1</code>.
+ */
+ long ColumnIndex;
+
+ /** contains a flag indicating the sort mode (ascending or descending).
+ */
+ boolean Ascending;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ODMAContent.idl b/offapi/com/sun/star/ucb/ODMAContent.idl
new file mode 100644
index 000000000..5f1a11ea1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ODMAContent.idl
@@ -0,0 +1,167 @@
+/* -*- 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_ucb_ODMAContent_idl__
+#define __com_sun_star_ucb_ODMAContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A OCP content is representation of a document saved in a DMS.
+
+ <p>The document Content corresponds to a document stored in a Document Management System.
+ </p>
+
+ @see com::sun::star::ucb::ODMAContentProvider
+ @see com::sun::star::ucb::Content
+
+ @since OOo 1.1.2
+*/
+published service ODMAContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ close
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.odma" )
+ </li>
+ <li>
+ boolean IsDocument
+ </li>
+ <li>
+ boolean IsFolder
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateCreated ( read-only )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateModified ( read-only )
+ </li>
+ <li>
+ string Author
+ </li>
+ <li>
+ string Subject
+ </li>
+ <li>
+ string Keywords
+ </li>
+ <li>
+ string Size ( read-only )
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ODMAContentProvider.idl b/offapi/com/sun/star/ucb/ODMAContentProvider.idl
new file mode 100644
index 000000000..29e23357b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ODMAContentProvider.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_ucb_ODMAContentProvider_idl__
+#define __com_sun_star_ucb_ODMAContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The ODMA Content Provider (OCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>It provides access to a document structure stored on a Document Management System (DMS).</p>
+
+
+ @see com::sun::star::ucb::ContentProvider
+ @see com::sun::star::ucb::Content
+ @see com::sun::star::ucb::ODMAContent
+
+ @since OOo 1.1.2
+*/
+published service ODMAContentProvider
+{
+ /** provides two types of content; the document and the Root Folder.
+
+ <p>
+
+ <ol>
+ <li><p>The document Content corresponds to a document stored on the
+ DMS.</p>
+ <li><p>The Root Folder exists at any time and is used to show all
+ documents available at that time. All other OCP contents are children
+ of this folder. The OCP Root Folder can only contain OCP Documents.
+ It has the URL <code><b>vnd.sun.star.odma:/</b></code>.</p>
+ </ol>
+
+
+
+ <p><b>URL Scheme for OCP Contents</b>
+ <p>Each OCP content has an identifier corresponding to the following
+ scheme:</p>
+ <p>vnd.sun.star.odma:/&lt;name&gt;</p>
+ <p>where &lt;name&gt; is the DocumentID given by the DMS.</p>
+ <p STYLE="font-weight: medium">Examples:</p>
+ <p><b>vnd.sun.star.odma:/ </b><span STYLE="font-weight: medium">( The
+ URL of the OCP Root Folder )</span></p>
+ <p STYLE="font-weight: medium"><b>vnd.sun.star.odma:/</b> a document
+ id given by the DMS</p>
+ <p><b>vnd.sun.star.odma:/</b>`ODMA\DMS_ID\DM_SPECIFIC_INFO`</p>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument.idl b/offapi/com/sun/star/ucb/OpenCommandArgument.idl
new file mode 100644
index 000000000..14c5b7444
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenCommandArgument.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_ucb_OpenCommandArgument_idl__
+#define __com_sun_star_ucb_OpenCommandArgument_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/Property.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for commands like "open", "update", and "synchronize".
+
+ @see XCommandProcessor
+*/
+published struct OpenCommandArgument
+{
+ /** A mode.
+
+ <p>The value can be one of the OpenMode constants.
+ */
+ long Mode;
+
+ /** The command's priority, in the range <code>0</code> (highest) to
+ <code>65535</code> (lowest).
+ */
+ long Priority;
+
+ /** The data sink to write the contents into (supporting either
+ com::sun::star::io::XActiveDataSink,
+ com::sun::star::io::XOutputStream or
+ com::sun::star::io::XActiveDataStreamer).
+
+ <p>XActiveDataSink and XOutputStream give the caller read-only
+ access to the contents. XActiveDataStreamer offers both read and
+ write access to the contents.
+
+ <p>If an XActiveDataSink is supplied, the implementation of the command
+ needs to provide an implementation of an object implementing the
+ interface com::sun::star::io::XInputStream. It is
+ highly recommended that this object also implements the interface
+ com::sun::star::io::XSeekable, if this can be done
+ without wasting resources (i.e. allocating huge memory buffers).
+ The implementation object has to be supplied to the data sink.
+ */
+ com::sun::star::uno::XInterface Sink;
+
+ /** The properties, for that the values shall be provided by the
+ DynamicResultSet returned by the command).
+ */
+ sequence< com::sun::star::beans::Property > Properties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument2.idl b/offapi/com/sun/star/ucb/OpenCommandArgument2.idl
new file mode 100644
index 000000000..1e90dad16
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenCommandArgument2.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_ucb_OpenCommandArgument2_idl__
+#define __com_sun_star_ucb_OpenCommandArgument2_idl__
+
+#include <com/sun/star/ucb/OpenCommandArgument.idl>
+#include <com/sun/star/ucb/NumberedSortingInfo.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for commands like "open", "update", and "synchronize".
+
+ <p>This struct extends the original OpenCommandArgument, which must not be
+ changed for compatibility reasons.
+
+ @see XCommandProcessor
+*/
+published struct OpenCommandArgument2 : OpenCommandArgument
+{
+ /** The sort criteria for the rows of the returned
+ ContentResultSet.
+
+ <p>The result set implementation may ignore this parameter, if it
+ cannot sort the data by the given criteria in an efficient way (i.e.
+ directly using the underlying data source -> SQL-database -> ORDER BY).
+ */
+ sequence< com::sun::star::ucb::NumberedSortingInfo > SortingInfo;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument3.idl b/offapi/com/sun/star/ucb/OpenCommandArgument3.idl
new file mode 100644
index 000000000..c8392d4d9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenCommandArgument3.idl
@@ -0,0 +1,36 @@
+/* -*- 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_ucb_OpenCommandArgument3_idl__
+#define __com_sun_star_ucb_OpenCommandArgument3_idl__
+
+#include <com/sun/star/ucb/OpenCommandArgument2.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+module com { module sun { module star { module ucb {
+
+/** Extended argument for commands like "open"
+
+ <p>We're extending OpenCommandArgument even more, to provide some opening flags on to webdav.
+
+ @see XCommandProcessor
+*/
+published struct OpenCommandArgument3 : OpenCommandArgument2
+{
+ /** Flags to use for opening.
+
+ <p>WebDav e.g. uses "KeepAlive" to enable/disable the respective http feature.
+ */
+ sequence< com::sun::star::beans::NamedValue > OpeningFlags;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/OpenMode.idl b/offapi/com/sun/star/ucb/OpenMode.idl
new file mode 100644
index 000000000..ddd6d7534
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OpenMode.idl
@@ -0,0 +1,79 @@
+/* -*- 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_ucb_OpenMode_idl__
+#define __com_sun_star_ucb_OpenMode_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for OpenCommandArgument::Mode.
+*/
+published constants OpenMode
+{
+ /** open a folder, include all children in result set (documents and
+ folders).
+ */
+ const short ALL = 0;
+
+ /** open a folder, include only children, that are folders, in result set.
+ */
+ const short FOLDERS = 1;
+
+ /** open a folder, include only children, that are documents, in result set.
+ */
+ const short DOCUMENTS = 3;
+
+ /** open a document. There are no special requirements for data access
+ sharing.
+
+ <p>Note: There must be a data sink supplied in the
+ OpenCommandArgument struct, if this value is set. This
+ sink will be used by the content implementation to supply the document
+ data.
+ */
+ const short DOCUMENT = 2;
+
+ /** open a document. Allow shared read and write access.
+
+ <p>Note: There must be a data sink supplied in the
+ OpenCommandArgument struct, if this value is set. This
+ sink will be used by the content implementation to supply the document
+ data.
+ */
+ const short DOCUMENT_SHARE_DENY_NONE = 4;
+
+ /** open a document. Deny shared write access.
+
+ <p>Note: There must be a data sink supplied in the
+ OpenCommandArgument struct, if this value is set. This
+ sink will be used by the content implementation to supply the document
+ data.
+ */
+ const short DOCUMENT_SHARE_DENY_WRITE = 5;
+
+// const short DOCUMENT_SHARE_DENY_READ = 6;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/OutgoingMessageState.idl b/offapi/com/sun/star/ucb/OutgoingMessageState.idl
new file mode 100644
index 000000000..1cb37f1c8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/OutgoingMessageState.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_ucb_OutgoingMessageState_idl__
+#define __com_sun_star_ucb_OutgoingMessageState_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for RecipientInfo::State.
+*/
+published enum OutgoingMessageState
+{
+ /** Message has just been placed into the out tray.
+ */
+ WRITTEN,
+
+ /** Message has been sent upstream to some recipients.
+ */
+ PARTIALLY_LOCALLY_SENT,
+
+ /** Message has been sent upstream to all recipients.
+ */
+ COMPLETELY_LOCALLY_SENT,
+
+ /** Local, non-fatal error (e.g. network temporarily not available).
+ */
+ RECOVERABLE_LOCAL_ERROR,
+
+ /** Local fatal error (e.g. first SMTP server upstream did not accept the
+ message).
+ */
+ NONRECOVERABLE_LOCAL_ERROR,
+
+ /** Global fatal error (e.g. last member in SMTP chain could not deliver
+ the message).
+ */
+ EXTERNAL_ERROR,
+
+ /** Message was sent; we are waiting for confirmation.
+ */
+ WAITING_CONFIRMATION,
+
+ /** Recipient confirmed reading.
+ */
+ CONFIRMED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PackageContentProvider.idl b/offapi/com/sun/star/ucb/PackageContentProvider.idl
new file mode 100644
index 000000000..ae51059ce
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PackageContentProvider.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_ucb_PackageContentProvider_idl__
+#define __com_sun_star_ucb_PackageContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The Package Content Provider (PCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>It provides access to packages ( zip / jar archive files ) containing
+ folders and streams.
+
+ @see com::sun::star::ucb::Content
+*/
+published service PackageContentProvider
+{
+ /** provides two types of contents: Stream and Folder.
+
+ <p>
+
+ <b>PCP Contents</b>
+ <ol>
+ <li>
+ A PCP Stream (PackageStreamContent) is a content which
+ represents a file inside a package. It is always contained in a PCP
+ Folder. A PCP Stream has no children.
+ </li>
+ <li>
+ A PCP Folder (PackageFolderContent) is a container for
+ other PCP Folders and PCP Streams.
+ </li>
+ </ol>
+
+ <p><b>URL Scheme for PCP Contents</b>
+
+ <p>Each HCP content has an identifier corresponding to the following
+ scheme:
+
+ <ul>
+ <li>
+ package-URL = "vnd.sun.star.pkg://" orig-URL [ abs-path ]
+ </li>
+ <li>
+ abs-path = "/" path-segments
+ </li>
+ <li>
+ path-segments = segment *( "/" segment )
+ </li>
+ <li>
+ segment = pchar
+ </li>
+ <li>
+ pchar = unreserved | escaped | ":" | "@" | "&" | "="
+ | "+" | "$" | ","
+ </li>
+ <li>
+ unreserved = alphanum | mark
+ </li>
+ <li>
+ mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
+ </li>
+ <li>
+ escaped = "%" hex hex
+ </li>
+ <li>
+ orig-URL = 1 *( unreserved | escaped | "$" | "," | ";"
+ | ":" | "@" | "&" | "&" | "=" | "+"
+ </li>
+ </ul>
+
+ <p>Examples:
+
+ <ul>
+ <li>
+ vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/
+ ( The root folder of the package located at file:///e:/my.xsw )
+ </li>
+ <li>
+ vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/Content
+ ( The folder/stream named "Content" that is contained in the root
+ folder of the located at file:///e:/my.xsw )
+ </li>
+ <li>
+ vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/Content%20A
+ ( The folder/stream named "Content A" that is contained in the root
+ folder of the located at file:///e:/my.xsw )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PackageFolderContent.idl b/offapi/com/sun/star/ucb/PackageFolderContent.idl
new file mode 100644
index 000000000..1252125c1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PackageFolderContent.idl
@@ -0,0 +1,208 @@
+/* -*- 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_ucb_PackageFolderContent_idl__
+#define __com_sun_star_ucb_PackageFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A PCP Folder is a container for other PCP Folders and PCP Streams.
+
+ @see com::sun::star::ucb::PackageContentProvider
+ @see com::sun::star::ucb::PackageStreamContent
+*/
+published service PackageFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created folder persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer ( only transfers from PCP Folders/PCP Streams to other
+ PCP folders. It does not handle contents with a URL scheme other
+ then the PCP-URL-scheme. )
+ </li>
+ <li>
+ flush ( a command introduced by the PCP Folder. It takes a
+ void-argument and returns void. This command is used to write unsaved
+ changes to the underlying package file. Note that the current
+ implementation of PCP contents never flushes automatically! Operations
+ which require a flush to get persistent, are:
+ "setPropertyValues( < any_non_read_only_property > ) ", "delete",
+ "insert" )
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.pkg-folder" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string MediaType
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ A PCP Folder can create other PCP Folders and PCP Streams. To create
+ a new child of a PCP Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is "application/vnd.sun.star.pkg-folder".
+ To create a new PCP Stream, use the type
+ "application/vnd.sun.star.pkg-stream".
+ </li>
+ <li>
+ Set a title at the new folder / stream. ( Let the new child execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ).
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process. For streams, you need to supply
+ the implementation of an
+ com::sun::star::io::XInputStream with the command's
+ parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+
+ <p>
+ Another, more convenient way for creating streams is simply to assemble
+ the URL for the new content ( last part of the path will become the
+ title of the new stream ) and to obtain a Content object for that URL
+ from the UCB. Then let the content execute the command "insert". The
+ command will fail, if you set the command's parameter
+ InsertCommandArgument::ReplaceExisting"
+ to false and there is already a stream with the title given by the
+ content's URL.
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PackageStreamContent.idl b/offapi/com/sun/star/ucb/PackageStreamContent.idl
new file mode 100644
index 000000000..f3a1c3902
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PackageStreamContent.idl
@@ -0,0 +1,162 @@
+/* -*- 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_ucb_PackageStreamContent_idl__
+#define __com_sun_star_ucb_PackageStreamContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A PCP Stream is a content which represents a file inside a package.
+
+ <p>It is always contained in a PCP Folder. A PCP Stream has no children.
+
+ @see com::sun::star::ucb::PackageContentProvider
+ @see com::sun::star::ucb::PackageFolderContent
+*/
+published service PackageStreamContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created stream persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.pkg-stream" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always true )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always false )
+ </li>
+ <li>
+ string MediaType
+ </li>
+ <li>
+ string Size ( read-only )
+ </li>
+ <li>
+ string Title
+ </li>
+ <li>
+ boolean Compressed ( allows you to explicitly state whether you want a
+ stream to be compressed or not. The default value of this property
+ will be determined according to the value of the property "MediaType".
+ If it is empty or prefixed by "text/", the value of "Compressed" is set
+ to true. Otherwise the value will be false. )
+ </li>
+ <li>
+ boolean Encrypted ( are the stream data encrypted or not ).
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PersistentPropertySet.idl b/offapi/com/sun/star/ucb/PersistentPropertySet.idl
new file mode 100644
index 000000000..212f87cb2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PersistentPropertySet.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_ucb_PersistentPropertySet_idl__
+#define __com_sun_star_ucb_PersistentPropertySet_idl__
+
+#include <com/sun/star/ucb/XPersistentPropertySet.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertyAccess.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This service contains the interfaces to implement by objects
+ returned by XPropertySetRegistry::openPropertySet().
+ */
+published service PersistentPropertySet
+{
+ /** An interface implementing a persistent property set.
+ */
+ interface com::sun::star::ucb::XPersistentPropertySet;
+
+ /** An interface for getting/setting the name (key) of the property set.
+ */
+ interface com::sun::star::container::XNamed;
+
+ /** An interface for adding/removing a property to/from the set.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** An interface for getting/setting multiple properties at once.
+ */
+ interface com::sun::star::beans::XPropertyAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PostCommandArgument.idl b/offapi/com/sun/star/ucb/PostCommandArgument.idl
new file mode 100644
index 000000000..458581bf4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PostCommandArgument.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_ucb_PostCommandArgument_idl__
+#define __com_sun_star_ucb_PostCommandArgument_idl__
+
+#include <com/sun/star/io/XInputStream.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the command "post".
+
+ @see XCommandProcessor
+*/
+published struct PostCommandArgument
+{
+ /** The data source containing the data to post.
+ */
+ com::sun::star::io::XInputStream Source;
+
+ /** The data sink receiving the returned contents (supporting either
+ com::sun::star::io::XActiveDataSink or
+ com::sun::star::io::XOutputStream).
+ */
+ com::sun::star::uno::XInterface Sink;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PostCommandArgument2.idl b/offapi/com/sun/star/ucb/PostCommandArgument2.idl
new file mode 100644
index 000000000..63ee42b7d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PostCommandArgument2.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_ucb_PostCommandArgument2_idl__
+#define __com_sun_star_ucb_PostCommandArgument2_idl__
+
+#include <com/sun/star/ucb/PostCommandArgument.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the command "post".
+
+ @see XCommandProcessor
+ @see WebDAVDocumentContent
+*/
+published struct PostCommandArgument2 : PostCommandArgument
+{
+ /** The media type (mime type) for the data to post.
+ */
+ string MediaType;
+
+ /** The URL of the referrer.
+ */
+ string Referer;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Priority.idl b/offapi/com/sun/star/ucb/Priority.idl
new file mode 100644
index 000000000..0f3a17a7a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Priority.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_ucb_Priority_idl__
+#define __com_sun_star_ucb_Priority_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for the property "Priority".
+
+ @see XCommandProcessor
+ @see Content
+*/
+published enum Priority
+{
+ /** Highest priority.
+ */
+ HIGHEST,
+
+ /** High priority.
+ */
+ HIGH,
+
+ /** Normal priority.
+ */
+ NORMAL,
+
+ /** Low priority.
+ */
+ LOW,
+
+ /** Lowest priority.
+ */
+ LOWEST
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PropertiesManager.idl b/offapi/com/sun/star/ucb/PropertiesManager.idl
new file mode 100644
index 000000000..b2ff8f0ec
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertiesManager.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_ucb_PropertiesManager_idl__
+#define __com_sun_star_ucb_PropertiesManager_idl__
+
+#include <com/sun/star/beans/XPropertySetInfo.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This service provides access to the meta data of the well known
+ (predefined) UCB properties.
+
+ @see com::sun::star::ucb::UniversalContentBroker
+ @see com::sun::star::ucb::ContentProvider
+ @see com::sun::star::ucb::Content
+*/
+published service PropertiesManager
+ : com::sun::star::beans::XPropertySetInfo;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PropertyCommandArgument.idl b/offapi/com/sun/star/ucb/PropertyCommandArgument.idl
new file mode 100644
index 000000000..10ffaa04c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertyCommandArgument.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_ucb_PropertyCommandArgument_idl__
+#define __com_sun_star_ucb_PropertyCommandArgument_idl__
+
+#include <com/sun/star/beans/Property.idl>
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the "addProperty" command.
+
+ @see XCommandProcessor
+ @since Apache OpenOffice 4.0, LibreOffice 4.2
+*/
+struct PropertyCommandArgument
+{
+ /** The property that the command has to add.
+ */
+ com::sun::star::beans::Property Property;
+
+ /** The default value of the property.
+ */
+ any DefaultValue;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PropertySetRegistry.idl b/offapi/com/sun/star/ucb/PropertySetRegistry.idl
new file mode 100644
index 000000000..54f21471d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertySetRegistry.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_ucb_PropertySetRegistry_idl__
+#define __com_sun_star_ucb_PropertySetRegistry_idl__
+
+#include <com/sun/star/ucb/XPropertySetRegistry.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This service contains the interfaces to implement by objects
+ returned by XPropertySetRegistryFactory::createRegistry().
+ */
+published service PropertySetRegistry
+{
+ /** A property set registry.
+ */
+ interface com::sun::star::ucb::XPropertySetRegistry;
+
+ /** An interface for accessing registry entries.
+ */
+ interface com::sun::star::container::XNameAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PropertyValueInfo.idl b/offapi/com/sun/star/ucb/PropertyValueInfo.idl
new file mode 100644
index 000000000..1525bf478
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertyValueInfo.idl
@@ -0,0 +1,45 @@
+/* -*- 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_ucb_PropertyValueInfo_idl__
+#define __com_sun_star_ucb_PropertyValueInfo_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/ucb/PropertyValueState.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains value and state of a
+ com::sun::star::beans::Property.
+*/
+published struct PropertyValueInfo: com::sun::star::beans::PropertyValue
+{
+ /** the state of the property value.
+ */
+ com::sun::star::ucb::PropertyValueState ValueState;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/PropertyValueState.idl b/offapi/com/sun/star/ucb/PropertyValueState.idl
new file mode 100644
index 000000000..36c6b0766
--- /dev/null
+++ b/offapi/com/sun/star/ucb/PropertyValueState.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_ucb_PropertyValueState_idl__
+#define __com_sun_star_ucb_PropertyValueState_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** defines the states of a property value in the process of obtaining the
+ value (asynchronously).
+
+ @see PropertyValueInfo
+*/
+published enum PropertyValueState
+{
+ /** The property value was not obtained yet.
+ */
+ UNPROCESSED,
+
+ /** The value was obtained.
+
+ <p>The value is stored in PropertyValueInfo::Value.
+ */
+ PROCESSED,
+
+ /** The given property name/handle is invalid.
+ */
+ INVALID_NAME,
+
+ /** The given property type is invalid.
+ */
+ INVALID_TYPE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RecipientInfo.idl b/offapi/com/sun/star/ucb/RecipientInfo.idl
new file mode 100644
index 000000000..bf6caafaf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RecipientInfo.idl
@@ -0,0 +1,105 @@
+/* -*- 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_ucb_RecipientInfo_idl__
+#define __com_sun_star_ucb_RecipientInfo_idl__
+
+#include <com/sun/star/ucb/OutgoingMessageState.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains all information needed to send a message using one send protocol.
+
+ <p>To send one message via two different protocols, two RecipientInfos
+ are needed - to send one message to different users with one protocol,
+ one RecipientInfo can be used.
+*/
+published struct RecipientInfo
+{
+ /** the protocol to use for sending (i.e. "NNTP", "SMTP", "VIM").
+ */
+ string ProtocolType;
+
+ /** the current state of the message.
+ */
+ com::sun::star::ucb::OutgoingMessageState State;
+
+ /** the recipient(s) (e.g. e-mail address/es).
+
+ <p>Multiple addresses are separated by commas.
+ */
+ string To;
+
+ /** the recipient(s) of a "carbon copy" (e.g. e-mail address/es).
+
+ <p>Multiple addresses are separated by commas.
+ */
+ string CC;
+
+ /** the recipient(s) of "blind carbon copy" (e.g. e-mail address/es).
+
+ <p>Multiple addresses are separated by commas.
+ */
+ string BCC;
+
+ /** the newsgroup(s) to which an article is be posted.
+
+ <p>Multiple addresses are separated by commas.
+ */
+ string Newsgroups;
+
+ /** the name of the server to be used for sending the message.
+ */
+ string Server;
+
+ /** the user name to be used for authorizing on the send server.
+ */
+ string Username;
+
+ /** the password to be used for authorizing on the send server.
+ */
+ string Password;
+
+ /** the Post Office Path (VIM only).
+ */
+ string VIMPostOfficePath;
+
+ /** string representing the last error (generated by send server).
+ */
+ string ProtocolErrorString;
+
+ /** the number representing the last error (generated by send server).
+ */
+ long ProtocolErrorNumber;
+
+ /** the count of tries to send a message. This count is <code>1</code>
+ if the message was sent with the first try and increases with every
+ unsuccessful retry.
+ */
+ long SendTries;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RememberAuthentication.idl b/offapi/com/sun/star/ucb/RememberAuthentication.idl
new file mode 100644
index 000000000..1afb0d352
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RememberAuthentication.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_ucb_RememberAuthentication_idl__
+#define __com_sun_star_ucb_RememberAuthentication_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A specification of how long to remember some authentication data.
+*/
+published enum RememberAuthentication
+{
+ /** Do not remember the authentication data (use it once and immediately
+ forget about it).
+ */
+ NO,
+
+ /** Remember the authentication data, but only until the end of the
+ current session.
+ */
+ SESSION,
+
+ /** Remember the authentication data "forever".
+ */
+ PERSISTENT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl b/offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl
new file mode 100644
index 000000000..520ba755e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteAccessContentProvider.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_ucb_RemoteAccessContentProvider_idl__
+#define __com_sun_star_ucb_RemoteAccessContentProvider_idl__
+
+#include <com/sun/star/ucb/ContentProvider.idl>
+#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A RemoteAccessContentProvider is a
+ ContentProvider that provides access to contents available at
+ other (remote) UCBs.
+*/
+published service RemoteAccessContentProvider
+{
+ /** A RemoteAccessContentProvider is a specialized
+ ContentProvider.
+ */
+ service com::sun::star::ucb::ContentProvider;
+
+ /** allows configuration of the RemoteAccessContentProvider,
+ to specify that certain XContentIdentifiers map to
+ XContents from a certain remote UCB. The Arguments
+ string in the
+ XParameterizedContentProvider::registerInstance()
+ call must contain the UNO URL of the remote UCB.
+
+ The XContentProviders obtained through this interface
+ implement the service ContentProvider and, if
+ appropriate, also the interface XFileIdentifierConverter.
+ */
+ interface com::sun::star::ucb::XParameterizedContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl b/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl
new file mode 100644
index 000000000..b26b53903
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.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_ucb_RemoteContentProviderAcceptor_idl__
+#define __com_sun_star_ucb_RemoteContentProviderAcceptor_idl__
+
+module com { module sun { module star { module ucb {
+
+ published interface XRemoteContentProviderAcceptor;
+ published interface XRemoteContentProviderActivator;
+
+/** allows content providers running in remote processes to be registered at
+ the local content provider broker.
+ */
+published service RemoteContentProviderAcceptor
+{
+ /** This interface provides the base functionality to register and
+ deregister content providers running in remote processes.
+ */
+ interface XRemoteContentProviderAcceptor;
+
+ /** This optional interface can be used to adopt a lazy implement strategy
+ for this service, which can improve performance in certain situations.
+
+ <p>The way this works might change, therefore this interface is marked
+ as deprecated.
+
+ @deprecated
+ */
+ [optional] interface XRemoteContentProviderActivator;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl b/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl
new file mode 100644
index 000000000..563852216
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.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_ucb_RemoteContentProviderChangeAction_idl__
+#define __com_sun_star_ucb_RemoteContentProviderChangeAction_idl__
+
+module com { module sun { module star { module ucb {
+
+/** An indication used in a
+ com::sun::star::ucb::RemoteContentProviderChangeEvent to
+ specify whether a remote content provider has been added to or removed
+ from an
+ com::sun::star::ucb::XRemoteContentProviderSupplier.
+
+ @version 1.0
+ */
+published enum RemoteContentProviderChangeAction
+{
+ /** The indicator that a remote content provider has been added.
+ */
+ ADDED,
+
+ /** The indicator that a remote content provider has been removed.
+ */
+ REMOVED
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl b/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl
new file mode 100644
index 000000000..aa2eeb3e7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.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_ucb_RemoteContentProviderChangeEvent_idl__
+#define __com_sun_star_ucb_RemoteContentProviderChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/ucb/RemoteContentProviderChangeAction.idl>
+
+module com { module sun { module star { module ucb {
+
+/** The description of a change to a
+ com::sun::star::ucb::XRemoteContentProviderSupplier.
+
+ @version 1.0
+ */
+published struct RemoteContentProviderChangeEvent: com::sun::star::lang::EventObject
+{
+ /** The identifier with which the remote content provider is registered
+ at the
+ com::sun::star::ucb::XRemoteContentProviderSupplier.
+ */
+ string Identifier;
+
+ /** An indicator whether a remote content provider has been added or
+ removed.
+ */
+ RemoteContentProviderChangeAction Action;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl b/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl
new file mode 100644
index 000000000..bb09062a5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl
@@ -0,0 +1,67 @@
+/* -*- 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_ucb_RemoteProxyContentProvider_idl__
+#define __com_sun_star_ucb_RemoteProxyContentProvider_idl__
+
+module com { module sun { module star { module ucb {
+
+ published interface XContentIdentifierFactory;
+ published interface XContentProvider;
+ published interface XParameterizedContentProvider;
+
+/** A ContentProvider that wraps remote content providers that
+ (potentially) have been distributed to a UCB.
+
+ <p>Before trying to pass a request to a "real", underlying content provider
+ (which will most likely be a remote content provider distributed to this
+ UCB), this proxy first activates any remote content providers that have
+ been distributed here, but are still inactive (see
+ RemoteContentProviderAcceptor and
+ XRemoteContentProviderActivator for more information).
+
+ <p>The way this works might change, therefore this interface is marked as
+ deprecated.
+
+ @deprecated
+ */
+published service RemoteProxyContentProvider
+{
+ /** activates any potentially inactive remote content providers before
+ passing on requests to the underlying XContentProvider.
+ */
+ interface XContentProvider;
+
+ /** activates any potentially inactive remote content providers before
+ passing on requests to the underlying
+ XContentIdentifierFactory.
+ */
+ [optional] interface XContentIdentifierFactory;
+
+ /** allows this ContentProvider to adjust itself to special
+ needs.
+ */
+ [optional] interface XParameterizedContentProvider;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ResultSetException.idl b/offapi/com/sun/star/ucb/ResultSetException.idl
new file mode 100644
index 000000000..9bea5cbf3
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ResultSetException.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_ucb_ResultSetException_idl__
+#define __com_sun_star_ucb_ResultSetException_idl__
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to propagate exceptions thrown by operations
+ on ContentResultSets.
+
+ @version 1.0
+*/
+published exception ResultSetException: com::sun::star::sdbc::SQLException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Rule.idl b/offapi/com/sun/star/ucb/Rule.idl
new file mode 100644
index 000000000..ddf20924a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Rule.idl
@@ -0,0 +1,77 @@
+/* -*- 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_ucb_Rule_idl__
+#define __com_sun_star_ucb_Rule_idl__
+
+#include <com/sun/star/ucb/RuleTerm.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** describes a rule that can be applies to a number of objects.
+
+ <p>A rule consists of a sequence of RuleTerms describing the
+ objects to which the rule should be applied, the RuleAction
+ which should be used on the matching objects, and a parameter.
+*/
+published struct Rule
+{
+ /** the rule terms describing the objects to which the rule should be
+ applied.
+ */
+ sequence<com::sun::star::ucb::RuleTerm> Terms;
+
+ /** Some RuleActions require a parameter.
+
+ <table border =1>
+ <tr>
+ <th>Action</th>
+ <th>Parameter</th>
+ </tr>
+ <tr>
+ <td>COPY, MOVE, LINK</td>
+ <td>The URL to the destination folder.</td>
+ </tr>
+ <tr>
+ <td>FORWARD</td>
+ <td>The email address of the recipient</td>
+ </tr>
+ <tr>
+ <td>All other actions</td>
+ <td>n/a</td>
+ </tr>
+ </table>
+ */
+ string Parameter;
+
+ /** the action to perform on the matching objects.
+
+ <p>The value can be one of the RuleAction constants.
+ */
+ short Action;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RuleAction.idl b/offapi/com/sun/star/ucb/RuleAction.idl
new file mode 100644
index 000000000..358621409
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleAction.idl
@@ -0,0 +1,91 @@
+/* -*- 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_ucb_RuleAction_idl__
+#define __com_sun_star_ucb_RuleAction_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for Rule::Action.
+
+ @see RuleSet
+*/
+published constants RuleAction
+{
+ /** "None" - Do nothing.
+ */
+ const short NONE = 0;
+
+ /** "Show" - Shows object when term matches.
+ */
+ const short SHOW = 1;
+
+ /** "Hide" - Hides object when term matches.
+ */
+ const short HIDE = 2;
+
+ /** "Mark" - Marks object when term matches.
+ */
+ const short MARK = 3;
+
+ /** "UnMark" - Removes mark from object when term matches.
+ */
+ const short UNMARK = 4;
+
+ /** "MarkRead" - Marks object as read when term matches.
+ */
+ const short MARKREAD = 5;
+
+ /** "MarkUnRead" - Marks object as not read when term matches.
+ */
+ const short MARKUNREAD = 6;
+
+ /** "Move" - Moves object to Rule::Parameter when term
+ matches.
+ */
+ const short MOVE = 7;
+
+ /** "Copy" - Copies object to Rule::Parameter when term
+ matches.
+ */
+ const short COPY = 8;
+
+ /** "Delete" - Deletes object when term matches.
+ */
+ const short DELETE = 9;
+
+ /** "Link" - Creates a link to Rule::Parameter when term
+ matches.
+ */
+ const short LINK = 10;
+
+ /** "Forward" - Forwards object to Rule::Parameter when
+ term matches.
+ */
+ const short FORWARD = 11;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RuleOperator.idl b/offapi/com/sun/star/ucb/RuleOperator.idl
new file mode 100644
index 000000000..442adda69
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleOperator.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_ucb_RuleOperator_idl__
+#define __com_sun_star_ucb_RuleOperator_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for RuleTerm::RuleOperator.
+
+ @see RuleSet
+ @see Rule
+*/
+published constants RuleOperator
+{
+ /** "Contains" - Object contains RuleTerm::Operand.
+ */
+ const short CONTAINS = 1;
+
+ /** "ContainsNot" - Object does not contain
+ RuleTerm::Operand.
+ */
+ const short CONTAINSNOT = 2;
+
+ /** "GreaterEqual" - Object is greater than or equal to
+ RuleTerm::Operand.
+ */
+ const short GREATEREQUAL = 3;
+
+ /** "LessEqual" - Object is less than or equal to
+ RuleTerm::Operand.
+ */
+ const short LESSEQUAL = 4;
+
+ /** "Equal" - Object is equal to RuleTerm::Operand.
+ */
+ const short EQUAL = 5;
+
+ /** "NotEqual" - Object is not equal to RuleTerm::Operand.
+ */
+ const short NOTEQUAL = 6;
+
+ /** "True" - Object has the value `TRUE`.
+ */
+ const short VALUE_TRUE = 7;
+
+ /** "False" - Object has the value `FALSE`.
+ */
+ const short VALUE_FALSE = 8;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RuleSet.idl b/offapi/com/sun/star/ucb/RuleSet.idl
new file mode 100644
index 000000000..bf4a061f3
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleSet.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_ucb_RuleSet_idl__
+#define __com_sun_star_ucb_RuleSet_idl__
+
+#include <com/sun/star/ucb/Rule.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** describes a set of Rules.
+
+ <p>A RuleSet is applied to a folder. It consists of a sequence of rules.
+ Each rule consists of a sequence of RuleTerms describing the
+ objects to which the rule should by applied and the RuleAction
+ which should be performed on the matching objects.
+*/
+published struct RuleSet
+{
+ /** contains a number of rules.
+ */
+ sequence<com::sun::star::ucb::Rule> Rules;
+
+ /** is a flag indicating whether the rules apply to folders, too.
+ */
+ boolean HandleFolder;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/RuleTerm.idl b/offapi/com/sun/star/ucb/RuleTerm.idl
new file mode 100644
index 000000000..49b2a51df
--- /dev/null
+++ b/offapi/com/sun/star/ucb/RuleTerm.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_ucb_RuleTerm_idl__
+#define __com_sun_star_ucb_RuleTerm_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** describes a term.
+
+ <p>A term is used to select objects to which a rule should apply.
+*/
+published struct RuleTerm
+{
+ /** the name of the property used to match the term.
+ */
+ string Property;
+
+ /** the value of the property used to compare with the document
+ property.
+ */
+ any Operand;
+
+ /** the operator used to compare the property of the document with
+ the given value (e.g. "contains" or "greater equal").
+
+ <p>The value can be one of the RuleOperator constants.
+ */
+ short Operator;
+
+ /** this flag indicates whether a string "operand" shall be compared
+ case sensitive.
+ */
+ boolean CaseSensitive;
+
+ /** this flag indicates whether a string "operand" shall be treated
+ as a regular expression.
+ */
+ boolean RegularExpression;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SearchCommandArgument.idl b/offapi/com/sun/star/ucb/SearchCommandArgument.idl
new file mode 100644
index 000000000..6c5d112e1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchCommandArgument.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_ucb_SearchCommandArgument_idl__
+#define __com_sun_star_ucb_SearchCommandArgument_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/Property.idl>
+#include <com/sun/star/ucb/SearchInfo.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The argument for the command "search".
+
+ @see XCommandProcessor
+*/
+published struct SearchCommandArgument
+{
+ /** the search criteria.
+ */
+ SearchInfo Info;
+
+ /** the properties for which values shall be provided through the
+ ContentResultSet returned by the search command.
+ */
+ sequence< com::sun::star::beans::Property > Properties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SearchCriterium.idl b/offapi/com/sun/star/ucb/SearchCriterium.idl
new file mode 100644
index 000000000..09c6fceed
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchCriterium.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_ucb_SearchCriterium_idl__
+#define __com_sun_star_ucb_SearchCriterium_idl__
+
+#include <com/sun/star/ucb/RuleTerm.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** a criterion describing how an object must match some rules that specify
+ (part of) a search.
+*/
+published struct SearchCriterium
+{
+ /** a number of rule terms.
+ */
+ sequence<com::sun::star::ucb::RuleTerm> Terms;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SearchInfo.idl b/offapi/com/sun/star/ucb/SearchInfo.idl
new file mode 100644
index 000000000..0fcb43dad
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchInfo.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_ucb_SearchInfo_idl__
+#define __com_sun_star_ucb_SearchInfo_idl__
+
+#include <com/sun/star/ucb/SearchCriterium.idl>
+#include <com/sun/star/ucb/SearchRecursion.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** information needed to (recursively) search an object.
+*/
+published struct SearchInfo
+{
+ /** the search criteria.
+ */
+ sequence<com::sun::star::ucb::SearchCriterium> Criteria;
+
+ /** the mode of recursion to use.
+ */
+ com::sun::star::ucb::SearchRecursion Recursion;
+
+ /** whether to include the object itself in the search or only (some of)
+ its sub-objects.
+ */
+ boolean IncludeBase;
+
+ /** whether to respect the "view restrictions" specified for the folders
+ hierarchically contained within an object (e.g., only searches through
+ subscribed folders).
+ */
+ boolean RespectFolderViewRestrictions;
+
+ /** whether to respect the "view restrictions" specified for the documents
+ hierarchically contained within an object (e.g., only searches through
+ marked documents).
+ */
+ boolean RespectDocViewRestrictions;
+
+ /** whether to follow indirections (link objects) and search through their
+ respective targets also.
+ */
+ boolean FollowIndirections;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SearchRecursion.idl b/offapi/com/sun/star/ucb/SearchRecursion.idl
new file mode 100644
index 000000000..8bd03dcdd
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SearchRecursion.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_ucb_SearchRecursion_idl__
+#define __com_sun_star_ucb_SearchRecursion_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** the various modes of recursion when searching through a hierarchical
+ object.
+
+ @see SearchInfo
+*/
+published enum SearchRecursion
+{
+ /** Does not search through any sub-objects.
+ */
+ NONE,
+
+ /** Only searches through sub-objects of the first hierarchy level.
+ */
+ ONE_LEVEL,
+
+ /** Searches through the complete hierarchy of all sub-objects.
+ */
+ DEEP
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SendInfo.idl b/offapi/com/sun/star/ucb/SendInfo.idl
new file mode 100644
index 000000000..9f8037088
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SendInfo.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_ucb_SendInfo_idl__
+#define __com_sun_star_ucb_SendInfo_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains information related to a send protocol.
+
+ <p>It can contain any string values (server names, user names, passwords,
+ ...).
+*/
+published struct SendInfo
+{
+ /** the protocol to which the info is related (i.e. "NNTP", "SMTP", "VIM").
+ */
+ string ProtocolType;
+
+ /** the value.
+ */
+ string Value;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SendMediaTypes.idl b/offapi/com/sun/star/ucb/SendMediaTypes.idl
new file mode 100644
index 000000000..def07946e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SendMediaTypes.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_ucb_SendMediaTypes_idl__
+#define __com_sun_star_ucb_SendMediaTypes_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains a list of Internet media types (like "text/plain" and "text/html"),
+ that are related to a send protocol.
+*/
+published struct SendMediaTypes
+{
+ /** the protocol to which the information is related (i.e. "NNTP", "SMTP",
+ "VIM").
+ */
+ string ProtocolType;
+
+ /** a list of Internet media types
+ */
+ sequence<string> Value;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/ServiceNotFoundException.idl b/offapi/com/sun/star/ucb/ServiceNotFoundException.idl
new file mode 100644
index 000000000..9bc74906e
--- /dev/null
+++ b/offapi/com/sun/star/ucb/ServiceNotFoundException.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_ucb_ServiceNotFoundException_idl__
+#define __com_sun_star_ucb_ServiceNotFoundException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is thrown to indicate that a needed service was
+ not registered.
+*/
+published exception ServiceNotFoundException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SimpleFileAccess.idl b/offapi/com/sun/star/ucb/SimpleFileAccess.idl
new file mode 100644
index 000000000..8b7902baf
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SimpleFileAccess.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_ucb_SimpleFileAccess_idl__
+#define __com_sun_star_ucb_SimpleFileAccess_idl__
+
+#include <com/sun/star/ucb/XSimpleFileAccess3.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Offers a simple access to resources, like files and folders located in a
+local file system or on a WebDAV server.
+
+ @version 1.0 07/25/2000
+*/
+published service SimpleFileAccess : XSimpleFileAccess3;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl
new file mode 100644
index 000000000..a5b0a14ac
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.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/.
+ *
+ * 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_ucb_SortedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_SortedDynamicResultSetFactory_idl__
+
+#include <com/sun/star/ucb/XSortedDynamicResultSetFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a factory for DynamicResultSet implementations, which
+ will be sorted according to the given sorting options.
+*/
+published service SortedDynamicResultSetFactory
+ : XSortedDynamicResultSetFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SortingInfo.idl b/offapi/com/sun/star/ucb/SortingInfo.idl
new file mode 100644
index 000000000..189d38590
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SortingInfo.idl
@@ -0,0 +1,45 @@
+/* -*- 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_ucb_SortingInfo_idl__
+#define __com_sun_star_ucb_SortingInfo_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains a sorting info.
+*/
+published struct SortingInfo
+{
+ /** specifies the name of a property to use for sorting ( e.g. "Title" ).
+ */
+ string PropertyName;
+
+ /** contains a flag indicating the sort mode (ascending or descending).
+ */
+ boolean Ascending;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/Store.idl b/offapi/com/sun/star/ucb/Store.idl
new file mode 100644
index 000000000..500d2999c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/Store.idl
@@ -0,0 +1,36 @@
+/* -*- 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_ucb_Store_idl__
+#define __com_sun_star_ucb_Store_idl__
+
+#include <com/sun/star/ucb/XPropertySetRegistryFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates instances of the service PropertySetRegistry.
+ */
+published service Store : XPropertySetRegistryFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/SynchronizePolicy.idl b/offapi/com/sun/star/ucb/SynchronizePolicy.idl
new file mode 100644
index 000000000..cd05a269d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/SynchronizePolicy.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_ucb_SynchronizePolicy_idl__
+#define __com_sun_star_ucb_SynchronizePolicy_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for the property "SynchronizePolicy".
+
+ @see XCommandProcessor
+ @see Content
+*/
+published enum SynchronizePolicy
+{
+ /** Server is master.
+ */
+ SERVER_IS_MASTER,
+
+ /** Client is master.
+ */
+ CLIENT_IS_MASTER,
+
+ /** None is master.
+ */
+ NONE_IS_MASTER
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransferCommandOperation.idl b/offapi/com/sun/star/ucb/TransferCommandOperation.idl
new file mode 100644
index 000000000..bf9e7aa91
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferCommandOperation.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_ucb_TransferCommandOperation_idl__
+#define __com_sun_star_ucb_TransferCommandOperation_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for
+ GlobalTransferCommandArgument::Operation.
+*/
+published enum TransferCommandOperation
+{
+ /** Copy the source to the target folder. */
+ COPY,
+
+ /** Move the source to the target folder. */
+ MOVE,
+
+ /** Create a link in the target folder. The link's target is the source
+ object. */
+ LINK
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransferInfo.idl b/offapi/com/sun/star/ucb/TransferInfo.idl
new file mode 100644
index 000000000..1d6bb2eb5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferInfo.idl
@@ -0,0 +1,74 @@
+/* -*- 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_ucb_TransferInfo_idl__
+#define __com_sun_star_ucb_TransferInfo_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** contains information needed to transfer objects from one location to another.
+
+ <p>The transfer command is always called on the target folder. For a
+ details description of the transfer command refer to the documentation
+ of service Content.
+*/
+published struct TransferInfo
+{
+ /** contains the flags describing whether the data shall be moved
+ instead of copied.
+ */
+ boolean MoveData;
+
+ /** contains the URL of the source of the action (e.g. the URL of a
+ file to move).
+ */
+ string SourceURL;
+
+ /** contains the title of the transferred object, if it is different
+ from the original one.
+
+ <p>If this field is filled, for example, a file will be renamed
+ while it is being transferred.</p>
+ */
+ string NewTitle;
+
+ /** describes how to act in case of title clashes while transferring
+ the data.
+
+ <p>A title clash for instance occurs, if a file named "foo.txt" is
+ to be transferred to a folder already containing another file named
+ "foo.txt".
+
+ <p>The value can be one of the NameClash constants.
+
+ <p>Implementations that are not able to detect whether there is a
+ clashing resource may ignore NameClash::ERROR and
+ NameClash::RENAME always write the new data.
+ */
+ long NameClash;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransferInfo2.idl b/offapi/com/sun/star/ucb/TransferInfo2.idl
new file mode 100644
index 000000000..c7bcef22d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferInfo2.idl
@@ -0,0 +1,31 @@
+/* -*- 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_ucb_TransferInfo2_idl__
+#define __com_sun_star_ucb_TransferInfo2_idl__
+
+#include <com/sun/star/ucb/TransferInfo.idl>
+
+module com { module sun { module star { module ucb {
+
+/** extends TransferInfo structure to give some additional parameters
+ for transfers.
+ */
+struct TransferInfo2 : TransferInfo
+{
+ /** contains the MIME type of the source of the action
+ */
+ string MimeType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransferResult.idl b/offapi/com/sun/star/ucb/TransferResult.idl
new file mode 100644
index 000000000..ed7961f3c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransferResult.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_ucb_TransferResult_idl__
+#define __com_sun_star_ucb_TransferResult_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Information about a transfer activity.
+*/
+published struct TransferResult
+{
+ /** The URL of the source object.
+ */
+ string Source;
+
+ /** The URL of the target folder into which to transfer (a copy of) the
+ source object.
+ */
+ string Target;
+
+ /** Either void if the transfer has been carried out successfully, or an
+ exception indicating the kind of failure.
+ */
+ any Result;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl
new file mode 100644
index 000000000..012a3dd46
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.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_ucb_TransientDocumentsContentProvider_idl__
+#define __com_sun_star_ucb_TransientDocumentsContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The Transient Documents Content Provider (TDCP) implements a
+ ContentProvider for the UniversalContentBroker
+ (UCB).
+
+ <p>It provides access to the hierarchical structure of the documents that
+ are active in a running OpenOffice.org process. As long as a document was
+ not closed, the TDCP can access it. All documents that have been loaded -
+ regardless of their persistent document format (sxw, doc, sxc, xls, ...)
+ or that have been created but not yet saved to any storage medium, are
+ supported. The TDCP is not able to load any documents itself. This is
+ exclusively done by the OpenOffice.org document handling framework. The
+ document contents provided by the TDCP represent live data, which may
+ differ from any persistent representation of the document, for instance,
+ because the user modified the document after loading, but did not yet save
+ it.
+
+ @see TransientDocumentsRootContent
+ @see TransientDocumentsDocumentContent
+ @see TransientDocumentsFolderContent
+ @see TransientDocumentsStreamContent
+
+ @since OOo 2.0
+*/
+service TransientDocumentsContentProvider
+{
+ /** provides four different types of contents: Stream, Folder, Document and
+ Root.
+
+ <p>
+
+ <b>TDCP Contents</b>
+ <ol>
+ <li>
+ A TDCP Stream (TransientDocumentsStreamContent) is a
+ content which represents a data stream of an Office document. It is
+ contained in a TDCP Folder or TDCP Document. A TDCP Stream has no
+ children.
+ </li>
+ <li>
+ A TDCP Folder (TransientDocumentsFolderContent) is a
+ container for other TDCP Folders and TDCP Streams. It may be contained
+ in another TDCP Folder or in a TDCP Document.
+ </li>
+ <li>
+ A TDCP Document (TransientDocumentsDocumentContent)
+ represents the root folder of a transient document. It is a container
+ for other TDCP Folders and TDCP Streams. It is always a child of the
+ TDCP Root.
+ </li>
+ <li>
+ There is at most one instance of a TDCP Root
+ (TransientDocumentsRootContent) at a time. All other TDCP
+ contents are children of this folder. The TDCP Root Folder can contain
+ only TDCP Documents. It has the fixed URL "vnd.sun.star.tdoc:/".
+ </li>
+ </ol>
+
+ <p><b>URL Scheme for TDCP Contents</b>
+
+ <p>Each TDCP content has an identifier corresponding to the following
+ scheme:
+
+ <ul>
+ <li>
+ tdcp-URL = "vnd.sun.star.tdoc:" abs-path
+ </li>
+ <li>
+ abs-path = +( "/" segment )
+ </li>
+ <li>
+ segment = *( pchar )
+ </li>
+ <li>
+ pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | ","
+ </li>
+ <li>
+ unreserved = alphanum | mark
+ </li>
+ <li>
+ mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
+ </li>
+ <li>
+ escaped = "%" hex hex
+ </li>
+ </ul>
+
+ <p>Examples:
+
+ <ul>
+ <li>
+ vnd.sun.star.tdoc:/
+ ( The TDCP Root )
+ </li>
+ <li>
+ vnd.sun.star.tdoc:/22
+ ( The document with the id 22 )
+ </li>
+ <li>
+ vnd.sun.star.tdoc:/22/
+ ( The document with the id 22 )
+ </li>
+ <li>
+ vnd.sun.star.tdoc:/42/folder/subfolder
+ ( The folder/stream named subfolder contained in folder named folder,
+ which is contained in the document with the id 42 )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl
new file mode 100644
index 000000000..7f9969019
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl
@@ -0,0 +1,182 @@
+/* -*- 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_ucb_TransientDocumentsDocumentContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A TDCP Document represents the root folder of a transient document.
+
+ <p>It is a container for other TDCP Folders and TDCP Streams. It is always
+ a child of the TDCP Root.
+
+ @see TransientDocumentsContentProvider
+ @see TransientDocumentsRootContent
+ @see TransientDocumentsFolderContent
+ @see TransientDocumentsStreamContent
+
+ @since OOo 2.0
+*/
+service TransientDocumentsDocumentContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer (only transfers TDCP documents, TDCP folders and TDCP streams.
+ It does not handle contents with a URL scheme other than the TDOC URL
+ scheme)
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.tdoc-document" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string Title ( read-only )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>To create a new child of a TDCP Document:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is "application/vnd.sun.star.tdoc-folder".
+ To create a new stream, use the type string
+ "application/vnd.sun.star.tdoc-stream".
+ </li>
+ <li>
+ Set a title for the new folder/stream. (Let the new child execute the
+ command "setPropertyValues"; pass a non-empty value for the property
+ "Title").
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process. For streams, you need to supply
+ the implementation of an
+ com::sun::star::io::XInputStream with the command's
+ parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl
new file mode 100644
index 000000000..f9dd69144
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl
@@ -0,0 +1,192 @@
+/* -*- 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_ucb_TransientDocumentsFolderContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A TDCP Folder is a container for other TDCP Folders and TDCP Streams.
+
+ <p>It may be contained in another TDCP Folder or in a TDCP Document.
+
+ @see TransientDocumentsContentProvider
+ @see TransientDocumentsRootContent
+ @see TransientDocumentsDocumentContent
+ @see TransientDocumentsStreamContent
+
+ @since OOo 2.0
+*/
+service TransientDocumentsFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ insert
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ transfer (only transfers TDCP documents, TDCP folders and TDCP streams.
+ It does not handle contents with a URL scheme other than the TDOC URL
+ scheme)
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.tdoc-folder" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string Title
+ </li>
+ <li>
+ com::sun::star::embed::XStorage Storage ( read-only,
+ always a reference to a storage opened in read-only mode. No write
+ operations are possible. TDCP contents must be used for writing.)
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>To create a new child of a TDCP Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is "application/vnd.sun.star.tdoc-folder".
+ To create a new stream, use the type string
+ "application/vnd.sun.star.tdoc-stream".
+ </li>
+ <li>
+ Set a title for the new folder/stream. (Let the new child execute the
+ command "setPropertyValues"; pass a non-empty value for the property
+ "Title").
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process. For streams, you need to supply
+ the implementation of an
+ com::sun::star::io::XInputStream with the command's
+ parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl
new file mode 100644
index 000000000..a8de4dd6c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.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_ucb_TransientDocumentsRootContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsRootContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A TDCP Root Folder is the root container for all other TDCP contents.
+
+ <p>There is at most one instance of a TDCP Root at a time. All other TDCP
+ contents are children of this folder. The TDCP Root Folder can contain
+ only TDCP Documents. It has the fixed URL "vnd.sun.star.tdoc:/".
+
+ @see TransientDocumentsContentProvider
+ @see TransientDocumentsDocumentContent
+ @see TransientDocumentsFolderContent
+ @see TransientDocumentsStreamContent
+
+ @since OOo 2.0
+*/
+service TransientDocumentsRootContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.tdoc-root" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ string Title ( read-only, always an empty string )
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl
new file mode 100644
index 000000000..0382a61a4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl
@@ -0,0 +1,153 @@
+/* -*- 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_ucb_TransientDocumentsStreamContent_idl__
+#define __com_sun_star_ucb_TransientDocumentsStreamContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A TDCP Stream is a content which represents a data stream of an Office
+ document.
+
+ <p>It is contained in a TDCP Folder or TDCP Document. A TDCP Stream has no
+ children.
+
+ @see TransientDocumentsContentProvider
+ @see TransientDocumentsRootContent
+ @see TransientDocumentsDocumentContent
+ @see TransientDocumentsFolderContent
+
+ @since OOo 2.0
+*/
+service TransientDocumentsStreamContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ insert
+ </li>
+ <li>
+ delete
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.tdoc-stream" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always true )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always false )
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl b/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl
new file mode 100644
index 000000000..72de8e7e1
--- /dev/null
+++ b/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl
@@ -0,0 +1,45 @@
+/* -*- 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_ucb_URLAuthenticationRequest_idl__
+#define __com_sun_star_ucb_URLAuthenticationRequest_idl__
+
+#include <com/sun/star/ucb/AuthenticationRequest.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An error specifying lack of correct authentication data (e.g., to log into
+ an account).
+
+ @since OOo 3.2
+*/
+exception URLAuthenticationRequest : AuthenticationRequest
+{
+ /** The URL for which authentication is requested.
+ */
+ string URL;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/UniversalContentBroker.idl b/offapi/com/sun/star/ucb/UniversalContentBroker.idl
new file mode 100644
index 000000000..938595475
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UniversalContentBroker.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_ucb_UniversalContentBroker_idl__
+#define __com_sun_star_ucb_UniversalContentBroker_idl__
+
+#include <com/sun/star/ucb/XUniversalContentBroker.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is a one-instance service that provides access to a set of
+ Contents via ContentProviders.
+
+ <p>Traditionally, this service implements
+ com::sun::star::lang::XInitialization and needed to be
+ instantiated once with two arguments via
+ com::sun::star::lang::XMultiComponentFactory::createInstanceWithArgumentsAndContext()
+ for configuration before it could be obtained via plain
+ com::sun::star::lang::XMultiComponentFactory::createInstanceWithContext().
+
+ <p>However, the only pair of initialization arguments used in practice is
+ <code>"Local"</code>/<code>"Office"</code>, so this service is simplified
+ now to automatically configure itself with that argument pair upon first
+ instantiation.
+
+ <p>(For backwards compatibility, the service implementation still supports
+ com::sun::star::lang::XInitialization and can still
+ explicitly be initialized via
+ com::sun::star::lang::XMultiComponentFactory::createInstanceWithArgumentsAndContext()
+ with two arguments of type string. These strings are used as a pair of keys
+ to retrieve a set of content provider descriptions from the configuration
+ management (stored at
+ <code>org.openoffice.ucb.Configuration.ContentProviders.<var>key<sub>1</sub></var>.SecondaryKeys.<var>key<sub>2</sub></var>.ProviderData</code>
+ within the configuration management's hierarchy). The retrieved
+ descriptions are in turn used to register the corresponding content provider
+ services at the broker.)
+*/
+published service UniversalContentBroker : XUniversalContentBroker
+{
+ /** The (default) constructor.
+
+ <p>(This default constructor is only mentioned explicitly for technical
+ reasons, so that its implementation calls the service implementation's
+ com::sun::star::lang::XInitialization::initialize().)
+ */
+ create();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/UnsupportedCommandException.idl b/offapi/com/sun/star/ucb/UnsupportedCommandException.idl
new file mode 100644
index 000000000..4706c19c2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedCommandException.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_ucb_UnsupportedCommandException_idl__
+#define __com_sun_star_ucb_UnsupportedCommandException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** is thrown to indicate that a command is not known by the
+ implementation of an interface.
+
+ @version 1.0
+ @see XCommandProcessor
+*/
+published exception UnsupportedCommandException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl b/offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl
new file mode 100644
index 000000000..57e89a424
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedDataSinkException.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_ucb_UnsupportedDataSinkException_idl__
+#define __com_sun_star_ucb_UnsupportedDataSinkException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is used to indicate that the requested type of data sink
+ is not supported.
+
+ <p>For example, each OpenCommandArgument supplied as argument
+ of the command "open" contains such a data sink.
+
+ @version 1.0
+ @see Content
+*/
+published exception UnsupportedDataSinkException : com::sun::star::uno::Exception
+{
+ /** contains the data sink that is not supported.
+ */
+ com::sun::star::uno::XInterface Sink;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/UnsupportedNameClashException.idl b/offapi/com/sun/star/ucb/UnsupportedNameClashException.idl
new file mode 100644
index 000000000..efa6e201c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedNameClashException.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_ucb_UnsupportedNameClashException_idl__
+#define __com_sun_star_ucb_UnsupportedNameClashException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** <p>This exception must be thrown in case the requested name clash
+ directive is not supported, because it is not possible to implement
+ it or if it is just not (yet) implemented.
+
+ <p>Command "transfer": Used if the name clash directive specified in
+ parameter NameClash of the supplied TransferInfo is not
+ supported. For example, if the NameClash was set to NameClash::ERROR,
+ to NameClash::RENAME or to NameClash::ASK, the implementation must be
+ able determine whether there are existing data. This exception must also
+ be used if NameClash::RENAME was specified and the implementation is
+ unable to create a valid new name after a suitable number of tries.
+
+ <p>Command "insert": Used if the parameter ReplaceExisting of the
+ supplied InsertCommandArgument was set to `FALSE` and the
+ implementation is unable to determine whether there are existing data.
+ The member NameClash of the exception must be set to NameClash::ERROR
+
+ @version 1.0
+ @see Content
+*/
+published exception UnsupportedNameClashException : com::sun::star::uno::Exception
+{
+ /** contains the NameClash that is not supported.
+ */
+ long NameClash;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl b/offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl
new file mode 100644
index 000000000..f74c6d6ad
--- /dev/null
+++ b/offapi/com/sun/star/ucb/UnsupportedOpenModeException.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_ucb_UnsupportedOpenModeException_idl__
+#define __com_sun_star_ucb_UnsupportedOpenModeException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This exception is used to indicate that the requested OpenMode
+ is not supported.
+
+ <p>For example, each OpenCommandArgument supplied as argument
+ of the command "open" contains such an open mode.
+
+ @version 1.0
+ @see Content
+*/
+published exception UnsupportedOpenModeException : com::sun::star::uno::Exception
+{
+ /** contains the OpenMode that is not supported.
+ */
+ short Mode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/VerificationMode.idl b/offapi/com/sun/star/ucb/VerificationMode.idl
new file mode 100644
index 000000000..25073996f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/VerificationMode.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_ucb_VerificationMode_idl__
+#define __com_sun_star_ucb_VerificationMode_idl__
+
+
+
+module com { module sun { module star { module ucb {
+
+/** These are the possible values for the property "VerificationMode".
+
+ @see XCommandProcessor
+ @see Content
+*/
+published enum VerificationMode
+{
+ /** Always.
+ */
+ ALWAYS,
+
+ /** Once.
+ */
+ ONCE,
+
+ /** Never.
+ */
+ NEVER
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/WebDAVContentProvider.idl b/offapi/com/sun/star/ucb/WebDAVContentProvider.idl
new file mode 100644
index 000000000..6a27e7f17
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVContentProvider.idl
@@ -0,0 +1,105 @@
+/* -*- 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_ucb_WebDAVContentProvider_idl__
+#define __com_sun_star_ucb_WebDAVContentProvider_idl__
+
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** The WebDAV Content Provider (DCP) implements a ContentProvider
+ for the UniversalContentBroker (UCB).
+
+ <p>It provides access to WebDAV and standard HTTP servers. The DCP
+ communicates with the server using the WebDAV protocol which is an
+ extension to the HTTP protocol or using the plain HTTP protocol in case
+ the server is not WebDAV enabled.
+
+ @see com::sun::star::ucb::Content
+*/
+published service WebDAVContentProvider
+{
+ /** provides two types of content: a Folder or Document which corresponds
+ to a collection or non-collection (nodes and leafs) in WebDAV
+ respectively.
+
+ <p>
+
+ <b>DCP Contents</b>
+ <ol>
+ <li>
+ A DCP Folder (WebDAVFolderContent) is a container for
+ other DCP Folders or Documents.
+ </li>
+ <li>
+ A DCP Document (WebDAVDocumentContent) is a container for
+ Document data/content. The data/content may be anything, a WebDAV
+ server, like an HTTP server, does not necessarily mandate what type of
+ data/content may be contained within Documents. The type of data/content
+ is defined by the MediaType property which is different from the content
+ type returned from the getContentType method. The MediaType property is
+ mapped to the equivalent WebDAV property and the WebDAV server
+ calculates the value.
+ </li>
+ </ol>
+
+ <p><b>URL Scheme for DCP Contents</b>
+
+ <p>Each DCP content has an identifier corresponding to the following
+ scheme:
+
+ <ul>
+ <li>
+ vnd.sun.star.webdav://host:port/&lt;path&gt; where &lt;path&gt; is
+ a hierarchical path of the form &lt;name&gt;/.../&lt;name&gt; and
+ where &lt;name&gt; is a string encoded according to the URL
+ conventions.
+ </li>
+ </ul>
+
+ <p>It is also possible to use standard HTTP-URLs. In this case the
+ implementation will determine by itself, if the requested resource
+ is DAV enabled.
+
+ <p>Examples:
+
+ <ul>
+ <li>
+ vnd.sun.star.webdav://localhost/davhome/ ( a DAV collection )
+ </li>
+ <li>
+ vnd.sun.star.webdav://dav.foo.com/Documents/report.sdw
+ </li>
+ <li>
+ http://dav.foo.com/Documents/report.sdw
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl b/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl
new file mode 100644
index 000000000..495c47866
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl
@@ -0,0 +1,167 @@
+/* -*- 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_ucb_WebDAVDocumentContent_idl__
+#define __com_sun_star_ucb_WebDAVDocumentContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A DCP Document is a container for Document data/content.
+
+ <p>The data/content may be anything, a WebDAV server, like an HTTP server,
+ does not necessarily mandate what type of data/content may be contained
+ within Documents. The type of data/content is defined by the MediaType
+ property which is different from the content type returned from the
+ XContent::getContentType() method. The MediaType property
+ is mapped to the equivalent WebDAV property and the WebDAV server calculates
+ the value.
+
+ @see com::sun::star::ucb::WebDAVContentProvider
+ @see com::sun::star::ucb::WebDAVFolderContent
+*/
+published service WebDAVDocumentContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created document persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ post ( Argument: PostCommandArgument2 - does a HTTP POST )
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/http-content" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always true )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always false )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateCreated ( read-only )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateModified ( read-only )
+ </li>
+ <li>
+ string MediaType ( read-only, the MIME type - as delivered by the server )
+ </li>
+ <li>
+ string Size ( read-only )
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/WebDAVFolderContent.idl b/offapi/com/sun/star/ucb/WebDAVFolderContent.idl
new file mode 100644
index 000000000..78cd31d48
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVFolderContent.idl
@@ -0,0 +1,195 @@
+/* -*- 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_ucb_WebDAVFolderContent_idl__
+#define __com_sun_star_ucb_WebDAVFolderContent_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/ucb/XContentCreator.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A DCP Folder is a container for other DCP Folders or Documents.
+
+ @see com::sun::star::ucb::WebDAVContentProvider
+ @see com::sun::star::ucb::WebDAVDocumentContent
+*/
+published service WebDAVFolderContent
+{
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XContent;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ <b>Supported Commands</b>
+ <ul>
+ <li>
+ getCommandInfo
+ </li>
+ <li>
+ getPropertySetInfo
+ </li>
+ <li>
+ getPropertyValues
+ </li>
+ <li>
+ setPropertyValues
+ </li>
+ <li>
+ insert ( makes a newly created folder persistent )
+ </li>
+ <li>
+ delete
+ </li>
+ <li>
+ open
+ </li>
+ <li>
+ transfer ( only transfers from DCP Folders/DCP Documents to other
+ DCP folders. Source and target must reside on the same server. )
+ </li>
+ </ul>
+
+ <b>Supported Properties</b>
+ <ul>
+ <li>
+ string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" )
+ </li>
+ <li>
+ boolean IsDocument ( read-only, always false )
+ </li>
+ <li>
+ boolean IsFolder ( read-only, always true )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateCreated ( read-only )
+ </li>
+ <li>
+ com::sun::star::util::DateTime DateModified ( read-only )
+ </li>
+ <li>
+ string MediaType
+ </li>
+ <li>
+ string Size ( read-only, always zero )
+ </li>
+ <li>
+ string Title
+ </li>
+ </ul>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XCommandProcessor;
+
+ /** is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+ <p>Where many existing Content implementations do not
+ (yet), every new implementation should support this interface.
+ */
+ [optional] interface com::sun::star::ucb::XCommandProcessor2;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertiesChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertyContainer;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::ucb::XCommandInfoChangeNotifier;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** This interface is implemented according to the specification of
+ service Content.
+
+ <p>
+
+ A DCP Folder can create other DCP Folders and DCP Documents. To create
+ a new child of a PCP Folder:
+
+ <ol>
+ <li>
+ Let the parent folder create a new content by calling
+ XContentCreator::createNewContent() on it. The content
+ type to use for new folders is
+ "application/vnd.sun.star.webdav-collection". To create a new DCP
+ Document, use the type "application/http-content".
+ </li>
+ <li>
+ Set a title at the new folder / document. ( Let the new child execute
+ the command "setPropertyValues", which sets at least the property
+ "Title" to a non-empty value ).
+ </li>
+ <li>
+ Let the new child ( not the parent! ) execute the command "insert".
+ This will commit the creation process and persist the newly created
+ content on the server. For documents, you need to supply the
+ implementation of a com::sun::star::io::XInputStream
+ with the command's parameters, that provides access to the stream data.
+ </li>
+ </ol>
+
+ </p>
+ */
+ interface com::sun::star::ucb::XContentCreator;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/WebDAVHTTPMethod.idl b/offapi/com/sun/star/ucb/WebDAVHTTPMethod.idl
new file mode 100644
index 000000000..209b4ca4a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WebDAVHTTPMethod.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_ucb_WebDAVHTTPMethod_idl__
+#define __com_sun_star_ucb_WebDAVHTTPMethod_idl__
+
+module com { module sun { module star { module ucb {
+
+
+/** Standard WebDAV/HTTP methods.
+
+ @since Apache OpenOffice 4.0, LibreOffice 4.2
+*/
+enum WebDAVHTTPMethod
+{
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.3">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ GET,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.4">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ HEAD,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.5">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ POST,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.6">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ PUT,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.7">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ DELETE,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.8">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ TRACE,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.2">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ OPTIONS,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.9">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a>
+ */
+ CONNECT,
+
+ /** HTTP request method as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc5789">RFC 5789: PATCH Method for HTTP</a>
+ */
+ PATCH,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.1">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ PROPFIND,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.2">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ PROPPATCH,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.3">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ MKCOL,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.8">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ COPY,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.9">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ MOVE,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.10">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ LOCK,
+
+ /** WebDAV methods as defined in
+ <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.11">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a>
+ */
+ UNLOCK
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl b/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl
new file mode 100644
index 000000000..ce6b78af5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.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_ucb_WelcomeDynamicResultSetStruct_idl__
+#define __com_sun_star_ucb_WelcomeDynamicResultSetStruct_idl__
+
+#include <com/sun/star/sdbc/XResultSet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This struct is to be contained in the first notification of an
+ XDynamicResultSet.
+
+ @see XDynamicResultSet
+ @see ListEvent
+ @see ListAction
+ @see ListActionType
+*/
+
+published struct WelcomeDynamicResultSetStruct
+{
+ /** The static result set containing the previous version of result set data.
+ */
+ com::sun::star::sdbc::XResultSet Old;
+
+ /** The static result set containing the new version of result set data.
+ */
+ com::sun::star::sdbc::XResultSet New;
+};
+
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XAnyCompare.idl b/offapi/com/sun/star/ucb/XAnyCompare.idl
new file mode 100644
index 000000000..cac854fd5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XAnyCompare.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_ucb_XAnyCompare_idl__
+#define __com_sun_star_ucb_XAnyCompare_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** compares two `any`s.
+*/
+
+published interface XAnyCompare: com::sun::star::uno::XInterface
+{
+ /** allows comparison of two `any`s.
+
+ @param Any1
+ is the first compare value
+
+ @param Any2
+ is the second compare value
+
+ @returns
+ <ul>
+ <li>
+ <code>-1</code>, if the first any is less than the second ( Any1 &lt; Any2 )
+ </li>
+ <li>
+ <code>0</code>, if the first any is equal to the second ( Any1 == Any2 )
+ </li>
+ <li>
+ <code>+1</code>, if the first any is greater than the second ( Any1 &gt; Any2 )
+ </li>
+ </ul>
+ */
+
+ short compare( [in] any Any1, [in] any Any2 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XAnyCompareFactory.idl b/offapi/com/sun/star/ucb/XAnyCompareFactory.idl
new file mode 100644
index 000000000..1fb0956b3
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XAnyCompareFactory.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_ucb_XAnyCompareFactory_idl__
+#define __com_sun_star_ucb_XAnyCompareFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XAnyCompare.idl>
+#include <com/sun/star/beans/Property.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates an XAnyCompare instance.
+*/
+
+published interface XAnyCompareFactory: com::sun::star::uno::XInterface
+{
+ /** creates an XAnyCompare instance.
+
+ @param PropertyName
+ is the name of a property
+
+ @returns
+ a compare interface
+ */
+ com::sun::star::ucb::XAnyCompare createAnyCompareByName(
+ [in] string PropertyName );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl b/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl
new file mode 100644
index 000000000..b29629a58
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.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_ucb_XCachedContentResultSetFactory_idl__
+#define __com_sun_star_ucb_XCachedContentResultSetFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sdbc/XResultSet.idl>
+#include <com/sun/star/ucb/XContentIdentifierMapping.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates a CachedContentResultSet.
+*/
+
+published interface XCachedContentResultSetFactory: com::sun::star::uno::XInterface
+{
+ /** creates a remote optimized
+ com::sun::star::sdbc::XResultSet.
+
+ @param xSource
+ must be an instance of service CachedContentResultSetStub.
+
+ @param xMapping
+ can be used for optimization of remote access via the interface
+ XContentAccess of the CachedContentResultSet.
+ This parameter can be `NULL`.
+
+ @returns
+ an instance of service CachedContentResultSet.
+ */
+ com::sun::star::sdbc::XResultSet createCachedContentResultSet(
+ [in] com::sun::star::sdbc::XResultSet xSource,
+ [in] com::sun::star::ucb::XContentIdentifierMapping xMapping );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl b/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl
new file mode 100644
index 000000000..dd9fa74cc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.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_ucb_XCachedContentResultSetStubFactory_idl__
+#define __com_sun_star_ucb_XCachedContentResultSetStubFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sdbc/XResultSet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates a CachedContentResultSetStub.
+*/
+
+published interface XCachedContentResultSetStubFactory: com::sun::star::uno::XInterface
+{
+ /** creates a remote optimized
+ com::sun::star::sdbc::XResultSet.
+
+ @param xSource
+ must be an instance of service ContentResultSet.
+
+ @returns
+ an instance of service CachedContentResultSetStub.
+ */
+ com::sun::star::sdbc::XResultSet createCachedContentResultSetStub(
+ [in] com::sun::star::sdbc::XResultSet xSource );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl
new file mode 100644
index 000000000..23be7fcc8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.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_ucb_XCachedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_XCachedDynamicResultSetFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#include <com/sun/star/ucb/XContentIdentifierMapping.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates a CachedDynamicResultSet.
+
+ <p>Pay attention to instantiate this helper on client side where your want
+ to read the data respectively where you have instantiated the listener to
+ the XDynamicResultSet.
+
+ <p>The needed stub on server side can be created using
+ XCachedDynamicResultSetStubFactory.
+*/
+
+published interface XCachedDynamicResultSetFactory: com::sun::star::uno::XInterface
+{
+ /** creates a remote optimizes XDynamicResultSet.
+
+ @param SourceStub
+ must be an instance of service CachedDynamicResultSetStub.
+ It can be `NULL`. In this case you can use the interface
+ XSourceInitialization of the returned
+ CachedDynamicResultSet to set the stub later.
+
+ @param ContentIdentifierMapping
+ is not required, but can be set if it is necessary to change the
+ identity of the contents accessible via the interface
+ XContentAccess of the ContentResultSet
+ (e.g., if merging two sources of the same type).
+
+ @returns
+ an instance of service CachedDynamicResultSet.
+ */
+ com::sun::star::ucb::XDynamicResultSet createCachedDynamicResultSet(
+ [in] com::sun::star::ucb::XDynamicResultSet SourceStub
+ , [in] com::sun::star::ucb::XContentIdentifierMapping ContentIdentifierMapping );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl b/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl
new file mode 100644
index 000000000..ab31a085a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl
@@ -0,0 +1,105 @@
+/* -*- 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_ucb_XCachedDynamicResultSetStubFactory_idl__
+#define __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#include <com/sun/star/ucb/NumberedSortingInfo.idl>
+#include <com/sun/star/ucb/XAnyCompareFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** creates a CachedDynamicResultSetStub and connects a non-remote
+ optimized DynamicResultSet to a remote optimized
+ CachedDynamicResultSet.
+
+ <p>Pay attention to instantiate this helper on server side where your source
+ DynamicResultSet was instantiated.
+
+ <p>Method
+ XCachedDynamicResultSetStubFactory::createCachedDynamicResultSetStub()
+ can be used to create a stub on server side.
+
+ <p>If you have instantiated a CachedDynamicResultSet on client
+ side already, use method connectToCache() to connect your
+ given DynamicResultSet with this Cache.
+
+ <p>The needed cache on server side you can create using
+ XCachedDynamicResultSetFactory.
+*/
+
+published interface XCachedDynamicResultSetStubFactory: com::sun::star::uno::XInterface
+{
+ /** creates a remote optimizes XDynamicResultSet.
+
+ @param Source
+ must be an instance of service DynamicResultSet.
+
+ @returns
+ an instance of service CachedDynamicResultSetStub.
+ */
+
+ com::sun::star::ucb::XDynamicResultSet createCachedDynamicResultSetStub(
+ [in] com::sun::star::ucb::XDynamicResultSet Source );
+
+ /** If you have instantiated a CachedDynamicResultSet on
+ client side already, use this to connect your given Source on server
+ side to the TargetCache.
+
+ @param Source
+ is an instance of service DynamicResultSet.
+
+ @param TargetCache
+ is an instance of service CachedDynamicResultSet.
+
+ @param SortingInfo
+ can be an empty sequence. Otherwise, Source will be sorted according
+ to the given sorting data.
+
+ @param CompareFactory
+ will be ignored unless SortingInfo is not empty. Then the supplied
+ factory will be used to instantiate objects used to compare the
+ properties that are involved in sorting.
+
+ @throws ListenerAlreadySetException
+ if \p Source is already in use.
+
+ @throws AlreadyInitializedException
+ if \p TargetCache already has been initialized.
+ */
+ void connectToCache(
+ [in] com::sun::star::ucb::XDynamicResultSet Source
+ , [in] com::sun::star::ucb::XDynamicResultSet TargetCache
+ , [in] sequence< com::sun::star::ucb::NumberedSortingInfo > SortingInfo
+ , [in] com::sun::star::ucb::XAnyCompareFactory CompareFactory
+ )
+ raises(
+ com::sun::star::ucb::ListenerAlreadySetException
+ , com::sun::star::ucb::AlreadyInitializedException
+ );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandEnvironment.idl b/offapi/com/sun/star/ucb/XCommandEnvironment.idl
new file mode 100644
index 000000000..eb43af9c7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandEnvironment.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_ucb_XCommandEnvironment_idl__
+#define __com_sun_star_ucb_XCommandEnvironment_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/ucb/XProgressHandler.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** defines the environment for a command.
+
+ @version 1.0
+ @see XCommandProcessor
+*/
+published interface XCommandEnvironment : com::sun::star::uno::XInterface
+{
+ /** returns the command's interaction handler.
+
+ <p>If called multiple times, this method should consistently return the
+ same value (to allow caching).
+
+ @returns
+ an interaction handler
+ */
+ com::sun::star::task::XInteractionHandler getInteractionHandler();
+
+ /** returns the command's progress handler.
+
+ <p>If called multiple times, this method should consistently return the
+ same value (to allow caching).
+
+ @returns
+ a progress handler
+ */
+ com::sun::star::ucb::XProgressHandler getProgressHandler();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandInfo.idl b/offapi/com/sun/star/ucb/XCommandInfo.idl
new file mode 100644
index 000000000..2267157da
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandInfo.idl
@@ -0,0 +1,100 @@
+/* -*- 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_ucb_XCommandInfo_idl__
+#define __com_sun_star_ucb_XCommandInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/CommandInfo.idl>
+#include <com/sun/star/ucb/UnsupportedCommandException.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** provides access to information on a set of commands.
+
+ @version 1.0
+*/
+published interface XCommandInfo: com::sun::star::uno::XInterface
+{
+ /** obtains information for all supported commands.
+
+ @returns
+ a sequence with information for all supported commands.
+ */
+ sequence<com::sun::star::ucb::CommandInfo> getCommands();
+
+ /** returns information for a specific command.
+
+ @returns
+ the information for the requested command.
+
+ @param Name
+ specifies the name of the requested command.
+
+ @throws UnsupportedCommandException
+ if the command is not supported.
+ */
+ com::sun::star::ucb::CommandInfo getCommandInfoByName( [in] string Name )
+ raises( com::sun::star::ucb::UnsupportedCommandException );
+
+ /** returns information for a specific command.
+
+ @returns
+ the information for the requested command.
+
+ @param Handle
+ specifies the handle of the requested command.
+
+ @throws UnsupportedCommandException
+ if the command is not supported.
+ */
+ com::sun::star::ucb::CommandInfo getCommandInfoByHandle( [in] long Handle )
+ raises( com::sun::star::ucb::UnsupportedCommandException );
+
+ /** checks whether a command specific is supported.
+
+ @returns
+ `TRUE` if a command with the specified name is supported;
+ otherwise `FALSE` is returned.
+
+ @param Name
+ specifies the name of the requested command.
+ */
+ boolean hasCommandByName( [in] string Name );
+
+ /** checks whether a specific command is supported.
+
+ @returns
+ `TRUE` if a command with the specified handle is supported;
+ otherwise `FALSE` is returned.
+
+ @param Handle
+ specifies the handle of the requested command.
+ */
+ boolean hasCommandByHandle( [in] long Handle );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl b/offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl
new file mode 100644
index 000000000..6da2de836
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandInfoChangeListener.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_ucb_XCommandInfoChangeListener_idl__
+#define __com_sun_star_ucb_XCommandInfoChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ucb/CommandInfoChangeEvent.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a listener for events related to changing XCommandInfos.
+
+ @version 1.0
+ @see CommandInfoChangeEvent
+ @see XCommandInfoChangeNotifier
+*/
+published interface XCommandInfoChangeListener : com::sun::star::lang::XEventListener
+{
+ /** gets called whenever changes of a XCommandInfo shall
+ be propagated.
+
+ @param evt
+ the event.
+ */
+ void commandInfoChange( [in] CommandInfoChangeEvent evt );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl b/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl
new file mode 100644
index 000000000..c9ca0d1f4
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.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_ucb_XCommandInfoChangeNotifier_idl__
+#define __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XCommandInfoChangeListener.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a notifier for changes of XCommandInfos.
+
+ @version 1.0
+ @see CommandInfoChangeEvent
+ @see XCommandInfoChangeListener
+*/
+published interface XCommandInfoChangeNotifier : com::sun::star::uno::XInterface
+{
+ /** registers a listener for CommandInfoChangeEvents.
+
+ @param Listener
+ the listener to add.
+ */
+ void addCommandInfoChangeListener(
+ [in] XCommandInfoChangeListener Listener );
+
+ /** removes a listener for CommandInfoChangeEvents.
+
+ @param Listener
+ the listener to remove.
+ */
+ void removeCommandInfoChangeListener(
+ [in] XCommandInfoChangeListener Listener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandProcessor.idl b/offapi/com/sun/star/ucb/XCommandProcessor.idl
new file mode 100644
index 000000000..df82f435f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandProcessor.idl
@@ -0,0 +1,129 @@
+/* -*- 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_ucb_XCommandProcessor_idl__
+#define __com_sun_star_ucb_XCommandProcessor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/ucb/Command.idl>
+#include <com/sun/star/ucb/CommandAbortedException.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** defines a processor for synchronous commands, which are executed in a
+ specific execution environment.
+
+ @version 1.0
+
+ @see com::sun::star::ucb::XCommandProcessor2
+ for the improved version of this interface.
+
+ @see Command
+ @see XCommandEnvironment
+ @see XContent
+*/
+published interface XCommandProcessor : com::sun::star::uno::XInterface
+{
+ /** creates a unique identifier for a command.
+
+ <p>This identifier can be used to abort the execution of the command
+ associated with that identifier. Note that it is generally not
+ necessary to obtain a new id for each command, because commands are
+ executed synchronously. So the id for a command is valid again after a
+ command previously associated with this id has finished. In fact you
+ only should get one identifier per thread and assign it to every
+ command executed by that thread.</p>
+
+ <p>Also, after a call to XCommandProcessor::abort(), an
+ identifier should not be used any longer (and instead be released by a
+ call to XCommandProcessor2::releaseCommandIdentifier()),
+ because it may well abort <em>all</em> further calls to
+ XCommandProcessor::execute().</p>
+
+ <p>To avoid ever-increasing resource consumption, the identifier
+ should be released via
+ XCommandProcessor2::releaseCommandIdentifier()
+ when it is no longer used.</p>
+
+ @returns
+ a command identifier.
+ */
+ long createCommandIdentifier();
+
+ /** executes a command.
+
+ <p>Common command definitions can be found in the specification of the
+ service Content.
+
+ @param aCommand
+ is the command to execute.
+
+ @param CommandId
+ is a unique id for the command. This identifier was obtained by calling
+ XCommandProcessor::createCommandIdentifier(). A value of
+ zero can be used, if the command never shall be aborted. Different
+ threads MUST NOT share one command identifier (except <code>0</code>).
+ This can easily achieved, if every thread that wants to use an
+ XCommandProcessor, obtains exactly one identifier
+ using XCommandProcessor::createCommandIdentifier().
+ This identifier can be used for every call to
+ XCommandProcessor::execute() done by that thread.
+
+ @param Environment
+ is the execution environment.
+
+ @returns
+ the result according to the specification of the command.
+
+ @throws CommandAbortedException
+ to indicate that the command was aborted.
+
+ @throws DuplicateCommandIdentifierException
+ to indicate that two threads tried to use the same command identifier
+
+ @throws Exception
+ if an error occurred during the execution of the command.
+ */
+ any execute( [in] Command aCommand,
+ [in] long CommandId,
+ [in] XCommandEnvironment Environment )
+ raises ( com::sun::star::uno::Exception, CommandAbortedException );
+
+ /** ends the command associated with the given id.
+
+ <p>Not every command can be aborted. It's up to the implementation
+ to decide whether this method will actually end the processing of
+ the command or simply do nothing.
+
+ @param CommandId
+ is a unique id for the command to abort. This must be the identifier
+ passed to XCommandProcessor::execute() for the command
+ to abort.
+ */
+ void abort( [in] long CommandId );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XCommandProcessor2.idl b/offapi/com/sun/star/ucb/XCommandProcessor2.idl
new file mode 100644
index 000000000..0ad842e92
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XCommandProcessor2.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_ucb_XCommandProcessor2_idl__
+#define __com_sun_star_ucb_XCommandProcessor2_idl__
+
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+
+module com { module sun { module star { module ucb {
+
+/** An improved version of a
+ com::sun::star::ucb::XCommandProcessor that helps avoid
+ ever-increasing resource consumption.
+ */
+published interface XCommandProcessor2: com::sun::star::ucb::XCommandProcessor
+{
+ /** releases a command identifier obtained through
+ XCommandProcessor::createCommandIdentifier() when it is
+ no longer used.
+
+ <p>After this call the command identifier cannot be used any longer in
+ calls to XCommandProcessor::execute() and
+ XCommandProcessor::abort(). (But it can happen that a
+ call to XCommandProcessor::createCommandIdentifier()
+ reuses this identifier.)</p>
+
+ @param CommandId
+ A command identifier obtained through
+ XCommandProcessor::createCommandIdentifier(). If the
+ identifier is zero, the request is silently ignored; but if the
+ identifier is invalid (not obtained via
+ XCommandProcessor::createCommandIdentifier() or already
+ handed to XCommandProcessor2::releaseCommandIdentifier()
+ before), the behavior is undefined.
+ */
+ void releaseCommandIdentifier([in] long CommandId);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContent.idl b/offapi/com/sun/star/ucb/XContent.idl
new file mode 100644
index 000000000..8b4a86251
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContent.idl
@@ -0,0 +1,81 @@
+/* -*- 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_ucb_XContent_idl__
+#define __com_sun_star_ucb_XContent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#include <com/sun/star/ucb/XContentEventListener.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies a content with a type and an identifier, which is able to manage
+ listeners for events that are related to contents.
+
+ @version 1.0
+ @see XContentIdentifier
+ @see XContentEventListener
+*/
+published interface XContent: com::sun::star::uno::XInterface
+{
+ /** returns the identifier of the content.
+
+ @returns
+ the identifier.
+ */
+ com::sun::star::ucb::XContentIdentifier getIdentifier();
+
+ /** returns a type string, which is unique for that type of content (e.g.
+ "application/vnd.sun.star.hierarchy-folder").
+
+ @returns
+ the content type string.
+ */
+ string getContentType();
+
+ /** adds a listener for content events.
+
+ @param Listener
+ the listener to add.
+
+ @see ContentEvent
+ */
+ void addContentEventListener(
+ [in] com::sun::star::ucb::XContentEventListener Listener );
+
+ /** removes a listener for content events.
+
+ @param Listener
+ the listener to remove.
+
+ @see ContentEvent
+ */
+ void removeContentEventListener(
+ [in] com::sun::star::ucb::XContentEventListener Listener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentAccess.idl b/offapi/com/sun/star/ucb/XContentAccess.idl
new file mode 100644
index 000000000..62a34bf4f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentAccess.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_ucb_XContentAccess_idl__
+#define __com_sun_star_ucb_XContentAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ucb {
+
+ published interface XContent;
+ published interface XContentIdentifier;
+
+/** specifies methods for obtaining information on a content in different
+ levels.
+
+ <p>For example, if there is a cursor which points to XContents,
+ this interface could be used to give the user access to the content under
+ the cursor. If the client only needs the identifier string of the content,
+ there is no need to first create the content object, then to obtain the
+ string from it and after that to release the content.
+
+ @version 1.0
+ @see XContent
+ @see XContentIdentifier
+*/
+
+published interface XContentAccess : com::sun::star::uno::XInterface
+{
+ /** returns the identifier string of the content ( "cheap method" ).
+
+ <p>Note that this string can be used later to recreate the content.
+
+ @returns
+ the identifier string.
+ */
+ string queryContentIdentifierString();
+
+ /** returns the identifier object of the content.
+
+ @returns
+ the identifier object.
+ */
+ XContentIdentifier queryContentIdentifier();
+
+ /** returns the content ( "most expensive method" ).
+
+ @returns
+ the content.
+ */
+ XContent queryContent();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentCreator.idl b/offapi/com/sun/star/ucb/XContentCreator.idl
new file mode 100644
index 000000000..1283ac07a
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentCreator.idl
@@ -0,0 +1,77 @@
+/* -*- 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_ucb_XContentCreator_idl__
+#define __com_sun_star_ucb_XContentCreator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/ContentInfo.idl>
+#include <com/sun/star/ucb/XContent.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A creator for new (persistent) contents, like file system folders.
+
+ <p>Creation of a new (persistent) content:
+ <ol>
+ <li>creatabletypes = creator.queryCreatableContentsInfo()
+ <li>choose a suitable type from creatabletypes
+ <li>newObject = creator.createNewContent( type )
+ <li>initialize the new object (i.e. newObject.Property1 = ...)
+ <li>let the new content execute the command "insert". That command
+ commits the data and makes the new content persistent.
+ </ol>
+
+ @deprecated
+
+ <p>This interface is deprecated. Use Content property
+ "CreatableContentsInfo" and command "createNewContent" instead.
+
+ @version 1.0
+ @see XContent
+ @see XCommandProcessor
+*/
+published interface XContentCreator: com::sun::star::uno::XInterface
+{
+ /** returns a list with information about the creatable contents.
+
+ @returns
+ the list with information about the creatable contents.
+ */
+ sequence<com::sun::star::ucb::ContentInfo> queryCreatableContentsInfo();
+
+ /** creates a new content of given type.
+
+ @param Info
+ the content information.
+
+ @returns
+ the new content, if operation was successful.
+ */
+ com::sun::star::ucb::XContent createNewContent(
+ [in] com::sun::star::ucb::ContentInfo Info );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentEventListener.idl b/offapi/com/sun/star/ucb/XContentEventListener.idl
new file mode 100644
index 000000000..61cd24d77
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentEventListener.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_ucb_XContentEventListener_idl__
+#define __com_sun_star_ucb_XContentEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ucb/ContentEvent.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a listener for events related to XContents.
+
+ @version 1.0
+ @see XContent
+*/
+published interface XContentEventListener: com::sun::star::lang::XEventListener
+{
+ /** gets called whenever a content wishes to notify changes.
+
+ @param evt
+ the event.
+ */
+ void contentEvent( [in] ContentEvent evt );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentIdentifier.idl b/offapi/com/sun/star/ucb/XContentIdentifier.idl
new file mode 100644
index 000000000..e1d6dbe4c
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentIdentifier.idl
@@ -0,0 +1,74 @@
+/* -*- 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_ucb_XContentIdentifier_idl__
+#define __com_sun_star_ucb_XContentIdentifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An identifier for contents.
+
+ @version 1.0
+ @see XContent
+*/
+published interface XContentIdentifier: com::sun::star::uno::XInterface
+{
+ /** returns the content identifier string.
+
+ @returns
+ the content identifier string. This must be a valid URI
+ (Uniform Resource Identifier, see RFC 2396). This string
+ is required. If a content provider "implements" some
+ existent URI scheme (e.g., a content provider offering
+ access to a file system would implement the "file" scheme,
+ and a content provider offering access to IMAP servers
+ would implement the "imap" scheme), the content identifier
+ strings should use that scheme. If on the other hand a
+ content provider offers access to content for which no
+ appropriate URI scheme exists, a vendor-specific URL scheme
+ starting with "vnd." must be created (see the Internet Draft
+ draft-king-vnd-urlscheme-00.txt).
+ */
+ string getContentIdentifier();
+
+ /** returns the content provider scheme string.
+
+ <p>This string will be calculated from the content identifier string
+ and must be lower-cased(!). It is the "scheme" the content provider is
+ registered for. In example, a provider for FTP contents will use
+ ftp-URLs as content identifiers. The content provider scheme for all
+ contents provided by that provider will be "ftp".
+ </p>
+
+ @returns
+ the content provider scheme string.
+ */
+ string getContentProviderScheme();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentIdentifierFactory.idl b/offapi/com/sun/star/ucb/XContentIdentifierFactory.idl
new file mode 100644
index 000000000..570b53f32
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentIdentifierFactory.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_ucb_XContentIdentifierFactory_idl__
+#define __com_sun_star_ucb_XContentIdentifierFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** A factory for content identifiers.
+
+ @version 1.0
+ @see XContentIdentifier
+*/
+published interface XContentIdentifierFactory: com::sun::star::uno::XInterface
+{
+ /** creates an identifier.
+
+ @param ContentId
+ the content identifier string.
+
+ @returns
+ the identifier.
+ */
+ com::sun::star::ucb::XContentIdentifier createContentIdentifier( [in] string ContentId );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl b/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl
new file mode 100644
index 000000000..3bf1dd3df
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl
@@ -0,0 +1,110 @@
+/* -*- 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_ucb_XContentIdentifierMapping_idl__
+#define __com_sun_star_ucb_XContentIdentifierMapping_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ucb {
+
+ published interface XContent;
+ published interface XContentIdentifier;
+
+/** A mapping from a (source) set of XContentIdentifiers to
+ another (target) set of XContentIdentifiers.
+
+ <p>For convenience and performance, mapping between the string
+ representations of source/target XContentIdentifiers, as well as mapping
+ between XContents identified by source/target
+ XContentIdentifiers is also supported.
+
+ <p>This interface can be useful in cases where the identifiers (and
+ associated contents) returned by the various methods of an
+ XContentAccess need to be mapped to some other space of
+ identifiers (and associated contents).
+
+ @see XContent
+ @see XContentAccess
+ @see XContentIdentifier
+*/
+
+published interface XContentIdentifierMapping: com::sun::star::uno::XInterface
+{
+ /** Map the string representation of an XContentIdentifier.
+
+ @param Source The string representation of an XContentIdentifier
+ from the source set.
+
+ @returns The string representation of the target set's
+ XContentIdentifier corresponding to the source identifier. The
+ returned string may be empty if either Source was empty already, or if
+ there's no applicable target to map to.
+ */
+ string mapContentIdentifierString([in] string Source);
+
+ /** Map an XContentIdentifier.
+
+ @param Source An XContentIdentifier from the source set.
+
+ @returns The target set's XContentIdentifier corresponding to the
+ source identifier. The returned XContentIdentifier may be null if
+ either Source was null already, or if there's no applicable target to
+ map to.
+ */
+ XContentIdentifier mapContentIdentifier([in] XContentIdentifier Source);
+
+ /** Map the XContent identified by an
+ XContentIdentifier.
+
+ @param Source The XContent identified by an XContentIdentifier from
+ the source set.
+
+ @returns The XContent identified by the target set's
+ XContentIdentifier corresponding to the source identifier. The
+ returned XContent may be null if either Source was null already, or if
+ there's no applicable target to map to.
+ */
+ XContent mapContent([in] XContent Source);
+
+ /** Map the content identifiers (or related data) contained in the columns
+ of a com::sun::star::sdbc::XRow.
+
+ @param Value On input, a sequence of anys corresponding to the columns
+ of the XRow (the first column goes into the zeroth position of the
+ sequence, and so on). On output, the same sequence, but with the
+ entries mapped as necessary. This is an inout parameter rather than a
+ combination of in parameter and return value for performance reasons
+ (assuming that in most cases most elements in the input sequence will
+ be returned unmodified).
+
+ @returns `TRUE` if any of the columns contain data that (potentially)
+ needs mapping (though maybe no mapping occurred for the concrete input
+ data of this call). This information can be useful to decide whether,
+ for another row, a call to this function is at all necessary.
+ */
+ boolean mapRow([inout] sequence< any > Value);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentProvider.idl b/offapi/com/sun/star/ucb/XContentProvider.idl
new file mode 100644
index 000000000..7a3b11606
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProvider.idl
@@ -0,0 +1,80 @@
+/* -*- 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_ucb_XContentProvider_idl__
+#define __com_sun_star_ucb_XContentProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/ucb/IllegalIdentifierException.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a content provider which creates and manages XContents.
+
+ @version 1.0
+ @see XContent
+ @see XContentIdentifier
+*/
+published interface XContentProvider: com::sun::star::uno::XInterface
+{
+ /** creates a new XContent instance, if the given
+ XContentIdentifier matches a content provided by the
+ implementation of this interface.
+
+ @param Identifier
+ an identifier for the content to query.
+
+ @returns
+ the content.
+
+ @throws IllegalIdentifierException
+ if the given identifier does not match a content provided by the
+ implementation of this interface
+ */
+ com::sun::star::ucb::XContent queryContent(
+ [in] com::sun::star::ucb::XContentIdentifier Identifier )
+ raises ( com::sun::star::ucb::IllegalIdentifierException );
+
+ /** compares two XContentIdentifiers.
+
+ @param Id1
+ first content identifier.
+
+ @param Id2
+ second content identifier.
+
+ @returns
+ <code>0</code> is returned, if the identifiers are equal.
+ A value less than <code>0</code> indicates, that the Id1
+ is less than Id2. A value greater than <code>0</code>
+ is returned, if Id1 is greater than Id2.
+ */
+ long compareContentIds(
+ [in] com::sun::star::ucb::XContentIdentifier Id1,
+ [in] com::sun::star::ucb::XContentIdentifier Id2 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentProviderFactory.idl b/offapi/com/sun/star/ucb/XContentProviderFactory.idl
new file mode 100644
index 000000000..f0ae2d265
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProviderFactory.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_ucb_XContentProviderFactory_idl__
+#define __com_sun_star_ucb_XContentProviderFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a factory for a XContentProvider.
+
+ @version 1.0
+ @see XContentProvider
+*/
+published interface XContentProviderFactory : com::sun::star::uno::XInterface
+{
+ /** creates a XContentProvider implementation object.
+
+ @param Service
+ the name of the UNO service to be used to create the implementation of
+ the content provider.
+
+ @returns
+ a content provider.
+ */
+ XContentProvider createContentProvider( [in] string Service );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentProviderManager.idl b/offapi/com/sun/star/ucb/XContentProviderManager.idl
new file mode 100644
index 000000000..f54e8ab6b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProviderManager.idl
@@ -0,0 +1,159 @@
+/* -*- 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_ucb_XContentProviderManager_idl__
+#define __com_sun_star_ucb_XContentProviderManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/ucb/DuplicateProviderException.idl>
+#include <com/sun/star/ucb/ContentProviderInfo.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** makes it possible to query/register/deregister content providers.
+
+ @version 1.0
+ @see XContentProvider
+*/
+published interface XContentProviderManager: com::sun::star::uno::XInterface
+{
+ /** registers a content provider for a specific URL template.
+
+ @see XContentIdentifier
+
+ @param Provider
+ the content provider to register.
+
+ <p>This may be `NULL`, in which case a later
+ XContentProvider::queryContent() with an
+ XContentIdentifier that matches the <var>Scheme</var>
+ will simply return `NULL`. These "dummy" content providers are useful
+ in combination with other content providers that are registered on a
+ wildcard URL template: For example, imagine that you want to route all
+ http URLs to a HTTP content provider, but want to block all URLs for
+ the server <code>www.dont.go</code>. One solution would be to register
+ the HTTP content provider on the <var>Scheme</var> <code>http</code>,
+ and to register a "dummy" (i.e., `NULL`) content provider on the
+ <var>Scheme</var> <code>"http://www.dont.go"([/?#].*)?</code>.
+
+ @param Scheme
+ the URL scheme for the provided contents. More generally, this may not
+ only be a URL scheme, but a URL template.
+
+ <p>A URL template is a regular expression (represented as a string) that
+ specifies a subset of the set of all possible URLs (this subset
+ consists of exactly those URLs that match the regular expression). The
+ language to denote the regular expressions is initially quite limited,
+ but it may be extended in the future:
+
+ <p><ul>
+ <li><code>regexp = scheme / simple / translation</code></li>
+ <li><code>scheme = ALPHA *(ALPHA / DIGIT / "+" / "-" / ".")</code></li>
+ <li><code>simple = simple-prefix / simple-authority / simple-domain</code></li>
+ <li><code>translation = trans-prefix / trans-authority / trans-domain</code></li>
+ <li><code>simple-prefix = [string] ".*"</code></li>
+ <li><code>trans-prefix = [string] "(.*)->" [string] "\1"</code></li>
+ <li><code>simple-authority = [string] "([/?#].*)?"</code></li>
+ <li><code>trans-authority = [string] "(([/?#].*)?)->" string "\1"</code></li>
+ <li><code>simple-domain = [string] "[^/?#]*" string "([/?#].*)?"</code></li>
+ <li><code>trans-domain = [string] "([^/?#]*" string "([/?#].*)?)->" string "\1"</code></li>
+ <li><code>string = DQUOTE 1*(schar / sescape) DQUOTE ; DQUOTE is "</code></li>
+ <li><code>schar = &lt any UTF-16 character except " or \></code></li>
+ <li><code>sescape = "\" (DQUOTE / "\")</code></li>
+ </ul>
+
+ <p>A <code>&lt;scheme&gt:</code> matches any URL of exactly the given
+ scheme (ignoring case), keeping the extension from URL schemes to URL
+ templates backwards compatible. The <code>&lt;simple&gt:</code>
+ regexps match any URL starting with a given string literal, followed
+ by arbitrary characters (<code>&lt;simple-prefix&gt:</code>), or
+ by arbitrary characters that start with one of '/', '?', or '#', if any
+ (<code>&lt;simple-authority&gt:</code>), or by arbitrary characters not
+ including any of '/', '?', or '#', followed by a given string literal,
+ followed by arbitrary characters that start with one of '/', '?', or
+ '#', if any. The comparison of string literals is done ignoring the
+ case of ASCII letters. The <code>&lt;translation&gt:</code> regexps
+ match the same URLs as their <code>&lt;simple&gt:</code> counterparts,
+ but they also describe how a (local) URL is mapped to another (remote)
+ URL. This mapping is only relevant for methods of the
+ RemoteAccessContentProvider's
+ XParameterizedContentProvider interface; in all other
+ cases, <code>&lt;translation&gt:</code> regexps have the same semantics
+ as their <code>&lt;simple&gt:</code> counterparts.
+
+ @param ReplaceExisting
+ `TRUE`: replace the provider possibly registered for the given URL
+ template. The replaced provider will not be deregistered automatically!
+ If the superseding provider gets deregistered, the superseded one will
+ become active again.
+ <p>`FALSE`: do not register, if another provider is already registered
+ for the given URL template.
+
+ @returns
+ the replaced content provider, if there was one.
+ */
+ com::sun::star::ucb::XContentProvider registerContentProvider(
+ [in] com::sun::star::ucb::XContentProvider Provider,
+ [in] string Scheme,
+ [in] boolean ReplaceExisting )
+ raises( com::sun::star::ucb::DuplicateProviderException );
+
+ /** deregisters a content provider.
+
+ @param Provider
+ a content provider to deregister.
+
+ @param Scheme
+ the URL scheme for the provided contents. More generally, this
+ may not only be a URL scheme, but a URL template (see
+ registerContentProvider() for a discussion of URL
+ templates).
+ */
+ void deregisterContentProvider(
+ [in] com::sun::star::ucb::XContentProvider Provider,
+ [in] string Scheme );
+
+ /** returns a list of information on all registered content providers.
+
+ @returns
+ a list information on content providers.
+ */
+ sequence<com::sun::star::ucb::ContentProviderInfo> queryContentProviders();
+
+ /** returns the currently active content provider for a content
+ identifier.
+
+ @param Identifier
+ a content identifier (i.e., a URL).
+
+ @returns
+ a content provider, or null.
+ */
+ com::sun::star::ucb::XContentProvider queryContentProvider(
+ [in] string Identifier );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentProviderSupplier.idl b/offapi/com/sun/star/ucb/XContentProviderSupplier.idl
new file mode 100644
index 000000000..1c0caf263
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentProviderSupplier.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_ucb_XContentProviderSupplier_idl__
+#define __com_sun_star_ucb_XContentProviderSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** a supplier for a content provider.
+
+ @version 1.0
+ @see XContentProvider
+*/
+published interface XContentProviderSupplier : com::sun::star::uno::XInterface
+{
+ /** returns a content provider.
+
+ @returns
+ a content provider.
+ */
+ com::sun::star::ucb::XContentProvider getContentProvider();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XContentTransmitter.idl b/offapi/com/sun/star/ucb/XContentTransmitter.idl
new file mode 100644
index 000000000..f92516b2d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XContentTransmitter.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_ucb_XContentTransmitter_idl__
+#define __com_sun_star_ucb_XContentTransmitter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/**
+ @deprecated
+
+ @version 1.0
+ @see
+*/
+
+published interface XContentTransmitter: com::sun::star::uno::XInterface
+{
+ void transmit( [in] string Source,
+ [in] string Destination,
+ [in] long Flags );
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XDataContainer.idl b/offapi/com/sun/star/ucb/XDataContainer.idl
new file mode 100644
index 000000000..ca0a30ab5
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XDataContainer.idl
@@ -0,0 +1,86 @@
+/* -*- 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_ucb_XDataContainer_idl__
+#define __com_sun_star_ucb_XDataContainer_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies a container for (binary) data.
+
+ <p>A data container may contain data and/or other data containers.
+ A typical container with children is a MIME message with
+ attachments.
+
+ @version 1.0
+
+ @deprecated
+*/
+published interface XDataContainer: com::sun::star::container::XIndexContainer
+{
+ /** returns the content type (MIME Type) of the data container.
+
+ @returns
+ the content type
+ */
+ string getContentType();
+
+ /** sets the content type (MIME Type) of the data container.
+
+ @param aType
+ the content type
+ */
+ void setContentType( [in] string aType );
+
+ /** returns the data of the data container.
+
+ @returns
+ the data
+ */
+ sequence<byte> getData();
+
+ /** sets the data of the data container.
+
+ @param aData
+ the data
+ */
+ void setData( [in] sequence<byte> aData );
+
+ /** Deprecated. Do not use!
+
+ @deprecated
+ */
+ string getDataURL();
+
+ /** Deprecated. Do not use!
+
+ @deprecated
+ */
+ void setDataURL( [in] string aURL );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XDynamicResultSet.idl b/offapi/com/sun/star/ucb/XDynamicResultSet.idl
new file mode 100644
index 000000000..f84b81235
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XDynamicResultSet.idl
@@ -0,0 +1,177 @@
+/* -*- 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_ucb_XDynamicResultSet_idl__
+#define __com_sun_star_ucb_XDynamicResultSet_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XDynamicResultSetListener.idl>
+#include <com/sun/star/ucb/ListenerAlreadySetException.idl>
+#include <com/sun/star/sdbc/XResultSet.idl>
+#include <com/sun/star/ucb/AlreadyInitializedException.idl>
+#include <com/sun/star/ucb/ServiceNotFoundException.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** Provides read access to a ContentResultSet.
+
+ <p>
+ You can either get a simple static ContentResultSet or you can
+ listen to change-notifications and then swap from the old to a new
+ ContentResultSet.
+ </p>
+
+ <p>The following describes the dynamic use:</p>
+
+ <p>
+ XDynamicResultSet provides the possibility to get notifications
+ about changes on a ContentResultSet and have an
+ listener-controlled update from one version to the next version. Two
+ ContentResultSet implementations were given to the listener in
+ the first notification as interface
+ com::sun::star::sdbc::XResultSet.
+ </p>
+
+ <p>
+ To get notifications the listener has to be of type
+ XDynamicResultSetListener.
+ </p>
+
+ <p>
+ After registration you will get notifications for events of type
+ ListEvent.
+ </p>
+
+ <p>
+ The calling of XDynamicResultSetListener::notify() has
+ to happen in an own thread, because it could take a longer time and any
+ actions ??? until the listener returns the call. So don't block the notify-causing
+ action.
+ </p>
+
+ <p>
+ While one notify-call is going on:
+ </p>
+
+ <ol>
+ <li> The listener is allowed to access both ContentResultSets,
+ they must be both valid.</li>
+ <li> It is not allowed to start a second notify-call.</li>
+ <li> All additional things we want to send as notification are to be
+ queued.</li>
+ <li> Any other calls are to be accepted and treated.</li>
+ </ol>
+
+ <p>
+ After the listener has returned the notify-call:
+ </p>
+
+ <ol>
+ <li> The listener is allowed to access the new
+ ContentResultSet. The new one is first assigned in the
+ WELCOME-event and then the ResultSets are always swapped.</li>
+ <li> The listener is not allowed to access the old
+ ContentResultSet.</li>
+ </ol>
+*/
+
+published interface XDynamicResultSet: com::sun::star::lang::XComponent
+{
+ /** Call this, if you don't care about any changes.
+
+ @returns
+ a com::sun::star::sdbc::XResultSet that is
+ implemented as ContentResultSet. Its content will never
+ change.
+
+ @throws ListenerAlreadySetException
+ if someone already has registered as listener via
+ XDynamicResultSet::setListener() or if someone has
+ established a connection to a CachedDynamicResultSet
+ via XDynamicResultSet::connectToCache().
+ */
+ com::sun::star::sdbc::XResultSet getStaticResultSet()
+ raises( com::sun::star::ucb::ListenerAlreadySetException );
+
+ /** Call this, if you want to get notifications about changes.
+
+ <p>The implementor has to call
+ com::sun::star::lang::XComponent::addEventListener()
+ in this method, so that we can call
+ com::sun::star::lang::XEventListener::disposing()
+ at the listener
+
+ @param Listener
+ a listener for result set notifications
+
+ @throws ListenerAlreadySetException
+ if this method is called more than once during the life of the
+ implementation object or if this method is called if someone already
+ has fetched the ContentResultSet via
+ XDynamicResultSet::getStaticResultSet().
+
+ */
+ void setListener( [in] XDynamicResultSetListener Listener )
+ raises( com::sun::star::ucb::ListenerAlreadySetException );
+
+ /** Connects this to a CachedDynamicResultSet for optimized
+ remote data transport.
+
+ <p>This method creates a CachedDynamicResultSetStub
+ and sets it as Source to the given cache.
+
+ <p>After this method has returned you can and have to use the given
+ result set cache for further access.
+
+ @param Cache
+ has to be an implementation of the service
+ CachedDynamicResultSet. In particular it has to support
+ the interface XSourceInitialization.
+
+ @throws ListenerAlreadySetException
+ if someone already has fetched the ContentResultSet via
+ XDynamicResultSet::getStaticResultSet().
+
+ @throws AlreadyInitializedException
+ if <var>Cache</var> was already initialized with another source.
+
+ @throws ServiceNotFoundException
+ */
+ void connectToCache( [in] XDynamicResultSet Cache )
+ raises( com::sun::star::ucb::ListenerAlreadySetException
+ , com::sun::star::ucb::AlreadyInitializedException
+ , com::sun::star::ucb::ServiceNotFoundException );
+
+ /** Using this method you can get information, whether the offered
+ ContentResultSets are sorted or filtered etc correctly as
+ demanded during the creation of the XDynamicResultSet.
+
+ @returns
+ zero or more constants of the ContentResultSetCapability
+ constants group.
+ */
+ short getCapabilities();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XDynamicResultSetListener.idl b/offapi/com/sun/star/ucb/XDynamicResultSetListener.idl
new file mode 100644
index 000000000..ddf977a97
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XDynamicResultSetListener.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_ucb_XDynamicResultSetListener_idl__
+#define __com_sun_star_ucb_XDynamicResultSetListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ucb/ListEvent.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** used to receive notifications from an XDynamicResultSet.
+*/
+
+published interface XDynamicResultSetListener: com::sun::star::lang::XEventListener
+{
+ /** A method used to propagate changes of a result set.
+
+ <p>In the first notify-call the listener gets two(!)
+ com::sun::star::sdbc::XResultSets and has to hold
+ them. The com::sun::star::sdbc::XResultSets are
+ implementations of the service ContentResultSet.
+
+ <p>The notified new
+ com::sun::star::sdbc::XResultSet will stay valid
+ after returning from this method. The old one will become invalid after
+ returning.
+
+ <p>While in notify-call the listener is allowed to read from old and
+ new result set, except in the first call, where only the new result set
+ is valid.
+
+ <p>The Listener is allowed to stay (block) this call, until he really
+ wants to use the new result set. The only situation, where the listener
+ has to return immediately is while he disposes his broadcaster or while
+ he is removing himself as listener (otherwise you deadlock)!!!
+
+ @param Changes
+ the changes to notify.
+ */
+ void notify( [in] ListEvent Changes );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XFetchProvider.idl b/offapi/com/sun/star/ucb/XFetchProvider.idl
new file mode 100644
index 000000000..2d0a28d99
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XFetchProvider.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_ucb_XFetchProvider_idl__
+#define __com_sun_star_ucb_XFetchProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/FetchResult.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides the possibility to get the contents of the columns of several
+ rows of a ContentResultSet with a single function call.
+*/
+
+published interface XFetchProvider: com::sun::star::uno::XInterface
+{
+ /** returns the contents of the columns of the indicated rows
+
+ @returns
+ FetchResult::Rows contains a sequence of anys. Each
+ of these anys contains a sequence of anys.
+
+ @param nRowStartPosition
+ the starting row of the result set
+
+ @param nRowCount
+ the count of rows
+
+ @param bDirection
+ `TRUE`, if you want the rows to be read in the same order, as they
+ are contained in the result set ( `TRUE` &lt;-&gt; forward step;
+ `FALSE` &lt;-&gt; backward step )
+ */
+ com::sun::star::ucb::FetchResult fetch( [in] long nRowStartPosition
+ , [in] long nRowCount
+ , [in] boolean bDirection );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl b/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl
new file mode 100644
index 000000000..a0690b440
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl
@@ -0,0 +1,108 @@
+/* -*- 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_ucb_XFetchProviderForContentAccess_idl__
+#define __com_sun_star_ucb_XFetchProviderForContentAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/FetchResult.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides the possibility to load information offered by a
+ XContentAccess for several rows of a
+ ContentResultSet with a single function call.
+*/
+published interface XFetchProviderForContentAccess: com::sun::star::uno::XInterface
+{
+ /** returns the content identifier strings of the columns of the indicated
+ rows
+
+ @returns
+ FetchResult::Rows contains a sequence of anys. Each
+ of these anys contains a string.
+
+ @param nRowStartPosition
+ the starting row of the result set
+
+ @param nRowCount
+ the count of rows
+
+ @param bDirection
+ `TRUE`, if you want the rows to be read in the same order, as they
+ are contained in the result set ( `TRUE` &lt;-&gt; forward step;
+ `FALSE` &lt;-&gt; backward step )
+ */
+ com::sun::star::ucb::FetchResult
+ fetchContentIdentifierStrings( [in] long nRowStartPosition
+ , [in] long nRowCount
+ , [in] boolean bDirection );
+
+ /** returns the XContentIdentifiers of the columns of the
+ indicated rows
+
+ @returns
+ FetchResult::Rows contains a sequence of anys. Each
+ of these anys contains an XContentIdentifier.
+
+ @param nRowStartPosition
+ the starting row of the result set
+
+ @param nRowCount
+ the count of rows
+
+ @param bDirection
+ `TRUE`, if you want the rows to be read in the same order, as they
+ are contained in the result set ( `TRUE` &lt;-&gt; forward step;
+ `FALSE` &lt;-&gt; backward step )
+ */
+ com::sun::star::ucb::FetchResult
+ fetchContentIdentifiers( [in] long nRowStartPosition
+ , [in] long nRowCount
+ , [in] boolean bDirection );
+
+ /** returns the XContent s of the columns of the indicated rows
+
+ @returns
+ FetchResult::Rows contains a sequence of anys. Each
+ of these anys contains an XContent.
+
+ @param nRowStartPosition
+ the starting row of the result set
+
+ @param nRowCount
+ the count of rows
+
+ @param bDirection
+ `TRUE`, if you want the rows to be read in the same order, as they
+ are contained in the result set ( `TRUE` &lt;-&gt; forward step;
+ `FALSE` &lt;-&gt; backward step )
+ */
+ com::sun::star::ucb::FetchResult
+ fetchContents( [in] long nRowStartPosition
+ , [in] long nRowCount
+ , [in] boolean bDirection );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl b/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl
new file mode 100644
index 000000000..618cfa33b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl
@@ -0,0 +1,85 @@
+/* -*- 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_ucb_XFileIdentifierConverter_idl__
+#define __com_sun_star_ucb_XFileIdentifierConverter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** specifies methods to convert between (file) URLs and file paths in system
+ dependent notation.
+
+ @version 1.0
+*/
+published interface XFileIdentifierConverter : com::sun::star::uno::XInterface
+{
+ /** Get information about the "locality" of a file content provider.
+
+ <p>The returned information can be used to choose the "best" among a
+ number of file content providers implementing this interface.
+
+ @param BaseURL
+ the base (file) URL used to specify a file content provider.
+
+ @returns
+ an appropriate value representing the "locality" of the specified file
+ content provider. Generally, higher (non-negative) numbers denote
+ file content providers that are more "local", and negative numbers
+ denote content providers that are not file content providers at all.
+ As a convention (and to keep this useful), values should be restricted
+ to the range from -1 to +10, inclusive.
+ */
+ long getFileProviderLocality( [in] string BaseURL );
+
+ /** converts a file path in system dependent notation to a (file) URL.
+
+ @param BaseURL
+ the base (file) URL relative to which the file path shall be
+ interpreted.
+
+ @param SystemPath
+ a file path in system dependent notation.
+
+ @returns
+ the URL corresponding to the file path, or an empty string if the file
+ path cannot be converted into a URL.
+ */
+ string getFileURLFromSystemPath( [in] string BaseURL,
+ [in] string SystemPath );
+
+ /** converts a (file) URL to a file path in system dependent notation.
+
+ @param URL
+ a (file) URL.
+
+ @returns
+ the file path corresponding to the URL, or an empty string if the URL
+ cannot be converted into a file path.
+ */
+ string getSystemPathFromFileURL( [in] string URL );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionAuthFallback.idl b/offapi/com/sun/star/ucb/XInteractionAuthFallback.idl
new file mode 100644
index 000000000..3a70c813b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionAuthFallback.idl
@@ -0,0 +1,33 @@
+/* -*- 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_task_XInteractionApprove_idl__
+#define __com_sun_star_task_XInteractionApprove_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+
+ module com { module sun { module star { module ucb {
+
+/** An interaction continuation specifying authentication success.
+
+ @since LibreOffice 4.4
+ */
+interface XInteractionAuthFallback: com::sun::star::task::XInteractionContinuation
+{
+ /* Authentication code submitted by the user */
+ void setCode( [in] string code );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl b/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl
new file mode 100644
index 000000000..db3386a94
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.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_ucb_XInteractionHandlerSupplier_idl__
+#define __com_sun_star_ucb_XInteractionHandlerSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This interface should be implemented by an internal
+ XCommandEnvironment that can not supply an
+ com::sun::star::task::XInteractionHandler, but instead
+ wants interaction requests to be handled by other internal error handling
+ mechanism.
+*/
+published interface XInteractionHandlerSupplier: com::sun::star::uno::XInterface
+{
+ /** Returns whether an
+ com::sun::star::task::XInteractionHandler can be
+ supplied.
+
+ @returns
+ `TRUE`, if an
+ com::sun::star::task::XInteractionHandler can be
+ supplied, `FALSE` otherwise.
+ */
+ boolean hasInteractionHandler();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl b/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl
new file mode 100644
index 000000000..fe457a74f
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl
@@ -0,0 +1,45 @@
+/* -*- 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_ucb_XInteractionReplaceExistingData_idl__
+#define __com_sun_star_ucb_XInteractionReplaceExistingData_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is an interaction continuation used to instruct the requester to replace
+ existing data.
+
+ <p>For example, this continuation can be selected when handling a
+ NameClashResolveRequest in order to instruct the requester
+ to overwrite the clashing data.
+
+ @version 1.0
+*/
+published interface XInteractionReplaceExistingData : com::sun::star::task::XInteractionContinuation
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl
new file mode 100644
index 000000000..5e0427a9b
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl
@@ -0,0 +1,151 @@
+/* -*- 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_ucb_XInteractionSupplyAuthentication_idl__
+#define __com_sun_star_ucb_XInteractionSupplyAuthentication_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+#include <com/sun/star/ucb/RememberAuthentication.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An interaction continuation handing back some authentication data.
+
+ <p> This continuation is typically used in conjunction with
+ AuthenticationRequest. </p>
+*/
+published interface XInteractionSupplyAuthentication: com::sun::star::task::XInteractionContinuation
+{
+ /** Specifies if a new "realm" value can be handed back.
+ */
+ boolean canSetRealm();
+
+ /** Set a new "realm" value to hand back.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::canSetRealm() returned
+ `TRUE`.</p>
+ */
+ void setRealm( [in] string Realm );
+
+ /** Specifies if a "user name" value can be handed back.
+ */
+ boolean canSetUserName();
+
+ /** Set a new "user name" value to hand back.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::canSetUserName()
+ returned `TRUE`.</p>
+ */
+ void setUserName( [in] string UserName );
+
+ /** Specifies if a "password" value can be handed back.
+ */
+ boolean canSetPassword();
+
+ /** Set a new "password" value to hand back.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::canSetPassword()
+ returned `TRUE`.</p>
+ */
+ void setPassword( [in] string Password );
+
+ /** Specifies the available modes of how long to remember the password.
+
+ @param Default
+ Returns the default mode (to be initially displayed to the user).
+
+ @returns
+ A sequence of available modes to hand back. Each individual mode
+ should appear at most once in the sequence. If the sequence is empty,
+ a new mode cannot be handed back.
+ */
+ sequence<com::sun::star::ucb::RememberAuthentication> getRememberPasswordModes( [out] com::sun::star::ucb::RememberAuthentication Default );
+
+ /** Set a new mode of how long to remember the password.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::setPassword()
+ is also called.</p>
+
+ @param Remember
+ The mode to hand back, should be contained in the sequence returned by
+ XInteractionSupplyAuthentication::getRememberPasswordModes().
+ */
+ void setRememberPassword( [in] com::sun::star::ucb::RememberAuthentication Remember );
+
+ /** Specifies if an "account" value can be handed back.
+ */
+ boolean canSetAccount();
+
+ /** Set a new "account" value to hand back.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::canSetAccount()
+ returned `TRUE`.</p>
+
+ */
+ void setAccount( [in] string Account );
+
+ /** Specifies the available modes of how long to remember the account.
+
+ @param Default Returns the default mode (to be initially displayed to
+ the user).
+
+ @returns A sequence of available modes to hand back. Each individual
+ mode should appear at most once in the sequence. If the sequence is
+ empty, a new mode cannot be handed back.
+ */
+ sequence<com::sun::star::ucb::RememberAuthentication> getRememberAccountModes( [out] com::sun::star::ucb::RememberAuthentication Default );
+
+ /** Set a new mode of how long to remember the account.
+
+ <p>This method should be called before
+ com::sun::star::task::XInteractionContinuation::select(),
+ and should only be called if
+ XInteractionSupplyAuthentication::setAccount()
+ is also called.</p>
+
+ @param Remember The mode to hand back, should be contained in the
+ sequence returned by
+ XInteractionSupplyAuthentication::getRememberAccountModes().
+ */
+ void setRememberAccount( [in] com::sun::star::ucb::RememberAuthentication Remember );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl
new file mode 100644
index 000000000..9b13d1fed
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.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_ucb_XInteractionSupplyAuthentication2_idl__
+#define __com_sun_star_ucb_XInteractionSupplyAuthentication2_idl__
+
+#include <com/sun/star/ucb/XInteractionSupplyAuthentication.idl>
+
+
+
+
+module com { module sun { module star { module ucb {
+
+/** An interaction continuation handing back some authentication data.
+
+ <p> This continuation is typically used in conjunction with
+ AuthenticationRequest. </p>
+
+ @since OOo 3.2
+*/
+interface XInteractionSupplyAuthentication2 : XInteractionSupplyAuthentication
+{
+ /** Specifies if "system credentials" can be obtained and used by the issuer
+ of the authentication request.
+
+ @param Default
+ Returns the default behavior for system credentials handling (to be
+ initially displayed to the user).
+
+ @returns
+ `TRUE` if the issuer is able to obtain and use system credentials.
+ `FALSE` otherwise.
+ */
+ boolean canUseSystemCredentials( [out] boolean Default );
+
+ /** Set a new "use system credentials" value to hand back.
+
+ @param UseSystemCredentials
+ `TRUE` means the request issuer shall obtain and use system credentials.
+ */
+ void setUseSystemCredentials( [in] boolean UseSystemCredentials );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyName.idl b/offapi/com/sun/star/ucb/XInteractionSupplyName.idl
new file mode 100644
index 000000000..aa6df6cda
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XInteractionSupplyName.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_ucb_XInteractionSupplyName_idl__
+#define __com_sun_star_ucb_XInteractionSupplyName_idl__
+
+#include <com/sun/star/task/XInteractionContinuation.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** is an interaction continuation used to hand back a new name for something.
+
+ <p>For example, this continuation can be selected when handling a
+ NameClashResolveRequest in order to supply a new name
+ for a clashing resource.
+
+ @version 1.0
+*/
+published interface XInteractionSupplyName : com::sun::star::task::XInteractionContinuation
+{
+ /** sets the name to supply.
+
+ @param Name
+ contains the name to supply.
+ */
+ void setName( [in] string Name );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XParameterizedContentProvider.idl b/offapi/com/sun/star/ucb/XParameterizedContentProvider.idl
new file mode 100644
index 000000000..f57d98367
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XParameterizedContentProvider.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_ucb_XParameterizedContentProvider_idl__
+#define __com_sun_star_ucb_XParameterizedContentProvider_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Register specially adjusted instances of content providers on URL
+ templates and supplementary arguments.
+
+ @version 1.0
+*/
+published interface XParameterizedContentProvider: com::sun::star::uno::XInterface
+{
+ /** Register a content provider on a URL template and supplementary
+ arguments.
+
+ @param Template A URL template. If the input is malformed or too
+ complex, a com::sun::star::lang::IllegalArgumentException may be raised.
+
+ @param Arguments Any supplementary arguments required by this
+ XContentProvider, represented as a single string. If the
+ input is malformed, an
+ com::sun::star::lang::IllegalArgumentException
+ may be raised.
+
+ @param ReplaceExisting If true, and if the given Template conflicts
+ with an already registered instance, the old registration is replaced
+ by the new one. If false, and if the given Template conflicts with an
+ already registered instance, the new registration is not performed,
+ and null is returned.
+
+ @return Either this XContentProvider, or another,
+ specially adjusted version of this XContentProvider (this
+ flexibility allows for different implementation strategies), or null
+ if the given Template conflicts with an already registered instance
+ and ReplaceExisting is false. Note that the returned
+ XContentProvider must still be registered at the content
+ provider manager!
+ */
+ com::sun::star::ucb::XContentProvider
+ registerInstance([in] string Template,
+ [in] string Arguments,
+ [in] boolean ReplaceExisting)
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Deregisters a content provider.
+
+ @param Template A URL template. If the input is malformed or too
+ complex, an IllegalArgumentException may be raised.
+
+ @param Arguments Any supplementary arguments required by this
+ XContentProvider, represented as a single string. If the
+ input is malformed, an
+ com::sun::star::lang::IllegalArgumentException
+ may be raised.
+
+ @return Either this XContentProvider, or another,
+ specially adjusted version of this XContentProvider (this
+ flexibility allows for different implementation strategies), or null
+ if no instance is registered for the given Template. Note that the
+ returned XContentProvider must still be deregistered at
+ the content provider manager!
+ */
+ com::sun::star::ucb::XContentProvider
+ deregisterInstance([in] string Template,
+ [in] string Arguments)
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XPersistentPropertySet.idl b/offapi/com/sun/star/ucb/XPersistentPropertySet.idl
new file mode 100644
index 000000000..5d64eeec7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPersistentPropertySet.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_ucb_XPersistentPropertySet_idl__
+#define __com_sun_star_ucb_XPersistentPropertySet_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+// forward.
+ published interface XPropertySetRegistry;
+
+/** A persistent property set, which can be saved in and restored from a
+ XPropertySetRegistry.
+
+ @version 1.0
+ */
+published interface XPersistentPropertySet : com::sun::star::beans::XPropertySet
+{
+ /** returns the registry used to store the property set.
+
+ @returns
+ The registry.
+ */
+ com::sun::star::ucb::XPropertySetRegistry getRegistry();
+
+ /** returns the key used to address the set in the property set registry.
+
+ @returns
+ The key.
+ */
+ string getKey();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XProgressHandler.idl b/offapi/com/sun/star/ucb/XProgressHandler.idl
new file mode 100644
index 000000000..bfa4d5644
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XProgressHandler.idl
@@ -0,0 +1,69 @@
+/* -*- 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_ucb_XProgressHandler_idl__
+#define __com_sun_star_ucb_XProgressHandler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Handle a tasks notification that it has made some progress.
+*/
+published interface XProgressHandler: com::sun::star::uno::XInterface
+{
+ /** The task notifies the handler that it has started some new activity
+ (possibly a sub-activity of another activity already making progress;
+ therefore, these notifications behave in a stack-like manner).
+
+ @param Status An object representing the new activity. There has to
+ be an agreement between caller and callee of methods
+ XProgressHandler::push() and
+ XProgressHandler::update() as to which Status
+ arguments are meaningful. For example, a `string` argument
+ to XProgressHandler::push() should be used to transport
+ some status text that describes the progress being made (possibly
+ followed by one or more XProgressHandler::update()s with
+ `string` arguments, if the appropriate status text changes
+ as progress is being made).
+ */
+ void push([in] any Status);
+
+ /** The task notifies the handler that its current activity is making
+ progress.
+
+ @param Status An object representing the progress made. See the
+ documentation of XProgressHandler::push() for more
+ information.
+ */
+ void update([in] any Status);
+
+ /** The task notifies the handler that it has finished its current
+ activity.
+ */
+ void pop();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XPropertyMatcher.idl b/offapi/com/sun/star/ucb/XPropertyMatcher.idl
new file mode 100644
index 000000000..de77c7f74
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertyMatcher.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_ucb_XPropertyMatcher_idl__
+#define __com_sun_star_ucb_XPropertyMatcher_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** Checks whether a set of properties matches a set of search criteria.
+
+ @see XPropertyMatcherFactory.
+*/
+published interface XPropertyMatcher : com::sun::star::uno::XInterface
+{
+ /** Checks whether a set of properties matches the given search criteria.
+
+ @param Properties
+ A Command Processor through which the set of properties is accessible.
+
+ @param Environment
+ The environment to use when accessing the property set via the given
+ Command Processor. It may be null.
+
+ @returns
+ `TRUE` if the properties match, `FALSE` otherwise.
+ */
+ boolean matches([in] com::sun::star::ucb::XCommandProcessor Properties,
+ [in] com::sun::star::ucb::XCommandEnvironment Environment);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl b/offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl
new file mode 100644
index 000000000..4d3d0fce8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertyMatcherFactory.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_ucb_XPropertyMatcherFactory_idl__
+#define __com_sun_star_ucb_XPropertyMatcherFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XPropertyMatcher.idl>
+#include <com/sun/star/ucb/SearchCriterium.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** Creates an XPropertyMatcher, given a set of search criteria.
+*/
+published interface XPropertyMatcherFactory : com::sun::star::uno::XInterface
+{
+ /** Creates an XPropertyMatcher.
+
+ @param Criteria
+ The set of search criteria the returned XPropertyMatcher will use.
+
+ @returns
+ An XPropertyMatcher with the given search criteria.
+ */
+ com::sun::star::ucb::XPropertyMatcher createPropertyMatcher(
+ [in] sequence<com::sun::star::ucb::SearchCriterium> Criteria);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XPropertySetRegistry.idl b/offapi/com/sun/star/ucb/XPropertySetRegistry.idl
new file mode 100644
index 000000000..d812e8abc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertySetRegistry.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_ucb_XPropertySetRegistry_idl__
+#define __com_sun_star_ucb_XPropertySetRegistry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XPersistentPropertySet.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A registry (storage medium) for persistent property sets.
+
+ @version 1.0
+ @see XPersistentPropertySet
+ */
+published interface XPropertySetRegistry : com::sun::star::uno::XInterface
+{
+ /** creates a new or opens an existing property set in the registry.
+
+ @param key
+ The key to use for addressing the property set.
+
+ @param create
+ Indicates whether a new set shall be created in case there
+ does not already exist one for the given key.
+
+ @returns
+ The property set.
+ */
+ com::sun::star::ucb::XPersistentPropertySet
+ openPropertySet( [in] string key, [in] boolean create );
+
+ /** removes a property set from the registry.
+
+ @param key
+ The key to use for addressing the property set.
+ */
+ void removePropertySet( [in] string key );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl b/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl
new file mode 100644
index 000000000..0e9f856b9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.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_ucb_XPropertySetRegistryFactory_idl__
+#define __com_sun_star_ucb_XPropertySetRegistryFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XPropertySetRegistry.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A factory for property set registries.
+
+ @version 1.0
+ */
+published interface XPropertySetRegistryFactory : com::sun::star::uno::XInterface
+{
+ /** creates a property set registry.
+
+ @param URL
+ The identifier of the registry to create ( e.g. file-URL ). The
+ value can be an empty string.
+
+ @returns
+ The registry.
+ */
+ com::sun::star::ucb::XPropertySetRegistry createPropertySetRegistry(
+ [in] string URL );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRecycler.idl b/offapi/com/sun/star/ucb/XRecycler.idl
new file mode 100644
index 000000000..c201153dc
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRecycler.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_ucb_XRecycler_idl__
+#define __com_sun_star_ucb_XRecycler_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** Allows an XContent to delete itself into the trash can.
+
+ <p>This is an additional interface the XContent representing the trash
+ can (URL: "vnd.sun.staroffice.trashcan:///") should support.
+*/
+published interface XRecycler : com::sun::star::uno::XInterface
+{
+ /** Notify the trash can that an XContent is deleting itself
+ into it.
+
+ @param Properties
+ The trash can uses this interface to access the properties of the
+ content being deleted, to copy them for later display etc. The
+ trash can will not use the interface after it has returned from this
+ method.
+
+ @param Identifier
+ When the deleted content is later restored or ultimately deleted, the
+ trash can will use this identifier to query an XContent that it will
+ send the undelete or delete command to.
+ */
+ void trashContent([in] com::sun::star::ucb::XCommandProcessor Properties,
+ [in] com::sun::star::ucb::XContentIdentifier Identifier);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl
new file mode 100644
index 000000000..c26037f86
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl
@@ -0,0 +1,88 @@
+/* -*- 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_ucb_XRemoteContentProviderAcceptor_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderAcceptor_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+ published interface XRemoteContentProviderDoneListener;
+
+/** Accept remote content providers that want to make themselves known to the
+ local process.
+
+ @version 1.0
+*/
+published interface XRemoteContentProviderAcceptor: com::sun::star::uno::XInterface
+{
+ /** Add a remote content provider.
+
+ @param Identifier An arbitrary identifier uniquely identifying the
+ remote content provider.
+
+ @param Factory A factory through which the remote content provider's
+ UniversalContentBroker service can be instantiated.
+
+ @param Templates A sequence of URL templates the remote content
+ provider is willing to handle.
+
+ @param DoneListener If not null, the implementation of this interface
+ can---through this callback---tell the calling side that the
+ implementation no longer needs the remote content provider. (And the
+ calling side should call
+ XRemoteContentProviderAcceptor::removeRemoteContentProvider()
+ then.)
+
+ To enable connection control, it is recommended that this argument
+ also implements the interface
+ XRemoteContentProviderConnectionControl.
+
+ @return true if the remote content provider has successfully been
+ added.
+ */
+ boolean
+ addRemoteContentProvider([in] string Identifier,
+ [in] com::sun::star::lang::XMultiServiceFactory
+ Factory,
+ [in] sequence< string > Templates,
+ [in] XRemoteContentProviderDoneListener
+ DoneListener);
+
+ /** Remove a remote content provider.
+
+ @param Identifier An arbitrary identifier uniquely identifying the
+ remote content provider.
+
+ @return true if the remote content provider has successfully been
+ removed.
+ */
+ boolean
+ removeRemoteContentProvider([in] string Identifier);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl
new file mode 100644
index 000000000..b68c4bfeb
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.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_ucb_XRemoteContentProviderActivator_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderActivator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module ucb {
+
+ published interface XContentProviderManager;
+
+/** This interface should be implemented together with
+ XRemoteContentProviderAcceptor and allows for a lazy
+ implementation of
+ XRemoteContentProviderAcceptor::addRemoteContentProvider().
+
+ The way this works might change, therefore this interface is marked as
+ deprecated.
+
+ @deprecated
+ */
+published interface XRemoteContentProviderActivator: com::sun::star::uno::XInterface
+{
+ /** Activate (i.e., register at the broker) the remote content providers
+ that until now have only been remembered by
+ XRemoteContentProviderAcceptor::addRemoteContentProvider(),
+ but not registered.
+
+ <p>This allows for
+ XRemoteContentProviderAcceptor::addRemoteContentProvider()
+ to be implemented in a lazy fashion (remember the remote content
+ providers, but do not register them right away), which can increase
+ performance in certain situations. But it is not required that an
+ implementation of XRemoteContentProviderAcceptor uses this
+ lazy strategy (and thus also implements this interface).
+
+ @return
+ the broker at which the remote content providers have been registered.
+ */
+ XContentProviderManager activateRemoteContentProviders();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl
new file mode 100644
index 000000000..793940554
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.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_ucb_XRemoteContentProviderChangeListener_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/ucb/RemoteContentProviderChangeEvent.idl>
+
+module com { module sun { module star { module ucb {
+
+/** A listener interested in changes to a
+ com::sun::star::ucb::XRemoteContentProviderSupplier.
+
+ @version 1.0
+ */
+published interface XRemoteContentProviderChangeListener:
+ com::sun::star::lang::XEventListener
+{
+ /** gets called whenever changes to a
+ com::sun::star::ucb::XRemoteContentProviderSupplier
+ occur.
+
+ @param Event
+ describes the change that has occurred.
+ */
+ void
+ remoteContentProviderChange([in] RemoteContentProviderChangeEvent Event);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl
new file mode 100644
index 000000000..ae50ae898
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.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_ucb_XRemoteContentProviderChangeNotifier_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderChangeNotifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module ucb {
+ published interface XRemoteContentProviderChangeListener;
+}; }; }; };
+
+module com { module sun { module star { module ucb {
+
+/** Notify about changes to a XRemoteContentProviderSupplier.
+
+ @version 1.0
+ */
+published interface XRemoteContentProviderChangeNotifier:
+ com::sun::star::uno::XInterface
+{
+ /** Add a listener.
+
+ @param Listener
+ Some listener.
+ */
+ void
+ addRemoteContentProviderChangeListener(
+ [in] XRemoteContentProviderChangeListener Listener);
+
+ /** Remove a listener.
+
+ @param Listener
+ Some listener previously added via
+ XRemoteContentProviderChangeNotifier::addRemoteContentProviderChangeListener().
+ */
+ void
+ removeRemoteContentProviderChangeListener(
+ [in] XRemoteContentProviderChangeListener Listener);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl
new file mode 100644
index 000000000..fb50534d3
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.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_ucb_XRemoteContentProviderConnectionControl_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderConnectionControl_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module ucb {
+ published interface XRemoteContentProviderAcceptor;
+}; }; }; };
+
+module com { module sun { module star { module ucb {
+
+/** A simple mechanism to find out if the connection between a remote content
+ provider distributor and acceptor gets lost.
+
+ <p>This interface should be supported by the <var>DoneListener</var>
+ parameter of
+ XRemoteContentProviderAcceptor::addRemoteContentProvider().
+
+ @version 1.0
+ */
+published interface XRemoteContentProviderConnectionControl:
+ com::sun::star::uno::XInterface
+{
+ /** Enable connection control, using as a token some object implemented on
+ the remote content provider acceptor's side.
+
+ <p>The implementation of this interface must hold a reference to the
+ supplied token. If the connection gets lost, the reference count of
+ the token will drop, which the remote content provider acceptor can
+ observe.
+
+ @param Acceptor
+ The remote content provider acceptor on the other side of the
+ connection.
+
+ @param Token
+ Some object implemented on the remote content provider acceptor's side
+ of the connection.
+ */
+ void
+ enableConnectionControl([in] XRemoteContentProviderAcceptor Acceptor,
+ [in] com::sun::star::uno::XInterface Token);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl
new file mode 100644
index 000000000..922f959d0
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl
@@ -0,0 +1,82 @@
+/* -*- 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_ucb_XRemoteContentProviderDistributor_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderDistributor_idl__
+
+#include <com/sun/star/connection/ConnectionSetupException.idl>
+#include <com/sun/star/connection/NoConnectException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Distribute a content broker to various
+ XRemoteContentProviderAcceptors.
+
+ @version 1.0
+ @see XRemoteContentProviderAcceptor
+*/
+published interface XRemoteContentProviderDistributor: com::sun::star::uno::XInterface
+{
+ /** Offer the local content broker to a remote content provider acceptor.
+
+ <p> The Uno Url is handed to the
+ com::sun::star::bridge::UnoUrlResolver service,
+ which is responsible for raising any of the advertised exceptions. </p>
+
+ @param Url A Uno Url to address the
+ XRemoteContentProviderAcceptor.
+
+ @param Identifier An identifier handed to the
+ XRemoteContentProviderAcceptor.
+
+ @returns success indicator. Especially, if there's already a
+ connection to the given Url, the call will fail, no matter whether
+ that connection uses the same identifier as the given one or not.
+ */
+ boolean connectToRemoteAcceptor([in] string Url,
+ [in] string Identifier)
+ raises (com::sun::star::connection::NoConnectException,
+ com::sun::star::connection::ConnectionSetupException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** Undo the offering of the local content broker to a specific remote
+ content provider acceptor.
+
+ @param Url A Uno Url to address the
+ XRemoteContentProviderAcceptor.
+
+ @returns success indicator.
+ */
+ boolean disconnectFromRemoteAcceptor([in] string Url);
+
+ /** Undo the offering of the local content broker to all remote content
+ provider acceptors.
+ */
+ void disconnectFromAll();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl
new file mode 100644
index 000000000..d52f5a13d
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.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_ucb_XRemoteContentProviderDoneListener_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderDoneListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module ucb {
+
+ published interface XRemoteContentProviderAcceptor;
+
+/** A notification mechanism that a
+ XRemoteContentProviderAcceptor no longer needs a remote
+ content provider.
+
+ @version 1.0
+*/
+published interface XRemoteContentProviderDoneListener: com::sun::star::uno::XInterface
+{
+ /** A notification that all remote content providers added to the given
+ XRemoteContentProviderAcceptor should be removed,
+ because the acceptor no longer needs them.
+
+ @param Acceptor
+ If null, all remote content providers added to any acceptor shall be
+ removed.
+ */
+ void
+ doneWithRemoteContentProviders(
+ [in] XRemoteContentProviderAcceptor Acceptor);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl
new file mode 100644
index 000000000..86d873004
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.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_ucb_XRemoteContentProviderSupplier_idl__
+#define __com_sun_star_ucb_XRemoteContentProviderSupplier_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module ucb {
+
+/** Provide access to a collection of remote content providers.
+
+ @version 1.0
+ @see XRemoteContentProviderAcceptor
+*/
+published interface XRemoteContentProviderSupplier: com::sun::star::uno::XInterface
+{
+ /** Get a factory through which a remote content provider's
+ UniversalContentBroker service can be instantiated.
+
+ @param Identifier An arbitrary identifier uniquely identifying a
+ remote content provider.
+
+ @return the appropriate factory, or null if none is available.
+ */
+ com::sun::star::lang::XMultiServiceFactory
+ queryRemoteContentProvider([in] string Identifier);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess.idl
new file mode 100644
index 000000000..cc30de7e9
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSimpleFileAccess.idl
@@ -0,0 +1,244 @@
+/* -*- 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_ucb_XSimpleFileAccess_idl__
+#define __com_sun_star_ucb_XSimpleFileAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/RuntimeException.idl>
+#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/ucb/CommandAbortedException.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
+#include <com/sun/star/util/DateTime.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XStream.idl>
+
+
+
+
+module com { module sun { module star { module ucb {
+
+/** This is the basic interface to read data from a stream.
+*/
+published interface XSimpleFileAccess: com::sun::star::uno::XInterface
+{
+
+ /** Copies a file
+
+ @param SourceURL
+ URL of the file to be copied
+ @param DestURL
+ URL of the location the file should be copied to
+
+ @see move
+ */
+ void copy( [in] string SourceURL, [in] string DestURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Moves a file
+
+ @param SourceURL
+ URL of the file to be moved
+ @param DestURL
+ URL of the location the file should be moved to
+
+ @see move
+ */
+ void move( [in] string SourceURL, [in] string DestURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Removes a file. If the URL represents a folder, the folder will be
+ removed, even if it's not empty.
+
+ @param FileURL
+ File/folder to be removed
+
+ @see move
+ */
+ void kill( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Checks if a URL represents a folder
+
+ @param FileURL
+ URL to be checked
+
+ @return
+ true, if the given URL represents a folder, otherwise false
+ */
+ boolean isFolder( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Checks if a file is "read only"
+
+ @param FileURL
+ URL to be checked
+
+ @return
+ true, if the given File is "read only", false otherwise
+ */
+ boolean isReadOnly( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Sets the "read only" of a file according to the boolean parameter,
+ if the actual process has the right to do so.
+
+ @param FileURL
+ URL of the file
+
+ @param bReadOnly
+ true; "read only" flag will be set, false; "read only" flag will be reset
+ */
+ void setReadOnly( [in] string FileURL, [in] boolean bReadOnly )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Creates a new Folder
+
+ @param NewFolderURL
+ URL describing the location of the new folder
+ */
+ void createFolder( [in] string NewFolderURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Returns the size of a file.
+
+ @param FileURL
+ URL of the file
+
+ @return Size of the file in bytes
+ */
+ long getSize( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Returns the content type of a file.
+
+ @see XContent::getContentType
+
+ @param FileURL
+ URL of the file
+
+ @return Content type of the file
+ */
+ string getContentType( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Returns the last modified date for the file
+
+ @param FileURL
+ URL of the file
+
+ @return Last modified date for the file
+ */
+ ::com::sun::star::util::DateTime getDateTimeModified( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Returns the contents of a folder
+
+ @param FolderURL
+ URL of the folder
+ @param bIncludeFolders
+ true: Subfolders are included, false: No subfolders
+
+ @return The content of a folder, each file as one string
+ in a string sequence
+ */
+ sequence<string> getFolderContents( [in] string FolderURL, [in] boolean bIncludeFolders )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Checks if a file exists
+
+ @param FileURL
+ URL to be checked
+
+ @return
+ true, if the File exists, false otherwise
+ */
+ boolean exists( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+
+ /** Opens file to read
+
+ @param FileURL
+ File to open
+
+ @return
+ An XInputStream, if the file can be opened for reading
+ */
+ com::sun::star::io::XInputStream openFileRead( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Opens file to write.
+
+ @param FileURL
+ File to open
+
+ @return
+ An XOutputStream, if the file can be opened for writing
+
+ @throws
+ UnsupportedDataSinkException, if the file cannot be
+ opened for random write access. Some resources do not allow random
+ write access. To write data for those resources
+ XSimpleFileAccess2::writeFile() may be used.
+ */
+ com::sun::star::io::XOutputStream openFileWrite( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Opens file to read and write
+
+ @param FileURL
+ File to open
+
+ @return
+ An XStream, if the file can be opened for reading and writing
+
+ @throws
+ UnsupportedDataSinkException, if the file cannot be
+ opened for random write access. Some resources do not allow random
+ write access. To write data for those resources
+ XSimpleFileAccess2::writeFile() may be used.
+ */
+ com::sun::star::io::XStream openFileReadWrite( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Sets an interaction handler to be used for further operations.
+
+ <p>
+ A default interaction handler is available as service
+ com::sun::star::task::InteractionHandler.
+ The documentation of this service also contains further
+ information about the interaction handler concept.
+ </p>
+
+ @see com::sun::star::task::InteractionHandler
+
+ @param Handler
+ The interaction handler to be set
+ */
+ void setInteractionHandler( [in] com::sun::star::task::XInteractionHandler Handler );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess2.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess2.idl
new file mode 100644
index 000000000..71de89dd2
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSimpleFileAccess2.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_ucb_XSimpleFileAccess2_idl__
+#define __com_sun_star_ucb_XSimpleFileAccess2_idl__
+
+#include <com/sun/star/ucb/XSimpleFileAccess.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This is an extension to the interface XSimpleFileAccess.
+*/
+published interface XSimpleFileAccess2 : com::sun::star::ucb::XSimpleFileAccess
+{
+
+ /** Overwrites the file content with the given data.
+
+ <p>If the file does not exist, it will be created.
+
+ @param FileURL
+ File to write
+
+ @param data
+ A stream containing the data for the file to be (over-)written
+ */
+ void writeFile( [in] string FileURL,
+ [in] com::sun::star::io::XInputStream data )
+ raises( com::sun::star::uno::Exception );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl
new file mode 100644
index 000000000..e67c9d7b8
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl
@@ -0,0 +1,67 @@
+/* -*- 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_ucb_XSimpleFileAccess3_idl__
+#define __com_sun_star_ucb_XSimpleFileAccess3_idl__
+
+#include <com/sun/star/ucb/XSimpleFileAccess2.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** This is an extension to the interface XSimpleFileAccess2.
+
+ @since OOo 1.1.2
+*/
+published interface XSimpleFileAccess3 : com::sun::star::ucb::XSimpleFileAccess2
+{
+ /** Checks if a file is "hidden"
+
+ @param FileURL
+ URL to be checked
+
+ @return
+ true, if the given File is "hidden", false otherwise
+ */
+ boolean isHidden( [in] string FileURL )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+ /** Sets the "hidden" of a file according to the boolean parameter,
+ if the actual process has the right to do so and the used
+ operation system supports this operation.
+
+ @param FileURL
+ URL of the file
+
+ @param bHidden
+ true; "hidden" flag will be set, false; "hidden" flag will be reset
+ */
+ void setHidden( [in] string FileURL, [in] boolean bHidden )
+ raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl
new file mode 100644
index 000000000..7ec634e89
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.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_ucb_XSortedDynamicResultSetFactory_idl__
+#define __com_sun_star_ucb_XSortedDynamicResultSetFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XDynamicResultSet.idl>
+#include <com/sun/star/ucb/NumberedSortingInfo.idl>
+#include <com/sun/star/ucb/XAnyCompareFactory.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** Provides a method to create an XDynamicResultSet which
+ will be sorted according to the given sorting options.
+*/
+
+published interface XSortedDynamicResultSetFactory: com::sun::star::uno::XInterface
+{
+ /** creates a sorted XDynamicResultSet depending on internal
+ data, an (unsorted) XDynamicResultSet and the sorting info.
+
+ @returns
+ a sorted result set.
+
+ @param Source
+ the (unsorted) source result set
+
+ @param Info
+ the sort criteria
+
+ @param CompareFactory
+ a factory for compare objects.
+ */
+ com::sun::star::ucb::XDynamicResultSet createSortedDynamicResultSet(
+ [in] com::sun::star::ucb::XDynamicResultSet Source,
+ [in] sequence<com::sun::star::ucb::NumberedSortingInfo> Info,
+ [in] com::sun::star::ucb::XAnyCompareFactory CompareFactory );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XSourceInitialization.idl b/offapi/com/sun/star/ucb/XSourceInitialization.idl
new file mode 100644
index 000000000..c77c98845
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XSourceInitialization.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_ucb_XSourceInitialization_idl__
+#define __com_sun_star_ucb_XSourceInitialization_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/AlreadyInitializedException.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** provides the initialization of a component with any source object.
+*/
+
+published interface XSourceInitialization: com::sun::star::uno::XInterface
+{
+ /** provides the initialization of a component with any source object.
+
+ <p>The service description has to specify which type of interface must
+ be set as parameter.
+
+ <p>Hopefully you will only use this, when <var>Source</var>
+ is a com::sun::star::lang::XComponent and this
+ is a com::sun::star::lang::XEventListener.
+ Then you should call
+ com::sun::star::lang::XComponent::addEventListener()
+ from inside the implementation of this method.
+
+ @param Source
+ the source.
+
+ @throws AlreadyInitializedException
+ if this method is called more than once during the lifetime of the
+ object implementing this interface.
+
+ */
+ void setSource( [in] com::sun::star::uno::XInterface Source )
+ raises (AlreadyInitializedException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XUniversalContentBroker.idl b/offapi/com/sun/star/ucb/XUniversalContentBroker.idl
new file mode 100644
index 000000000..6df4b2f46
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XUniversalContentBroker.idl
@@ -0,0 +1,131 @@
+/* -*- 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_ucb_XUniversalContentBroker_idl__
+#define __com_sun_star_ucb_XUniversalContentBroker_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/ucb/XCommandProcessor.idl>
+#include <com/sun/star/ucb/XCommandProcessor2.idl>
+#include <com/sun/star/ucb/XContentProviderManager.idl>
+#include <com/sun/star/ucb/XContentProvider.idl>
+#include <com/sun/star/ucb/XContentIdentifierFactory.idl>
+
+module com { module sun { module star { module ucb {
+
+/**
+
+ @since LibreOffice 4.0
+*/
+published interface XUniversalContentBroker
+{
+ /** must be implemented to make it possible to resolve cyclic object
+ references.
+
+ <p>Those references i.e. may occur if content provider implementations
+ hold references to the Broker. The Broker itself always holds its
+ providers. If the Broker shall be released,
+ com::sun::star::lang::XComponent::dispose()
+ must be called at the Broker. The implementation of this method must
+ call
+ com::sun::star::lang::XEventListener::disposing()
+ on the registered listeners (the providers holding the Broker must be
+ those listeners) and release the appropriate object references. At
+ the other hand, the implementation of XEventListener::disposing must
+ release its appropriate references.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** provides access to all kind of contents provided by the registered
+ content providers.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XContentProvider;
+
+ /** provides access to a set of content providers registered with the UCB.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XContentProviderManager;
+
+ /** creates XContentIdentifier implementation objects for
+ all kind of contents provided by the UCB.
+
+ <p>This interface is required.
+ */
+ interface com::sun::star::ucb::XContentIdentifierFactory;
+
+ /** Enables the caller to execute commands at the broker.
+
+ Is an enhanced version of XCommandProcessor that has an
+ additional method for releasing command identifiers obtained via
+ XCommandProcessor::createCommandIdentifier() to avoid
+ resource leaks. For a detailed description of the problem refer to
+ XCommandProcessor2::releaseCommandIdentifier().
+
+
+ <p>This interface is required.
+
+ <p><pre>
+ =======================================================================
+ Commands:
+ =======================================================================
+
+ [return type]
+ [command name]
+ [parameter type and name]
+
+ -----------------------------------------------------------------------
+ Required commands:
+ -----------------------------------------------------------------------
+
+ // This command obtains an interface which allows to query
+ // information on commands supported by the Content Broker.
+
+ XCommandInfo
+ getCommandInfo
+ void
+
+ // This command transfers Contents from one location to another.
+ // Additionally, it can be used to create a link to a Content.
+ // The implementation must be able to handle Contents provided
+ // by any Content Provider. This is different from the command
+ // "transfer" that can be supported by a Content. That command
+ // typically can only handle Contents provided by one
+ // ContentProvider.
+
+ void
+ globalTransfer
+ GlobalTransferCommandArgument
+ </pre>
+
+ */
+ interface com::sun::star::ucb::XCommandProcessor2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl b/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl
new file mode 100644
index 000000000..3203cefd7
--- /dev/null
+++ b/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.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_ucb_XWebDAVCommandEnvironment_idl__
+#define __com_sun_star_ucb_XWebDAVCommandEnvironment_idl__
+
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/ucb/WebDAVHTTPMethod.idl>
+#include <com/sun/star/beans/StringPair.idl>
+
+
+module com { module sun { module star { module ucb {
+
+/** A command environment that can be used to deal with WebDAV/HTTP specific
+ commands.
+*/
+interface XWebDAVCommandEnvironment : XCommandEnvironment
+{
+ /** This method gets called while assembling a WebDAV/HTTP request.
+ The returned headername-headervalue pairs will be appended to
+ the list of request headers before the request is dispatched.
+
+ @param aURI
+ The request URI.
+
+ @param eMethod
+ The WebDAV/HTTP method ("GET","PUT","MKCOL",...) as defined in WebDAVHTTPMethod.
+
+ @return
+ A sequence of header name, header value pairs. The header
+ names must be the plain names and contain no trailing ":".
+ */
+ sequence<com::sun::star::beans::StringPair> getUserRequestHeaders(
+ [in] string aURI,
+ [in] WebDAVHTTPMethod eMethod);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */