/* -*- 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_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 ContentResultSet.

    <p>This struct is returned from XFetchProvider::fetch(),
    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
        FetchResult::Rows in the original result set. So if
        FetchResult::StartIndex equals <code>3</code>, the
        first element in the sequence FetchResult::Rows
        contains the data of the index <code>3</code> in the original result set.

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

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

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

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

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


}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
