| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_io_XTextInputStream_idl__ |
| #define __com_sun_star_io_XTextInputStream_idl__ |
| |
| #ifndef __com_sun_star_io_XInputStream_idl__ |
| #include <com/sun/star/io/XInputStream.idl> |
| #endif |
| |
| #ifndef __com_sun_star_io_IOException_idl__ |
| #include <com/sun/star/io/IOException.idl> |
| #endif |
| |
| |
| //============================================================================= |
| |
| 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 <member>setEncoding()</member>. |
| 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 <member>setEncoding</member>. 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 <member>setEncoding</member>. 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 <member> |
| readLine()</member> (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 |