1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XOutputStream.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_io_XOutputStream_idl__
31 #define __com_sun_star_io_XOutputStream_idl__
33 #ifndef __com_sun_star_uno_XInterface_idl__
34 #include
<com
/sun
/star
/uno
/XInterface.idl
>
37 #ifndef __com_sun_star_io_NotConnectedException_idl__
38 #include
<com
/sun
/star
/io
/NotConnectedException.idl
>
41 #ifndef __com_sun_star_io_BufferSizeExceededException_idl__
42 #include
<com
/sun
/star
/io
/BufferSizeExceededException.idl
>
46 //=============================================================================
48 module com
{ module sun
{ module star
{ module io
{
50 //=============================================================================
52 // DocMerge from xml: interface com::sun::star::io::XOutputStream
53 /** This is the basic interface to write data to a stream.
55 See the <a href="http://udk.openoffice.org/common/man/concept/streams.html">
56 streaming document</a> for further information on chaining and piping streams.
58 published
interface XOutputStream
: com
::sun
::star
::uno
::XInterface
60 //-------------------------------------------------------------------------
62 // DocMerge from xml: method com::sun::star::io::XOutputStream::writeBytes
63 /** writes the whole sequence to the stream. (blocking call)
65 void writeBytes
( [in] sequence
<byte> aData
)
66 raises
( com
::sun
::star
::io
::NotConnectedException
,
67 com
::sun
::star
::io
::BufferSizeExceededException
,
68 com
::sun
::star
::io
::IOException
);
70 //-------------------------------------------------------------------------
72 // DocMerge from xml: method com::sun::star::io::XOutputStream::flush
73 /** flushes out of the stream any data that may exist in buffers.
75 <p>The semantics of this method are rather vague. See
76 <member scope="com::sun::star::io">
77 XAsyncOutputMonitor::waitForCompletion</member> for a similar method
78 with very specific semantics, that is useful in certain scenarios.</p>
81 raises
( com
::sun
::star
::io
::NotConnectedException
,
82 com
::sun
::star
::io
::BufferSizeExceededException
,
83 com
::sun
::star
::io
::IOException
);
85 //-------------------------------------------------------------------------
87 // DocMerge from xml: method com::sun::star::io::XOutputStream::closeOutput
88 /** gets called to indicate that all data has been written.
90 <p>If this method has not yet been called, no attached
91 <type>XInputStream</type> receives an EOF signal. No further
92 bytes may be written after this method has been called.</p>
95 raises
( com
::sun
::star
::io
::NotConnectedException
,
96 com
::sun
::star
::io
::BufferSizeExceededException
,
97 com
::sun
::star
::io
::IOException
);
101 //=============================================================================
105 /*=============================================================================
107 =============================================================================*/