summaryrefslogtreecommitdiffstats
path: root/udkapi/com/sun/star/io
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /udkapi/com/sun/star/io
parentInitial commit. (diff)
downloadlibreoffice-upstream.tar.xz
libreoffice-upstream.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--udkapi/com/sun/star/io/AlreadyConnectedException.idl40
-rw-r--r--udkapi/com/sun/star/io/BufferSizeExceededException.idl44
-rw-r--r--udkapi/com/sun/star/io/ConnectException.idl41
-rw-r--r--udkapi/com/sun/star/io/DataInputStream.idl61
-rw-r--r--udkapi/com/sun/star/io/DataOutputStream.idl53
-rw-r--r--udkapi/com/sun/star/io/DataTransferEvent.idl44
-rw-r--r--udkapi/com/sun/star/io/FilePermission.idl74
-rw-r--r--udkapi/com/sun/star/io/IOException.idl39
-rw-r--r--udkapi/com/sun/star/io/MarkableInputStream.idl65
-rw-r--r--udkapi/com/sun/star/io/MarkableOutputStream.idl68
-rw-r--r--udkapi/com/sun/star/io/NoRouteToHostException.idl40
-rw-r--r--udkapi/com/sun/star/io/NotConnectedException.idl40
-rw-r--r--udkapi/com/sun/star/io/ObjectInputStream.idl87
-rw-r--r--udkapi/com/sun/star/io/ObjectOutputStream.idl76
-rw-r--r--udkapi/com/sun/star/io/Pipe.idl42
-rw-r--r--udkapi/com/sun/star/io/Pump.idl58
-rw-r--r--udkapi/com/sun/star/io/SequenceInputStream.idl44
-rw-r--r--udkapi/com/sun/star/io/SequenceOutputStream.idl37
-rw-r--r--udkapi/com/sun/star/io/SocketException.idl39
-rw-r--r--udkapi/com/sun/star/io/TempFile.idl36
-rw-r--r--udkapi/com/sun/star/io/TextInputStream.idl44
-rw-r--r--udkapi/com/sun/star/io/TextOutputStream.idl43
-rw-r--r--udkapi/com/sun/star/io/UnexpectedEOFException.idl40
-rw-r--r--udkapi/com/sun/star/io/UnknownHostException.idl38
-rw-r--r--udkapi/com/sun/star/io/WrongFormatException.idl40
-rw-r--r--udkapi/com/sun/star/io/XActiveDataControl.idl77
-rw-r--r--udkapi/com/sun/star/io/XActiveDataSink.idl57
-rw-r--r--udkapi/com/sun/star/io/XActiveDataSource.idl57
-rw-r--r--udkapi/com/sun/star/io/XActiveDataStreamer.idl58
-rw-r--r--udkapi/com/sun/star/io/XAsyncOutputMonitor.idl84
-rw-r--r--udkapi/com/sun/star/io/XConnectable.idl66
-rw-r--r--udkapi/com/sun/star/io/XDataExporter.idl58
-rw-r--r--udkapi/com/sun/star/io/XDataImporter.idl57
-rw-r--r--udkapi/com/sun/star/io/XDataInputStream.idl89
-rw-r--r--udkapi/com/sun/star/io/XDataOutputStream.idl89
-rw-r--r--udkapi/com/sun/star/io/XDataTransferEventListener.idl49
-rw-r--r--udkapi/com/sun/star/io/XInputStream.idl145
-rw-r--r--udkapi/com/sun/star/io/XInputStreamProvider.idl50
-rw-r--r--udkapi/com/sun/star/io/XMarkableStream.idl94
-rw-r--r--udkapi/com/sun/star/io/XObjectInputStream.idl53
-rw-r--r--udkapi/com/sun/star/io/XObjectOutputStream.idl55
-rw-r--r--udkapi/com/sun/star/io/XOutputStream.idl76
-rw-r--r--udkapi/com/sun/star/io/XPersist.idl51
-rw-r--r--udkapi/com/sun/star/io/XPersistObject.idl97
-rw-r--r--udkapi/com/sun/star/io/XPipe.idl55
-rw-r--r--udkapi/com/sun/star/io/XSeekable.idl70
-rw-r--r--udkapi/com/sun/star/io/XSeekableInputStream.idl42
-rw-r--r--udkapi/com/sun/star/io/XSequenceOutputStream.idl48
-rw-r--r--udkapi/com/sun/star/io/XStream.idl53
-rw-r--r--udkapi/com/sun/star/io/XStreamListener.idl62
-rw-r--r--udkapi/com/sun/star/io/XTempFile.idl65
-rw-r--r--udkapi/com/sun/star/io/XTextInputStream.idl104
-rw-r--r--udkapi/com/sun/star/io/XTextInputStream2.idl48
-rw-r--r--udkapi/com/sun/star/io/XTextOutputStream.idl71
-rw-r--r--udkapi/com/sun/star/io/XTextOutputStream2.idl48
-rw-r--r--udkapi/com/sun/star/io/XTruncate.idl49
-rw-r--r--udkapi/com/sun/star/io/XXMLExtractor.idl49
57 files changed, 3359 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/io/AlreadyConnectedException.idl b/udkapi/com/sun/star/io/AlreadyConnectedException.idl
new file mode 100644
index 000000000..a7d70e208
--- /dev/null
+++ b/udkapi/com/sun/star/io/AlreadyConnectedException.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_io_AlreadyConnectedException_idl__
+#define __com_sun_star_io_AlreadyConnectedException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** is thrown when a client tries to connect to a resource to which he is
+ already connected.
+ */
+exception AlreadyConnectedException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/BufferSizeExceededException.idl b/udkapi/com/sun/star/io/BufferSizeExceededException.idl
new file mode 100644
index 000000000..c12c07e8d
--- /dev/null
+++ b/udkapi/com/sun/star/io/BufferSizeExceededException.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_io_BufferSizeExceededException_idl__
+#define __com_sun_star_io_BufferSizeExceededException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** is thrown by instances which need to buffer data.
+ <p>It indicates that not enough system resources are available for
+ extending the buffer. (May also indicate that the internal buffer
+ has grown to a larger size than 2G. Some current implementations do
+ not support larger buffers.)
+ </p>
+ */
+published exception BufferSizeExceededException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/ConnectException.idl b/udkapi/com/sun/star/io/ConnectException.idl
new file mode 100644
index 000000000..aaee88d02
--- /dev/null
+++ b/udkapi/com/sun/star/io/ConnectException.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_io_ConnectException_idl__
+#define __com_sun_star_io_ConnectException_idl__
+
+#include <com/sun/star/io/SocketException.idl>
+
+
+module com { module sun { module star { module io {
+
+/** Signals that an error occurred while attempting to connect a
+ socket to a remote address and port. Typically, the connection
+ was refused remotely (e.g., no process is listening on the remote
+ address/port).
+ */
+exception ConnectException: com::sun::star::io::SocketException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/DataInputStream.idl b/udkapi/com/sun/star/io/DataInputStream.idl
new file mode 100644
index 000000000..923ce61d5
--- /dev/null
+++ b/udkapi/com/sun/star/io/DataInputStream.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_io_DataInputStream_idl__
+#define __com_sun_star_io_DataInputStream_idl__
+
+#include <com/sun/star/io/XDataInputStream.idl>
+
+#include <com/sun/star/io/XActiveDataSink.idl>
+
+#include <com/sun/star/io/XConnectable.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** reads structured data from a chained XInputStream.
+ <p>
+ An implementation of this service in general does not need
+ to buffer data itself.
+
+ @see com::sun::star::io::ObjectInputStream
+ */
+published service DataInputStream
+{
+ /** allows to read structured data.
+ */
+ interface com::sun::star::io::XDataInputStream;
+
+ /** used to plug the inputstream-data-source.
+ A plain input stream is sufficient.
+ */
+ interface com::sun::star::io::XActiveDataSink;
+
+ /** Allows to chain the DataInputStream.
+ */
+ interface com::sun::star::io::XConnectable;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/DataOutputStream.idl b/udkapi/com/sun/star/io/DataOutputStream.idl
new file mode 100644
index 000000000..f217893b5
--- /dev/null
+++ b/udkapi/com/sun/star/io/DataOutputStream.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_io_DataOutputStream_idl__
+#define __com_sun_star_io_DataOutputStream_idl__
+
+#include <com/sun/star/io/XDataOutputStream.idl>
+
+#include <com/sun/star/io/XActiveDataSource.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** writes structured data to a chained XOutputStream.
+
+ <p>
+ An implementation of this service in general does not need
+ to buffer data itself.
+ */
+published service DataOutputStream
+{
+ /** allows to write structured data.
+ */
+ interface com::sun::star::io::XDataOutputStream;
+
+ /** used to plug the outputstream-data-sink.
+ <p>A plain output stream is sufficient.
+ */
+ interface com::sun::star::io::XActiveDataSource;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/DataTransferEvent.idl b/udkapi/com/sun/star/io/DataTransferEvent.idl
new file mode 100644
index 000000000..9f347bb01
--- /dev/null
+++ b/udkapi/com/sun/star/io/DataTransferEvent.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_io_DataTransferEvent_idl__
+#define __com_sun_star_io_DataTransferEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** is broadcast by a filter.
+ @see XDataTransferEventListener
+ */
+published struct DataTransferEvent: com::sun::star::lang::EventObject
+{
+ /** specifies an occurred exception.
+ */
+ any aException;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/FilePermission.idl b/udkapi/com/sun/star/io/FilePermission.idl
new file mode 100644
index 000000000..b3d198170
--- /dev/null
+++ b/udkapi/com/sun/star/io/FilePermission.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_io_FilePermission_idl__
+#define __com_sun_star_io_FilePermission_idl__
+
+module com { module sun { module star { module io {
+
+
+/// This permission represents access to a file or directory.
+/// A FilePermission consists of a file url and a set of actions valid for that url.
+/// <p>
+/// The path of the file url that ends in <code>"/*"</code> indicates all the files and
+/// directories contained in that directory. A path that ends with <code>"/-"</code>
+/// indicates (recursively) all files and subdirectories contained in that
+/// directory. A file url string consisting of the special token
+/// <code>"<<ALL FILES>>"</code> matches any file.
+/// <br>
+/// Note: A file url string consisting of a single <code>"*"</code> indicates all the files
+/// in the current directory, while a string consisting of a single <code>"-"</code> indicates
+/// all the files in the current directory and (recursively) all files and
+/// subdirectories contained in the current directory.
+/// <br>
+/// The actions to be granted is a list of one or more comma-separated keywords.
+/// The possible keywords are <code>"read"</code>, <code>"write"</code>,
+/// <code>"execute"</code>, and <code>"delete"</code>.
+/// Their meaning is defined as follows:
+/// <ul>
+/// <li><code>read</code> -- read permission</li>
+/// <li><code>write</code> -- write permission</li>
+/// <li><code>execute</code> -- execute permission</li>
+/// <li><code>delete</code> -- delete permission</li>
+/// </ul><br>
+/// The actions string is processed case-insensitive.
+/// </p>
+///
+/// @attention
+/// Be careful when granting FilePermissions. Think about the implications of
+/// granting read and especially write access to various files and directories.
+/// The <code>"<<ALL FILES>>"</code> permission with write action is
+/// especially dangerous. This grants permission to write to the entire file system.
+///
+/// @since OOo 1.1.2
+published struct FilePermission
+{
+ /** target file url
+ */
+ string URL;
+ /** comma separated actions list
+ */
+ string Actions;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/IOException.idl b/udkapi/com/sun/star/io/IOException.idl
new file mode 100644
index 000000000..cdc25e547
--- /dev/null
+++ b/udkapi/com/sun/star/io/IOException.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_io_IOException_idl__
+#define __com_sun_star_io_IOException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** is thrown when an input or output error has occurred.
+ */
+published exception IOException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/MarkableInputStream.idl b/udkapi/com/sun/star/io/MarkableInputStream.idl
new file mode 100644
index 000000000..c54d29254
--- /dev/null
+++ b/udkapi/com/sun/star/io/MarkableInputStream.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_io_MarkableInputStream_idl__
+#define __com_sun_star_io_MarkableInputStream_idl__
+
+#include <com/sun/star/io/XMarkableStream.idl>
+
+#include <com/sun/star/io/XActiveDataSink.idl>
+
+#include <com/sun/star/io/XConnectable.idl>
+
+
+module com { module sun { module star { module io {
+
+/** allows to set marks in an inputstream and to later jump back to these
+ marks.
+ <p>The implementation reads the original data from the input stream,
+ that has been set previously at the XActiveDataSink
+ interface. In general the implementation must buffer the data. </p>
+ */
+published service MarkableInputStream
+{
+ /** allows to access the data of this stream
+ */
+ interface com::sun::star::io::XInputStream;
+
+ /** allows to create marks at the current position
+ and to set the current position.
+ */
+ interface com::sun::star::io::XMarkableStream;
+
+ /** allows to access to the underlying source
+ of this stream.
+ */
+ interface com::sun::star::io::XActiveDataSink;
+
+ /** allows to navigate via a chain of streams */
+ interface com::sun::star::io::XConnectable;
+
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/MarkableOutputStream.idl b/udkapi/com/sun/star/io/MarkableOutputStream.idl
new file mode 100644
index 000000000..7ba2fe3d5
--- /dev/null
+++ b/udkapi/com/sun/star/io/MarkableOutputStream.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_io_MarkableOutputStream_idl__
+#define __com_sun_star_io_MarkableOutputStream_idl__
+
+#include <com/sun/star/io/XMarkableStream.idl>
+#include <com/sun/star/io/XActiveDataSource.idl>
+#include <com/sun/star/io/XConnectable.idl>
+
+
+module com { module sun { module star { module io {
+
+/** allows to set marks in an outputstream and to later jump back to these
+ marks.
+ <p>The implementation stores the data as long as marks exists
+ and later writes these data into the output stream,
+ that has been set previously at the XActiveDataSource
+ interface. </p>
+ */
+published service MarkableOutputStream
+{
+ /** allows to write data at the current position.
+ <p> Flushing the outputstream will only flush data,
+ which was written before the first non-deleted mark,
+ because data after the first non-deleted mark
+ may be modified by later jumpToMark()/writeBytes() calls.
+ */
+ interface com::sun::star::io::XOutputStream;
+
+ /** allows to create marks at the current position
+ and to set the current position.
+ */
+ interface com::sun::star::io::XMarkableStream;
+
+ /** allows to access to the underlying sink
+ of this stream.
+ */
+ interface com::sun::star::io::XActiveDataSource;
+
+ /** allows to navigate via a chain of streams */
+ interface com::sun::star::io::XConnectable;
+
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/NoRouteToHostException.idl b/udkapi/com/sun/star/io/NoRouteToHostException.idl
new file mode 100644
index 000000000..46f201457
--- /dev/null
+++ b/udkapi/com/sun/star/io/NoRouteToHostException.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_io_NoRouteToHostException_idl__
+#define __com_sun_star_io_NoRouteToHostException_idl__
+
+#include <com/sun/star/io/SocketException.idl>
+
+
+module com { module sun { module star { module io {
+
+/** Signals that an error occurred while attempting to connect a socket to
+ a remote address and port. Typically, the remote host cannot be reached
+ because of an intervening firewall, or if an intermediate router is down.
+ */
+exception NoRouteToHostException: com::sun::star::io::SocketException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/NotConnectedException.idl b/udkapi/com/sun/star/io/NotConnectedException.idl
new file mode 100644
index 000000000..ca36c5620
--- /dev/null
+++ b/udkapi/com/sun/star/io/NotConnectedException.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_io_NotConnectedException_idl__
+#define __com_sun_star_io_NotConnectedException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** is thrown when a read/write operation is tried on an instance that has
+ not been chained properly.
+ */
+published exception NotConnectedException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/ObjectInputStream.idl b/udkapi/com/sun/star/io/ObjectInputStream.idl
new file mode 100644
index 000000000..02f9faac4
--- /dev/null
+++ b/udkapi/com/sun/star/io/ObjectInputStream.idl
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_io_ObjectInputStream_idl__
+#define __com_sun_star_io_ObjectInputStream_idl__
+
+#include <com/sun/star/io/XObjectInputStream.idl>
+
+#include <com/sun/star/io/XActiveDataSink.idl>
+
+#include <com/sun/star/io/XConnectable.idl>
+
+#include <com/sun/star/io/XMarkableStream.idl>
+
+
+
+ module com { module sun { module star { module io {
+
+/** is a stream which allows reading the data of persistent objects.
+
+ <p>Implementations of this service must fulfill the specifications of the
+ DataInputStream service. It must be chained to an
+ XMarkableStream. Therefore, it provides the
+ XMarkableStream interface, and delegates the calls to the
+ chained object. </p>
+ <p>The written objects are held until this instance is destroyed.
+ The references to the objects are read as four-byte integers.
+ Data format reads:</p>
+
+ <pre>
+ short InfoLength
+ long ObjectReference // 0 indicates no object
+ UTF ServiceName // length of 0 indicates this is only a reference
+ long ObjectLength // 0 if it is a reference or no object, otherwise the len of the object data
+ Object ObjectData // the data of the object
+ ... // skipping additional data
+ </pre>
+
+ @note
+ <ul>
+ <li>-thread safe</li>
+ <li>-allow buffer size is 2 ^ 31 -1</li>
+ <li>-maximum object reference identifier must be the number of objects. </li>
+ <li>-object reference identifier 0 indicates no object</li>
+ <li>-skip addition data</li>
+ <li>-set the stream position behind the object data</li>
+ </ul>
+ */
+published service ObjectInputStream
+{
+ /** allows to read the data from the stream.
+ */
+ interface com::sun::star::io::XObjectInputStream;
+
+ /** allows to set the underlying inputstream */
+ interface com::sun::star::io::XActiveDataSink;
+
+ /** allows to navigate via a chain of streams */
+ interface com::sun::star::io::XConnectable;
+
+ /** allows to set marks within the stream. The implementation
+ may forward calls to this interface to a chained markablestream. */
+ interface com::sun::star::io::XMarkableStream;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/ObjectOutputStream.idl b/udkapi/com/sun/star/io/ObjectOutputStream.idl
new file mode 100644
index 000000000..2a31b67e2
--- /dev/null
+++ b/udkapi/com/sun/star/io/ObjectOutputStream.idl
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_io_ObjectOutputStream_idl__
+#define __com_sun_star_io_ObjectOutputStream_idl__
+
+#include <com/sun/star/io/XObjectOutputStream.idl>
+
+#include <com/sun/star/io/XActiveDataSource.idl>
+
+#include <com/sun/star/io/XConnectable.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** is a stream which allows writing the data of persistent objects.
+
+ <p>Implementations of this service must fulfill the specifications of the
+ DataOutputStream service; furthermore, the stream needs to be chained to a
+ XMarkableStream. Therefore, it also provides the XMarkableStream
+ interface, but it delegates the calls to the chained object.
+ The written objects are held until this instance is destroyed.
+ The references to the objects are written as four-byte integers
+ and begin at 1. Data format is written: </p>
+ <pre>
+ short InfoLength
+ long ObjectReference // 0 indicates no object
+ UTF ServiceName // length of 0 indicates this is only a reference
+ long ObjectLength // 0 if it is a reference or no object, otherwise the len of the object data
+ Object ObjectData // the data of the object
+ </pre>
+
+ @note
+ <ul>
+ <li>-thread safe </li>
+ <li>-allow buffer size is 2 ^ 31 -1 </li>
+ <li>-maximum object reference identifier is the number of objects. </li>
+ <li>-object reference identifier 0 indicates no object </li>
+ </ul>
+ */
+published service ObjectOutputStream
+{
+ /** allows to write the data to the stream.
+ */
+ interface com::sun::star::io::XObjectOutputStream;
+
+ /** allows to set the underlying outputstream */
+ interface com::sun::star::io::XActiveDataSource;
+
+ /** allows to navigate via a chain of streams */
+ interface com::sun::star::io::XConnectable;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/Pipe.idl b/udkapi/com/sun/star/io/Pipe.idl
new file mode 100644
index 000000000..51e716b67
--- /dev/null
+++ b/udkapi/com/sun/star/io/Pipe.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_io_Pipe_idl__
+#define __com_sun_star_io_Pipe_idl__
+
+#include <com/sun/star/io/XPipe.idl>
+
+module com { module sun { module star { module io {
+
+/** the implementation of an output stream and an input stream.
+ <p>
+ All data written through the outputstream is buffered until it is
+ read again from the input stream. Often two different threads access
+ input and outputstream.
+
+ <p> With the pipe-service, an outputstream can be converted into an
+ input stream at the cost of an additional buffer.
+ */
+published service Pipe : XPipe;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/Pump.idl b/udkapi/com/sun/star/io/Pump.idl
new file mode 100644
index 000000000..ab3ecd545
--- /dev/null
+++ b/udkapi/com/sun/star/io/Pump.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_io_Pump_idl__
+#define __com_sun_star_io_Pump_idl__
+
+#include <com/sun/star/io/XActiveDataSource.idl>
+
+#include <com/sun/star/io/XActiveDataSink.idl>
+
+#include <com/sun/star/io/XActiveDataControl.idl>
+
+
+
+ module com { module sun { module star { module io {
+
+/** the implementation of a data source and a data sink.
+ <p>A thread will be created that reads from the input stream and writes
+ the data to the connected output stream. Data will not be buffered by
+ this service. </p>
+
+ */
+published service Pump
+{
+ /** allows to set the outputstream
+ */
+ interface com::sun::star::io::XActiveDataSource;
+
+ /** allows to set the inputstream
+ */
+ interface com::sun::star::io::XActiveDataSink;
+
+ /** allows listener administration and starting/stopping the pump */
+ interface com::sun::star::io::XActiveDataControl;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/SequenceInputStream.idl b/udkapi/com/sun/star/io/SequenceInputStream.idl
new file mode 100644
index 000000000..4a86f7df6
--- /dev/null
+++ b/udkapi/com/sun/star/io/SequenceInputStream.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_io_SequenceInputStream_idl__
+#define __com_sun_star_io_SequenceInputStream_idl__
+
+#include <com/sun/star/io/XSeekableInputStream.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+ module com { module sun { module star { module io {
+
+/** This service allows to wrap a sequence of bytes with a stream object.
+ */
+published service SequenceInputStream : XSeekableInputStream
+{
+ /** allows to create a stream based on the sequence.
+ */
+ createStreamFromSequence( [in] sequence<byte> aData );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/SequenceOutputStream.idl b/udkapi/com/sun/star/io/SequenceOutputStream.idl
new file mode 100644
index 000000000..64ac49a15
--- /dev/null
+++ b/udkapi/com/sun/star/io/SequenceOutputStream.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_io_SequenceOutputStream_idl__
+#define __com_sun_star_io_SequenceOutputStream_idl__
+
+#include <com/sun/star/io/XSequenceOutputStream.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** This service allows to wrap a sequence of bytes with an output stream object.
+ */
+service SequenceOutputStream : XSequenceOutputStream;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/SocketException.idl b/udkapi/com/sun/star/io/SocketException.idl
new file mode 100644
index 000000000..1ff4f1b58
--- /dev/null
+++ b/udkapi/com/sun/star/io/SocketException.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_io_SocketException_idl__
+#define __com_sun_star_io_SocketException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+module com { module sun { module star { module io {
+
+/** Thrown to indicate that there is an error in the underlying
+ protocol, such as a TCP error.
+ */
+exception SocketException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/TempFile.idl b/udkapi/com/sun/star/io/TempFile.idl
new file mode 100644
index 000000000..766e33821
--- /dev/null
+++ b/udkapi/com/sun/star/io/TempFile.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_io_TempFile_idl__
+#define __com_sun_star_io_TempFile_idl__
+
+#include <com/sun/star/io/XTempFile.idl>
+
+
+module com { module sun { module star { module io {
+
+/** This service allows to get access to temp files.
+ */
+service TempFile : XTempFile;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/TextInputStream.idl b/udkapi/com/sun/star/io/TextInputStream.idl
new file mode 100644
index 000000000..603053e65
--- /dev/null
+++ b/udkapi/com/sun/star/io/TextInputStream.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_io_TextInputStream_idl__
+#define __com_sun_star_io_TextInputStream_idl__
+
+#include <com/sun/star/io/XTextInputStream2.idl>
+#include <com/sun/star/io/XActiveDataSink.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** provides functionality to read text data from a
+ com::sun::star::io::XInputStream
+ that initially has to be passed to the method
+ XActiveDataSink::setInputStream().
+
+ <p>For details about the text functionality see
+ com::sun::star::io::XTextInputStream.
+ */
+published service TextInputStream : XTextInputStream2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/TextOutputStream.idl b/udkapi/com/sun/star/io/TextOutputStream.idl
new file mode 100644
index 000000000..055335912
--- /dev/null
+++ b/udkapi/com/sun/star/io/TextOutputStream.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_io_TextOutputStream_idl__
+#define __com_sun_star_io_TextOutputStream_idl__
+
+#include <com/sun/star/io/XTextOutputStream2.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** provides functionality to write text data to a
+ com::sun::star::io::XOutputStream
+ that initially has to be passed to the method
+ XActiveDataSource::setOutputStream().
+
+ <p>For details about the text functionality see
+ com::sun::star::io::XTextOutputStream.
+ */
+published service TextOutputStream : XTextOutputStream2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/UnexpectedEOFException.idl b/udkapi/com/sun/star/io/UnexpectedEOFException.idl
new file mode 100644
index 000000000..30b6d5dbc
--- /dev/null
+++ b/udkapi/com/sun/star/io/UnexpectedEOFException.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_io_UnexpectedEOFException_idl__
+#define __com_sun_star_io_UnexpectedEOFException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** is thrown when the <code>EOF</code> is reached during reading a datatype
+ (<code>long</code>, <code>string</code>, etc.).
+ */
+published exception UnexpectedEOFException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/UnknownHostException.idl b/udkapi/com/sun/star/io/UnknownHostException.idl
new file mode 100644
index 000000000..2f5339214
--- /dev/null
+++ b/udkapi/com/sun/star/io/UnknownHostException.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_io_UnknownHostException_idl__
+#define __com_sun_star_io_UnknownHostException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+module com { module sun { module star { module io {
+
+/** is thrown when the IP address of a host could not be determined.
+ */
+exception UnknownHostException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/WrongFormatException.idl b/udkapi/com/sun/star/io/WrongFormatException.idl
new file mode 100644
index 000000000..77ecd470f
--- /dev/null
+++ b/udkapi/com/sun/star/io/WrongFormatException.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_io_WrongFormatException_idl__
+#define __com_sun_star_io_WrongFormatException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** is thrown when inconsistent data comes up while reading a complex
+ data type (<code>string</code> or object).
+ */
+published exception WrongFormatException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XActiveDataControl.idl b/udkapi/com/sun/star/io/XActiveDataControl.idl
new file mode 100644
index 000000000..57af66322
--- /dev/null
+++ b/udkapi/com/sun/star/io/XActiveDataControl.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_io_XActiveDataControl_idl__
+#define __com_sun_star_io_XActiveDataControl_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/XStreamListener.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to control an active data source.
+
+ <p>This interface should be supported by objects which implement
+ XActiveDataSource or XActiveDataSink.</p>
+ */
+published interface XActiveDataControl: com::sun::star::uno::XInterface
+{
+ /** registers an object to receive events from this data source.
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void addListener( [in] com::sun::star::io::XStreamListener aListener );
+
+ /** unregisters an object to receive events from this data source.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void removeListener( [in] com::sun::star::io::XStreamListener aListener );
+
+ /** starts I/O.
+
+ <p>Either XActiveDataControl::setInputStream() or
+ XActiveDataControl::setOutputStream() must be called beforehand.
+ </p>
+
+ <p>This method does not block the thread, so reading is
+ generally not finished when the method returns. </p>
+ */
+ void start();
+
+ /** does a weak abort.
+
+ <p>It closes all connected resources and calls
+ XInputStream::close() or
+ XOutputStream::close() and fires the
+ XStreamListener::terminated()-event.</p>
+ */
+ void terminate();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XActiveDataSink.idl b/udkapi/com/sun/star/io/XActiveDataSink.idl
new file mode 100644
index 000000000..ab0366c31
--- /dev/null
+++ b/udkapi/com/sun/star/io/XActiveDataSink.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_io_XActiveDataSink_idl__
+#define __com_sun_star_io_XActiveDataSink_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/XInputStream.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to read the corresponding object from an input stream.
+
+ <p>If you want to allow control from outside, also implement the
+ XActiveDataControl interface. </p>
+ */
+published interface XActiveDataSink: com::sun::star::uno::XInterface
+{
+ /** plugs the input stream.
+
+ <p>If XConnectable is also implemented, this
+ method should query <var>aStream</var> for an
+ XConnectable and connect both.</p>
+ */
+ void setInputStream( [in] com::sun::star::io::XInputStream aStream );
+
+ /** @returns
+ the plugged stream.
+ */
+ com::sun::star::io::XInputStream getInputStream();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XActiveDataSource.idl b/udkapi/com/sun/star/io/XActiveDataSource.idl
new file mode 100644
index 000000000..f0ad70f8d
--- /dev/null
+++ b/udkapi/com/sun/star/io/XActiveDataSource.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_io_XActiveDataSource_idl__
+#define __com_sun_star_io_XActiveDataSource_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/XOutputStream.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** has to be implemented if the class should be able to write into an output
+ stream.
+ @see XActiveDataControl.
+ */
+published interface XActiveDataSource: com::sun::star::uno::XInterface
+{
+ /** plugs the output stream.
+
+ <p>If XConnectable is also implemented, this
+ method should query <var>aStream</var> for a
+ XConnectable and connect both.
+ </p>
+ */
+ void setOutputStream( [in] com::sun::star::io::XOutputStream aStream );
+
+ /** @returns
+ the plugged stream.
+ */
+ com::sun::star::io::XOutputStream getOutputStream();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XActiveDataStreamer.idl b/udkapi/com/sun/star/io/XActiveDataStreamer.idl
new file mode 100644
index 000000000..f79d0a2ca
--- /dev/null
+++ b/udkapi/com/sun/star/io/XActiveDataStreamer.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_io_XActiveDataStreamer_idl__
+#define __com_sun_star_io_XActiveDataStreamer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/XStream.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to read and write the corresponding stream.
+
+
+ <p>If you want to allow control from outside, also implement the
+ XActiveDataControl interface. </p>
+ */
+published interface XActiveDataStreamer: com::sun::star::uno::XInterface
+{
+ /** plugs the input/output stream.
+
+ <p>If XConnectable is also implemented, this
+ method should query <var>aStream</var> for a
+ XConnectable and connect both.</p>
+ */
+ void setStream( [in] com::sun::star::io::XStream aStream );
+
+ /** @returns
+ the plugged stream.
+ */
+ com::sun::star::io::XStream getStream();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl b/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl
new file mode 100644
index 000000000..2373a5503
--- /dev/null
+++ b/udkapi/com/sun/star/io/XAsyncOutputMonitor.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_io_XAsyncOutputMonitor_idl__
+#define __com_sun_star_io_XAsyncOutputMonitor_idl__
+
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module io {
+
+/**
+ An optional companion interface to
+ com::sun::star::io::XOutputStream that supports scenarios
+ where com::sun::star::io::XOutputStream::writeBytes()
+ operates asynchronously and does not necessarily report any errors.
+
+ <p>A typical scenario where this interface is useful is when an
+ com::sun::star::io::XOutputStream is used to write to a
+ file via NFS. Normally, any calls to
+ com::sun::star::io::XOutputStream::writeBytes() will
+ execute asynchronously then, in that any potential errors might only be
+ reported by later calls to
+ com::sun::star::io::XOutputStream::writeBytes() or
+ com::sun::star::io::XOutputStream::closeOutput(). If
+ such an output stream shall not be closed immediately after one or more calls
+ to com::sun::star::io::XOutputStream::writeBytes(), but
+ the client wants to know as soon as possible whether writing was successful,
+ then
+ com::sun::star::io::XAsyncOutputMonitor::waitForCompletion()
+ should be called after the series of calls to
+ com::sun::star::io::XOutputStream::writeBytes().</p>
+
+ @since OOo 2.0
+*/
+interface XAsyncOutputMonitor {
+ /**
+ waits for the completion of any previous calls to
+ com::sun::star::io::XOutputStream::writeBytes(),
+ and reports potentially pending errors.
+
+ <p>Calling this method is potentially expensive (even if the associated
+ com::sun::star::io::XOutputStream represents a local
+ file not accessed via NFS, for example). This method has a similar
+ description to
+ com::sun::star::io::XOutputStream::flush().
+ However, where the semantics of <code>flush</code> are rather vague,
+ <code>waitForCompletion</code> has very specific semantics&mdash;it just
+ blocks long enough so that any errors encountered during previous calls
+ to com::sun::star::io::XOutputStream::writeBytes()
+ can reliably be reported. It specifically does not guarantee that any
+ data have safely been stored on a stable physical medium, like a hard
+ disk (and it is completely unspecified whether <code>flush</code> should
+ give this guarantee).</p>
+
+ @throws com::sun::star::io::IOException
+ if any previous call to com::sun::star::io::XOutputStream::writeBytes()
+ encountered such an error, but has not yet reported it (in cases where
+ <code>writeBytes</code> operates asynchronously).
+ */
+ void waitForCompletion() raises (IOException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XConnectable.idl b/udkapi/com/sun/star/io/XConnectable.idl
new file mode 100644
index 000000000..ae9baa3b7
--- /dev/null
+++ b/udkapi/com/sun/star/io/XConnectable.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_io_XConnectable_idl__
+#define __com_sun_star_io_XConnectable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module io {
+
+/** makes it possible to connect data sinks and sources.
+
+ <p>The predecessor-member is the element in the connection that is
+ nearer to the source of the data. The successor-member is the element
+ that is further away from the source of the data. (Note that this
+ classification does not depend on whether the class implements
+ XInputStream or XOutputStream; it only
+ depends on the direction of data flow.) </p>
+ <p>This interface allows generic services to navigate between
+ arbitrary elements of a connection.</p>
+ */
+published interface XConnectable: com::sun::star::uno::XInterface
+{
+ /** sets the source of the data flow for this object.
+ */
+ void setPredecessor( [in] com::sun::star::io::XConnectable aPredecessor );
+
+ /** @returns
+ the predecessor of this object.
+ */
+ com::sun::star::io::XConnectable getPredecessor();
+
+ /** sets the sink of the data flow for this object.
+ */
+ void setSuccessor( [in] com::sun::star::io::XConnectable aSuccessor );
+
+ /** @returns
+ the successor of this object.
+ */
+ com::sun::star::io::XConnectable getSuccessor();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XDataExporter.idl b/udkapi/com/sun/star/io/XDataExporter.idl
new file mode 100644
index 000000000..a51d54a8a
--- /dev/null
+++ b/udkapi/com/sun/star/io/XDataExporter.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_io_XDataExporter_idl__
+#define __com_sun_star_io_XDataExporter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/XOutputStream.idl>
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/io/XDataTransferEventListener.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to export data from a component into a data sink.
+
+ <p>Exporter objects are registered for specific components and data types.
+ </p>
+ */
+published interface XDataExporter: com::sun::star::uno::XInterface
+{
+ /** exports data for a component into an output stream.
+ */
+ void exportData( [in] com::sun::star::io::XOutputStream aOutputStream,
+ [in] com::sun::star::lang::XComponent Component,
+ [in] com::sun::star::io::XDataTransferEventListener aListener );
+
+ /** cancels the export process.
+ */
+ void cancel();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XDataImporter.idl b/udkapi/com/sun/star/io/XDataImporter.idl
new file mode 100644
index 000000000..af4073997
--- /dev/null
+++ b/udkapi/com/sun/star/io/XDataImporter.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_io_XDataImporter_idl__
+#define __com_sun_star_io_XDataImporter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/XActiveDataSource.idl>
+
+#include <com/sun/star/lang/XComponent.idl>
+
+#include <com/sun/star/io/XDataTransferEventListener.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to import data from a data source into a component.
+
+ <p>Importer objects are registered for specific components and data types.</p>
+ */
+published interface XDataImporter: com::sun::star::uno::XInterface
+{
+ /** imports data for a component from an active data source.
+ */
+ void importData( [in] com::sun::star::io::XActiveDataSource aActiveSource,
+ [in] com::sun::star::lang::XComponent Component,
+ [in] com::sun::star::io::XDataTransferEventListener aListener );
+
+ /** cancels the import process.
+ */
+ void cancel();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XDataInputStream.idl b/udkapi/com/sun/star/io/XDataInputStream.idl
new file mode 100644
index 000000000..ea22ae5ea
--- /dev/null
+++ b/udkapi/com/sun/star/io/XDataInputStream.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_io_XDataInputStream_idl__
+#define __com_sun_star_io_XDataInputStream_idl__
+
+#include <com/sun/star/io/XInputStream.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to read machine-independent simple data types from a
+ stream.
+ @see com::sun::star::io::XDataOutputStream
+ */
+published interface XDataInputStream: com::sun::star::io::XInputStream
+{
+ /** reads in a boolean. It is an 8-bit value. 0 means FALSE; all
+ other values mean TRUE.
+ */
+ byte readBoolean()
+ raises( com::sun::star::io::IOException );
+
+ /** reads an 8-bit byte.
+ */
+ byte readByte()
+ raises( com::sun::star::io::IOException );
+
+ /** reads a 16-bit unicode character.
+ */
+ char readChar()
+ raises( com::sun::star::io::IOException );
+
+ /** reads a 16-bit big endian integer.
+ */
+ short readShort()
+ raises( com::sun::star::io::IOException );
+
+ /** reads a 32-bit big endian integer.
+ */
+ long readLong()
+ raises( com::sun::star::io::IOException );
+
+ /** reads a 64-bit big endian integer.
+ */
+ hyper readHyper()
+ raises( com::sun::star::io::IOException );
+
+ /** reads a 32-bit IEEE float.
+ */
+ float readFloat()
+ raises( com::sun::star::io::IOException );
+
+ /** reads a 64-bit IEEE double.
+ */
+ double readDouble()
+ raises( com::sun::star::io::IOException );
+
+ /** reads a string of UTF encoded characters.
+ */
+ string readUTF()
+ raises( com::sun::star::io::IOException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XDataOutputStream.idl b/udkapi/com/sun/star/io/XDataOutputStream.idl
new file mode 100644
index 000000000..5a0e7b2f0
--- /dev/null
+++ b/udkapi/com/sun/star/io/XDataOutputStream.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_io_XDataOutputStream_idl__
+#define __com_sun_star_io_XDataOutputStream_idl__
+
+#include <com/sun/star/io/XOutputStream.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to write machine-independent simple data types to a
+ stream.
+ @see com::sun::star::io::XDataInputStream
+ */
+published interface XDataOutputStream: com::sun::star::io::XOutputStream
+{
+ /** writes a boolean. It is an 8-bit value. 0 means FALSE; all other
+ values mean TRUE.
+ */
+ void writeBoolean( [in] boolean Value )
+ raises( com::sun::star::io::IOException );
+
+ /** writes an 8-bit byte.
+ */
+ void writeByte( [in] byte Value )
+ raises( com::sun::star::io::IOException );
+
+ /** writes a 16-bit character.
+ */
+ void writeChar( [in] char Value )
+ raises( com::sun::star::io::IOException );
+
+ /** writes a 16-bit big endian integer.
+ */
+ void writeShort( [in] short Value )
+ raises( com::sun::star::io::IOException );
+
+ /** writes a 32-bit big endian integer.
+ */
+ void writeLong( [in] long Value )
+ raises( com::sun::star::io::IOException );
+
+ /** writes a 64-bit big endian integer.
+ */
+ void writeHyper( [in] hyper Value )
+ raises( com::sun::star::io::IOException );
+
+ /** writes a 32-bit IEEE float.
+ */
+ void writeFloat( [in] float Value )
+ raises( com::sun::star::io::IOException );
+
+ /** writes a 64-bit IEEE double.
+ */
+ void writeDouble( [in] double Value )
+ raises( com::sun::star::io::IOException );
+
+ /** writes a string in UTF format.
+ */
+ void writeUTF( [in] string Value )
+ raises( com::sun::star::io::IOException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XDataTransferEventListener.idl b/udkapi/com/sun/star/io/XDataTransferEventListener.idl
new file mode 100644
index 000000000..ffde32b66
--- /dev/null
+++ b/udkapi/com/sun/star/io/XDataTransferEventListener.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_io_XDataTransferEventListener_idl__
+#define __com_sun_star_io_XDataTransferEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/io/DataTransferEvent.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** is used to receive callbacks from an importer or exporter.
+ */
+published interface XDataTransferEventListener: com::sun::star::lang::XEventListener
+{
+ /** is called when an import or export process has finished.
+ */
+ void finished( [in] com::sun::star::io::DataTransferEvent aEvent );
+
+ /** is called when an import or export process has been cancelled.
+ */
+ void cancelled( [in] com::sun::star::io::DataTransferEvent aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XInputStream.idl b/udkapi/com/sun/star/io/XInputStream.idl
new file mode 100644
index 000000000..c4fa25eb8
--- /dev/null
+++ b/udkapi/com/sun/star/io/XInputStream.idl
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_io_XInputStream_idl__
+#define __com_sun_star_io_XInputStream_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/NotConnectedException.idl>
+
+#include <com/sun/star/io/BufferSizeExceededException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** This is the basic interface to read data from a stream.
+ <p>
+ See the <a href="http://udk.openoffice.org/common/man/concept/streams.html">
+ streaming document</a> for further information on chaining and piping streams.
+ */
+published interface XInputStream: com::sun::star::uno::XInterface
+{
+ /** reads the specified number of bytes in the given sequence.
+
+ <p>The return value specifies the number of bytes which have been
+ put into the sequence. A difference between <var>nBytesToRead</var>
+ and the return value indicates that EOF has been reached. This means
+ that the method blocks until the specified number of bytes are
+ available or the EOF is reached. </p>
+
+ @param aData
+ after the call, the byte sequence contains the requested number
+ of bytes (or less as a sign of EOF).
+ <br>
+ C++ only : Note that for unbridged (e.g., in-process)
+ calls, using the same sequence for repetitive readBytes()-calls
+ can bear a performance advantage. The callee can put the data
+ directly into the sequence so that no buffer reallocation is
+ necessary.
+ But this holds only when
+ <ol>
+ <li> neither caller nor callee keep a second reference to the same
+ sequence.
+ <li> the sequence is pre-allocated with the requested number of bytes.
+ <li> the same sequence is reused (simply preallocating a new
+ sequence for every call bears no advantage).
+ <li> the call is not bridged (e.g., between different compilers
+ or different processes).
+ </ol>
+ <br>
+ If the same 'optimized' code runs against an interface in a different process,
+ there is an unnecessary memory allocation/deallocation (the out parameter
+ is of course NOT transported over the connection), but this should
+ be negligible compared to a synchron call.
+
+ @param nBytesToRead
+ the total number of bytes to read
+ */
+ long readBytes( [out] sequence<byte> aData,
+ [in] long nBytesToRead )
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException);
+
+ /** reads the available number of bytes, at maximum
+ <var>nMaxBytesToRead</var>.
+
+ <p>This method is very similar to the readBytes method, except that
+ it has different blocking behaviour.
+ The method blocks as long as at least 1 byte is available or
+ EOF has been reached. EOF has only been reached, when the method
+ returns 0 and the corresponding byte sequence is empty.
+ Otherwise, after the call, aData contains the available,
+ but no more than nMaxBytesToRead, bytes.
+
+ @param aData contains the data read from the stream.
+ @param nMaxBytesToRead The maximum number of bytes to be read from this
+ stream during the call.
+ @see com::sun::star::io::XInputStream::readBytes
+ */
+ long readSomeBytes( [out] sequence<byte> aData,
+ [in] long nMaxBytesToRead )
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException );
+
+ /** skips the next <var>nBytesToSkip</var> bytes (must be positive).
+
+ <p>It is up to the implementation whether this method is
+ blocking the thread or not. </p>
+
+ @param nBytesToSkip
+ number of bytes to skip
+ */
+ void skipBytes( [in] long nBytesToSkip )
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException );
+
+ /** states how many bytes can be read or skipped without blocking.
+
+ <p>Note: This method offers no information on whether the EOF
+ has been reached. </p>
+ */
+ long available()
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::IOException
+ );
+
+ /** closes the stream.
+
+ <p>Users must close the stream explicitly when no further
+ reading should be done. (There may exist ring references to
+ chained objects that can only be released during this call.
+ Thus not calling this method would result in a leak of memory or
+ external resources.) </p>
+ */
+ void closeInput()
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::IOException);
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XInputStreamProvider.idl b/udkapi/com/sun/star/io/XInputStreamProvider.idl
new file mode 100644
index 000000000..902157d64
--- /dev/null
+++ b/udkapi/com/sun/star/io/XInputStreamProvider.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_io_XInputStreamProvider_idl__
+#define __com_sun_star_io_XInputStreamProvider_idl__
+
+#include <com/sun/star/io/XInputStream.idl>
+
+
+module com { module sun { module star { module io {
+
+
+/** Interface for providing an input stream.
+
+ <p>Every time createInputStream() is called a new input stream
+ is returned, always pointing to the begin of the same data. All
+ input streams returned by createInputStream()
+ are completely independent from each other.</p>
+*/
+published interface XInputStreamProvider : com::sun::star::uno::XInterface
+{
+ /** Creates a new input stream, every time providing
+ the same data.
+
+ @return
+ a new input stream
+ */
+ com::sun::star::io::XInputStream createInputStream();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XMarkableStream.idl b/udkapi/com/sun/star/io/XMarkableStream.idl
new file mode 100644
index 000000000..f8733b1de
--- /dev/null
+++ b/udkapi/com/sun/star/io/XMarkableStream.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_io_XMarkableStream_idl__
+#define __com_sun_star_io_XMarkableStream_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to set and remove seekable marks to a stream.
+ */
+published interface XMarkableStream: com::sun::star::uno::XInterface
+{
+ /** creates a mark of the current position and returns an identifier to it.
+ */
+ long createMark()
+ raises( com::sun::star::io::IOException );
+
+ /** deletes the mark that you previously created with
+ XMarkableStream::createMark().
+
+ <p>It is an error to delete a mark if other marks after this
+ exist. In this case, for reasons of robustness, the
+ implementation must delete this mark and all others after
+ this mark. </p>
+ */
+ void deleteMark( [in] long Mark )
+ raises( com::sun::star::io::IOException,
+ com::sun::star::lang::IllegalArgumentException );
+
+ /** jumps to a previously created mark.
+ */
+ void jumpToMark( [in] long nMark )
+ raises( com::sun::star::io::IOException,
+ com::sun::star::lang::IllegalArgumentException );
+
+
+ /** jumps to the furthest position of the stream.
+ <p> In the inputstream case, a subsequent read call returns
+ data, that was never read or skipped over before. In the
+ outputstream case, a subsequent write call will add
+ new data at the end of the stream without overwriting existing data.
+ */
+ void jumpToFurthest()
+ raises( com::sun::star::io::IOException );
+
+ /** @returns
+ the offset from the current stream position to the
+ mark ("current position" - "mark position").
+
+ @param nMark
+ identifies the mark which is used as a base
+ to calculate the offset of the current position.
+
+ @throws IllegalArgumentException
+ if the mark does not exist or is deleted.
+
+ @throws IOException
+ if an I/O error has occurred.
+ */
+ long offsetToMark( [in] long nMark )
+ raises( com::sun::star::io::IOException,
+ com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XObjectInputStream.idl b/udkapi/com/sun/star/io/XObjectInputStream.idl
new file mode 100644
index 000000000..c3f871874
--- /dev/null
+++ b/udkapi/com/sun/star/io/XObjectInputStream.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_io_XObjectInputStream_idl__
+#define __com_sun_star_io_XObjectInputStream_idl__
+
+#include <com/sun/star/io/XDataInputStream.idl>
+
+#include <com/sun/star/io/XPersistObject.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+
+/** reads XPersistObject implementations from a stream
+ */
+published interface XObjectInputStream: com::sun::star::io::XDataInputStream
+{
+
+ /** reads an object from the stream. In general, it
+ reads the service name, instantiates the object and
+ calls read on the XPersistObject interface with itself
+ as argument.
+ */
+ com::sun::star::io::XPersistObject readObject()
+ raises( com::sun::star::io::IOException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XObjectOutputStream.idl b/udkapi/com/sun/star/io/XObjectOutputStream.idl
new file mode 100644
index 000000000..6529f7d39
--- /dev/null
+++ b/udkapi/com/sun/star/io/XObjectOutputStream.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_io_XObjectOutputStream_idl__
+#define __com_sun_star_io_XObjectOutputStream_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+#include <com/sun/star/io/XDataOutputStream.idl>
+
+
+module com { module sun { module star { module io {
+
+ published interface XPersistObject;
+
+
+/** stores XPersistObject implementations into the stream
+
+ <p>An implementation of the type XPersistObject
+ uses this interface to write its internal state into a stream.
+ Have a look there for the explanation of the concept.
+
+ @see com::sun::star::io::XPersistObject
+ */
+published interface XObjectOutputStream: XDataOutputStream
+{
+ /** writes an object to the stream.
+ @param Object the object, which shall serialize itself into the stream.
+ */
+ void writeObject( [in] XPersistObject Object )
+ raises( IOException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XOutputStream.idl b/udkapi/com/sun/star/io/XOutputStream.idl
new file mode 100644
index 000000000..a8b9defc4
--- /dev/null
+++ b/udkapi/com/sun/star/io/XOutputStream.idl
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_io_XOutputStream_idl__
+#define __com_sun_star_io_XOutputStream_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/NotConnectedException.idl>
+
+#include <com/sun/star/io/BufferSizeExceededException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** This is the basic interface to write data to a stream.
+ <p>
+ See the <a href="http://udk.openoffice.org/common/man/concept/streams.html">
+ streaming document</a> for further information on chaining and piping streams.
+ */
+published interface XOutputStream: com::sun::star::uno::XInterface
+{
+ /** writes the whole sequence to the stream. (blocking call)
+ */
+ void writeBytes( [in] sequence<byte> aData )
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException);
+
+ /** flushes out of the stream any data that may exist in buffers.
+
+ <p>The semantics of this method are rather vague. See
+ com::sun::star::io::XAsyncOutputMonitor::waitForCompletion()
+ for a similar method
+ with very specific semantics, that is useful in certain scenarios.</p>
+ */
+ void flush()
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException);
+
+ /** gets called to indicate that all data has been written.
+
+ <p>If this method has not yet been called, no attached
+ XInputStream receives an EOF signal. No further
+ bytes may be written after this method has been called.</p>
+ */
+ void closeOutput()
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::BufferSizeExceededException,
+ com::sun::star::io::IOException);
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XPersist.idl b/udkapi/com/sun/star/io/XPersist.idl
new file mode 100644
index 000000000..ec0b467f2
--- /dev/null
+++ b/udkapi/com/sun/star/io/XPersist.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_io_XPersist_idl__
+#define __com_sun_star_io_XPersist_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to write this object to a URL or read it from a URL.
+ */
+published interface XPersist: com::sun::star::uno::XInterface
+{
+ /** writes all the persistent data of the object to the URL.
+ */
+ void write ( [in] string URL ) raises ( com::sun::star::io::IOException ) ;
+
+ /** reads all the persistent data of the object from the URL.
+ */
+ void read ( [in] string URL ) raises ( com::sun::star::io::IOException ) ;
+
+};
+
+
+}; }; }; };
+
+/*=============================================================================
+=============================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XPersistObject.idl b/udkapi/com/sun/star/io/XPersistObject.idl
new file mode 100644
index 000000000..fbfa1da88
--- /dev/null
+++ b/udkapi/com/sun/star/io/XPersistObject.idl
@@ -0,0 +1,97 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_io_XPersistObject_idl__
+#define __com_sun_star_io_XPersistObject_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+ published interface XObjectInputStream;
+ published interface XObjectOutputStream;
+
+
+/** allows to make UNO objects persistent
+
+ <p>Every UNO object, that wants to be serializable, should implement
+ this interface. The object stores stores itself, when the
+ write method is called.
+ <p>
+ The object needs to be created before it deserializes
+ itself again (by using the read method). Therefore it must be
+ creatable by name via a factory, which is in general
+ the global service manager. The create and read mechanism
+ is implemented by the com::sun::star::io::ObjectInputStream.
+
+ <p>The serialization format (the series of strings, integers, objects) must
+ be specified at the specification of the concrete service.
+
+ <p>The interface does not support any special versioning mechanism.
+
+ @see com::sun::star::io::XObjectOutputStream
+ @see com::sun::star::io::XObjectInputStream
+ */
+published interface XPersistObject: com::sun::star::uno::XInterface
+{
+
+ /** gives the service name of the object
+
+ <p>This name is used to create such an object by a factory
+ during deserialization. </p>
+
+ @returns
+ the service name that specifies the behavior and the
+ persistent data format of this implementation.
+
+ @see com::sun::star::lang::XMultiComponentFactory::getAvailableServiceNames()
+ */
+ string getServiceName();
+
+ /** writes all the persistent data of the object to the stream.
+ <p>The implementation
+ must write the data in the order documented in the service specification.
+ @param OutStream the stream, the data shall be written to. The stream
+ supports simple types and other XPersistObject implementations.
+ */
+ void write( [in] com::sun::star::io::XObjectOutputStream OutStream )
+ raises( com::sun::star::io::IOException );
+
+ /** reads all the persistent data of the object from the stream.
+ <p>In case
+ other XPersistObjects are read from the stream, the implementation uses a factory
+ to create these objects (in general the global service manager).
+ <p> The implementation must read the data in the order documented at
+ the service specification.
+ @param InStream the stream, the data shall be read from.
+ */
+ void read( [in] com::sun::star::io::XObjectInputStream InStream )
+ raises( com::sun::star::io::IOException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XPipe.idl b/udkapi/com/sun/star/io/XPipe.idl
new file mode 100644
index 000000000..c31073d74
--- /dev/null
+++ b/udkapi/com/sun/star/io/XPipe.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_io_XPipe_idl__
+#define __com_sun_star_io_XPipe_idl__
+
+#include <com/sun/star/io/XOutputStream.idl>
+
+#include <com/sun/star/io/XInputStream.idl>
+
+
+
+module com { module sun { module star { module io {
+
+
+/** The implementation of an output stream and an input stream.
+ <p>
+ All data written through the outputstream is buffered until it is
+ read again from the input stream. Often two different threads access
+ input and outputstream.
+
+ <p> With the pipe-service, an outputstream can be converted into an
+ input stream at the cost of an additional buffer.
+
+ @since LibreOffice 4.0
+ */
+published interface XPipe
+{
+ interface com::sun::star::io::XOutputStream;
+
+ interface com::sun::star::io::XInputStream;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XSeekable.idl b/udkapi/com/sun/star/io/XSeekable.idl
new file mode 100644
index 000000000..8b8bc2112
--- /dev/null
+++ b/udkapi/com/sun/star/io/XSeekable.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_io_XSeekable_idl__
+#define __com_sun_star_io_XSeekable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to seek to a certain position within a stream.
+
+ <p>This interface should be supported, if it is possible to access the
+ data at the new position quickly.
+ You should not support this interface, if you have a continuous
+ stream, for example, a video stream.
+ */
+published interface XSeekable: com::sun::star::uno::XInterface
+{
+ /** changes the seek pointer to a new location relative to the beginning of the stream.
+
+
+ <p> This method changes the seek pointer so subsequent reads and writes can take place at a different
+ location in the stream object. It is an error to seek before the beginning of the stream or after the
+ end of the stream. </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException in case location is negative or greater than XSeekable::getLength().
+ */
+ void seek( [in] hyper location )
+ raises( com::sun::star::lang::IllegalArgumentException, com::sun::star::io::IOException );
+
+ /** returns the current offset of the stream.
+ @returns
+ the current offset in this stream.
+ */
+ hyper getPosition()
+ raises( com::sun::star::io::IOException );
+
+ /** returns the length of the stream.
+ @returns
+ the length of the storage medium on which the stream works.
+ */
+ hyper getLength()
+ raises( com::sun::star::io::IOException );
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XSeekableInputStream.idl b/udkapi/com/sun/star/io/XSeekableInputStream.idl
new file mode 100644
index 000000000..29a2558fb
--- /dev/null
+++ b/udkapi/com/sun/star/io/XSeekableInputStream.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_io_XSeekableInputStream_idl__
+#define __com_sun_star_io_XSeekableInputStream_idl__
+
+#include <com/sun/star/io/XInputStream.idl>
+
+#include <com/sun/star/io/XSeekable.idl>
+
+
+module com { module sun { module star { module io {
+
+/** This interface can be used to represent a seekable input stream.
+ */
+published interface XSeekableInputStream
+{
+ interface XInputStream;
+ interface XSeekable;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XSequenceOutputStream.idl b/udkapi/com/sun/star/io/XSequenceOutputStream.idl
new file mode 100644
index 000000000..fcdd237d8
--- /dev/null
+++ b/udkapi/com/sun/star/io/XSequenceOutputStream.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_io_XSequenceOutputStream_idl__
+#define __com_sun_star_io_XSequenceOutputStream_idl__
+
+#include <com/sun/star/io/XOutputStream.idl>
+#include <com/sun/star/io/NotConnectedException.idl>
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** This interface offers access to the written bytes
+*/
+interface XSequenceOutputStream
+{
+ interface XOutputStream;
+
+ /** allows to get access to the written data
+ */
+ sequence< byte > getWrittenBytes()
+ raises( com::sun::star::io::NotConnectedException,
+ com::sun::star::io::IOException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XStream.idl b/udkapi/com/sun/star/io/XStream.idl
new file mode 100644
index 000000000..8fcf5fc28
--- /dev/null
+++ b/udkapi/com/sun/star/io/XStream.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_io_XStream_idl__
+#define __com_sun_star_io_XStream_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XInputStream.idl>
+#include <com/sun/star/io/XOutputStream.idl>
+
+
+module com { module sun { module star { module io {
+
+
+/** offers read and write access to the same stream.
+ */
+published interface XStream: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the XInputStream part of the stream. Closing the returned
+ XInputStream also closes any XOutputStream part.
+ */
+ XInputStream getInputStream();
+
+
+ /** @returns
+ the XInputStream part of the stream. Closing the returned
+ XOutputStream also closes the XInputStream part.
+ */
+ XOutputStream getOutputStream();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XStreamListener.idl b/udkapi/com/sun/star/io/XStreamListener.idl
new file mode 100644
index 000000000..3f9604d16
--- /dev/null
+++ b/udkapi/com/sun/star/io/XStreamListener.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_io_XStreamListener_idl__
+#define __com_sun_star_io_XStreamListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** makes it possible to receive events from an active data control.
+ */
+published interface XStreamListener: com::sun::star::lang::XEventListener
+{
+ /** gets called as soon as data transfer has started.
+ */
+ void started();
+
+ /** gets called when data transfer terminates normally or when data
+ transfer is terminated from outside.
+
+ <p>The termination could be done using the method
+ XActiveDataControl::terminate().</p>
+ */
+ void closed();
+
+ /** gets called when XActiveDataControl::terminate() is called.
+ */
+ void terminated();
+
+ /** gets called when an internal error in source or sink has occurred.
+
+ <p>After the method is called, the close is called on the
+ connected streams.</p>
+ */
+ void error( [in] any aException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XTempFile.idl b/udkapi/com/sun/star/io/XTempFile.idl
new file mode 100644
index 000000000..5d5fdaf71
--- /dev/null
+++ b/udkapi/com/sun/star/io/XTempFile.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_io_XTempFile_idl__
+#define __com_sun_star_io_XTempFile_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XStream.idl>
+#include <com/sun/star/io/XSeekable.idl>
+
+
+module com { module sun { module star { module io {
+
+/** This interface offers access to temp files.
+ */
+interface XTempFile
+{
+ // INTERFACES
+ /** interface XStream offers read and write access to
+ the same stream.
+ */
+ interface XStream;
+
+ /** interface XSeekable makes it possible to seek to a
+ certain position within a stream.
+ */
+ interface XSeekable;
+
+ // ATTRIBUTES
+ /** This attribute controls whether the file will be automatically
+ removed on object destruction.
+ */
+ [attribute] boolean RemoveFile;
+
+ /** This attribute specifies the URL of the temp file.
+ */
+ [readonly,attribute] string Uri;
+
+ /** This attribute specifies the temp file name.
+ */
+ [readonly,attribute] string ResourceName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XTextInputStream.idl b/udkapi/com/sun/star/io/XTextInputStream.idl
new file mode 100644
index 000000000..e0a821496
--- /dev/null
+++ b/udkapi/com/sun/star/io/XTextInputStream.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_io_XTextInputStream_idl__
+#define __com_sun_star_io_XTextInputStream_idl__
+
+#include <com/sun/star/io/XInputStream.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** Interface to read strings from a stream.
+
+ <p>This interfaces allows to read strings separated by
+ delimiters and to read lines. The character encoding
+ to be used can be set by setEncoding().
+ Default encoding is "utf8".</p>
+ */
+published interface XTextInputStream: com::sun::star::io::XInputStream
+{
+ /** reads text until a line break (CR, LF, or CR/LF) or
+ EOF is found and returns it as string (without CR, LF).
+
+ <p>The read characters are converted according to the
+ encoding defined by setEncoding(). If
+ EOF is already reached before calling this method
+ an empty string is returned.<p>
+
+ @see setEncoding
+ @see isEOF
+ */
+ string readLine()
+ raises( com::sun::star::io::IOException );
+
+ /** reads text until one of the given delimiter characters
+ or EOF is found and returns it as string (without delimiter).
+
+ <p><strong>Important:</strong> CR/LF is not used as default
+ delimiter! So if no delimiter is defined or none of the
+ delimiters is found, the stream will be read to EOF. The
+ read characters are converted according to the encoding
+ defined by setEncoding(). If EOF is already
+ reached before calling this method an empty string is returned.</p>
+
+ @see setEncoding
+ @see isEOF
+ */
+ string readString( [in] sequence<char> Delimiters, [in] boolean bRemoveDelimiter )
+ raises( com::sun::star::io::IOException );
+
+ /** Returns the EOF status.
+
+ <p>This method has to be used to detect if the end
+ of the stream is reached.</p>
+ <p><strong>Important:</strong>
+ This cannot be detected by asking for an empty string
+ because that can be a valid return value of readLine()
+ (if the line is empty) and
+ readString() (if a delimiter is directly followed
+ by the next one).</p>
+
+ @returns
+ `TRUE`, if the end of file is reached, so that
+ no next string can be read. `FALSE` otherwise
+ */
+ boolean isEOF()
+ raises( com::sun::star::io::IOException );
+
+ /** sets character encoding.
+
+ @param Encoding
+ sets the character encoding that should be used.
+ The character encoding names refer to the document
+ http://www.iana.org/assignments/character-sets.
+ Which character sets are supported depends on
+ the implementation.
+ */
+ void setEncoding( [in] string Encoding );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XTextInputStream2.idl b/udkapi/com/sun/star/io/XTextInputStream2.idl
new file mode 100644
index 000000000..7b4ab6eb4
--- /dev/null
+++ b/udkapi/com/sun/star/io/XTextInputStream2.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_io_XTextInputStream2_idl__
+#define __com_sun_star_io_XTextInputStream2_idl__
+
+#include <com/sun/star/io/XTextInputStream.idl>
+#include <com/sun/star/io/XActiveDataSink.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** Provides a unified interface for the new-style service TextInputStream.
+
+ @since LibreOffice 4.1
+ */
+published interface XTextInputStream2
+{
+ /// Interface to read text data
+ interface com::sun::star::io::XTextInputStream;
+
+ /// Interface to specify the used com::sun::star::io::XInputStream
+ interface com::sun::star::io::XActiveDataSink;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XTextOutputStream.idl b/udkapi/com/sun/star/io/XTextOutputStream.idl
new file mode 100644
index 000000000..40cfe25e8
--- /dev/null
+++ b/udkapi/com/sun/star/io/XTextOutputStream.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_io_XTextOutputStream_idl__
+#define __com_sun_star_io_XTextOutputStream_idl__
+
+#include <com/sun/star/io/XOutputStream.idl>
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** Interface to write strings to a stream using a special
+ character encoding.
+
+ <p>This interfaces allows to write strings to a stream.
+ The character encoding to be used can be set by
+ setEncoding(). Default encoding is "utf8".</p>
+ */
+published interface XTextOutputStream: com::sun::star::io::XOutputStream
+{
+ /** writes a string to the stream using the encoding
+ defined by setEncoding().
+
+ <p>Line breaks or delimiters that may be necessary
+ to support XTextInputStream::readLine()
+ and XTextInputStream::readString()
+ have to be added manually to the parameter string.</p>
+
+ @see setEncoding
+ @see XTextInputStream::readLine
+ @see XTextInputStream::readString
+ */
+ void writeString( [in] string aString )
+ raises( com::sun::star::io::IOException );
+
+ /** sets character encoding.
+
+ @param Encoding
+ sets the character encoding that should be used.
+ The character encoding names refer to the document
+ http://www.iana.org/assignments/character-sets.
+ Which character sets are supported depends on
+ the implementation.
+ */
+ void setEncoding( [in] string Encoding );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XTextOutputStream2.idl b/udkapi/com/sun/star/io/XTextOutputStream2.idl
new file mode 100644
index 000000000..e8abf92aa
--- /dev/null
+++ b/udkapi/com/sun/star/io/XTextOutputStream2.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_io_XTextOutputStream2_idl__
+#define __com_sun_star_io_XTextOutputStream2_idl__
+
+#include <com/sun/star/io/XTextOutputStream.idl>
+#include <com/sun/star/io/XActiveDataSource.idl>
+
+
+
+module com { module sun { module star { module io {
+
+/** Provides a unified interface for the new-style service TextOutputStream.
+
+ @since LibreOffice 4.1
+ */
+published interface XTextOutputStream2
+{
+ /// Interface to write text data
+ interface com::sun::star::io::XTextOutputStream;
+
+ /// Interface to specify the used com::sun::star::io::XOutputStream
+ interface com::sun::star::io::XActiveDataSource;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XTruncate.idl b/udkapi/com/sun/star/io/XTruncate.idl
new file mode 100644
index 000000000..b1236777f
--- /dev/null
+++ b/udkapi/com/sun/star/io/XTruncate.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_io_XTruncate_idl__
+#define __com_sun_star_io_XTruncate_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/IOException.idl>
+
+
+module com { module sun { module star { module io {
+
+
+
+/** makes it possible to set the size of the underlying data of a stream
+ to zero.
+ */
+published interface XTruncate: com::sun::star::uno::XInterface
+{
+
+ /** sets the size of the underlying data of the stream to zero.
+ */
+ void truncate()
+ raises( IOException );
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/io/XXMLExtractor.idl b/udkapi/com/sun/star/io/XXMLExtractor.idl
new file mode 100644
index 000000000..111ebf470
--- /dev/null
+++ b/udkapi/com/sun/star/io/XXMLExtractor.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_io_XXMLExtractor_idl__
+#define __com_sun_star_io_XXMLExtractor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/XInputStream.idl>
+
+
+module com { module sun { module star { module io {
+
+/** offers the capability to extract the XML document stream from a document
+ storage.
+*/
+
+published interface XXMLExtractor : com::sun::star::uno::XInterface
+{
+ /** extracts the XML stream from the document storage.
+
+ @returns
+ the extracted XML stream.
+ */
+ com::sun::star::io::XInputStream extract( [in] com::sun::star::io::XInputStream aStream );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */