/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: FetchResult.idl,v $
 *
 *  $Revision: 1.8 $
 *
 *  last change: $Author: rt $ $Date: 2005-09-08 07:24:41 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
#ifndef __com_sun_star_ucb_FetchResult_idl__
#define __com_sun_star_ucb_FetchResult_idl__

//=============================================================================

module com { module sun { module star { module ucb {

//=============================================================================
/** contains data of several rows of a <type>ContentResultSet</type>.

    <p>This struct is returned from <member>XFetchProvider::fetch</member>,
    for example.
*/

published struct FetchResult
{
    //-------------------------------------------------------------------------
    /** contains the demanded data.

        <p>One any contains the data of one whole row. Those methods which
        use this struct have to specify, what the any has to contain.
    */
    sequence< any > Rows;

    //-------------------------------------------------------------------------
    /** indicates the index of the first row contained in
        <member>FetchResult::Rows</member> in the original resultset. So if
        <member>FetchResult::StartIndex</member> equals <code>3</code>, the
        first element in the sequence <member>FetchResult::Rows</member>
        contains the data of the index <code>3</code> in the original resultset.

        <p>The following rows are one after the other, but the direction
        depends on the value of <member>FetchResult::Direction</member>
    */
    long StartIndex;

    //-------------------------------------------------------------------------
    /** indicates the orientation in which the rows are fetched and set into
        the sequence <member>FetchResult::Rows</member>.

        <p>When <member>FetchResult::Orientation</member> equals <TRUE/>, the
        rows in <member>FetchResult::Rows</member> are ordered in the same way
        as in the original resultset.
    */
    boolean Orientation;

    //-------------------------------------------------------------------------
    /** indicates whether and which error has occured, while fetching.

        <p>The value may contain zero or more constants of the
        <type>FetchError</type> constants group.
    */
    short FetchError;
};

//=============================================================================

}; }; }; };

#endif
