3a014901fd
Change-Id: I133423de994b1befe246b6c921802428a3528202
104 lines
3.7 KiB
Text
104 lines
3.7 KiB
Text
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance 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 <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
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|