73d568408a
<listing> is called @code / @endcode in doxygen. @example requires a file name in doxygen. Also adapt various silly examples that use tools String in C++ or manual syntax highlighting in Java etc. Change-Id: I23cff1b688001f438526a6a1364cc5f754b504f7
193 lines
6.6 KiB
Text
193 lines
6.6 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_ucb_ContentResultSet_idl__
|
|
#define __com_sun_star_ucb_ContentResultSet_idl__
|
|
|
|
#include <com/sun/star/lang/XComponent.idl>
|
|
#include <com/sun/star/beans/XPropertySet.idl>
|
|
#include <com/sun/star/sdbc/XResultSet.idl>
|
|
#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.idl>
|
|
#include <com/sun/star/sdbc/XRow.idl>
|
|
#include <com/sun/star/sdbc/XCloseable.idl>
|
|
#include <com/sun/star/ucb/XContentAccess.idl>
|
|
#include <com/sun/star/sdbc/ResultSet.idl>
|
|
|
|
|
|
module com { module sun { module star { module ucb {
|
|
|
|
/** provides access to the children of a folder content.
|
|
|
|
<p>It can be understand as a table containing a row for each child. The
|
|
table columns may contain values of properties of the children.
|
|
*/
|
|
published service ContentResultSet
|
|
{
|
|
/** must be implemented to make it possible to resolve cyclic object
|
|
references ( i.e. between an implementation of
|
|
com::sun::star::beans::XPropertySet
|
|
- which may hold property change listeners - and
|
|
com::sun::star::beans::XPropertyChangeListener
|
|
- which may hold the property set ).
|
|
|
|
<p>This interface is required.
|
|
*/
|
|
interface com::sun::star::lang::XComponent;
|
|
|
|
/** provides access to the result set meta data. Meta data are for
|
|
example the number of columns of the result set, information
|
|
on the data types of columns, column names, and more.
|
|
|
|
<p>This interface is required.
|
|
*/
|
|
interface com::sun::star::sdbc::XResultSetMetaDataSupplier;
|
|
|
|
/** enables traveling through the result set members ( the contents ).
|
|
This interface mainly provides a cursor for the result set.
|
|
|
|
<p>Note that every method of this interface implementation additionally
|
|
may throw a ResultSetException ( which is derived from
|
|
com::sun::star::sdbc::SQLException to be compatible
|
|
to that interface ). The new exception transports another exception,
|
|
which indicates the reason for the failure of the method call.
|
|
|
|
<p>This interface is required.
|
|
*/
|
|
interface com::sun::star::sdbc::XResultSet;
|
|
|
|
/** provides access to data of the content the cursor is pointing to.
|
|
|
|
<p>Note that every method of this interface implementation additionally
|
|
may throw a ResultSetException ( which is derived from
|
|
com::sun::star::sdbc::SQLException to be compatible
|
|
to that interface ). The new exception transports another exception,
|
|
which indicates the reason for the failure of the method call.
|
|
|
|
<p>This interface is required.
|
|
*/
|
|
interface com::sun::star::sdbc::XRow;
|
|
|
|
/** makes it possible to abort running activities ( i.e. to cancel
|
|
retrieving data from a server ).
|
|
|
|
<p>Note that every method of this interface implementation additionally
|
|
may throw a ResultSetException ( which is derived from
|
|
com::sun::star::sdbc::SQLException to be compatible
|
|
to that interface ). The new exception transports another exception,
|
|
which indicates the reason for the failure of the method call.
|
|
|
|
<p>This interface is required.
|
|
*/
|
|
interface com::sun::star::sdbc::XCloseable;
|
|
|
|
/** holds properties of the result set.
|
|
|
|
<p>This interface is required.
|
|
*/
|
|
interface com::sun::star::beans::XPropertySet;
|
|
|
|
/** controls the travel mode of the result set cursor.
|
|
|
|
<p>There are two possible travel modes:
|
|
|
|
<p><table border=1>
|
|
<tr><td>CursorTravelMode::BLOCKING</td>
|
|
<td>Each travel method of the result set will not return until the
|
|
data for the new position were retrieved.</td></tr>
|
|
<tr><td>CursorTravelMode::NONBLOCKING</td>
|
|
<td>The implementation will throw a
|
|
<code>CursorWouldBlockException</code>, if the data for the new
|
|
position are not retrieved yet.</td></tr>
|
|
</table>
|
|
|
|
<p>The following pseudo-code illustrates the usage of a non-blocking
|
|
cursor:
|
|
|
|
@code{.java}
|
|
bProcessedAllRows = false
|
|
while ( !bProcessedAllRows )
|
|
{
|
|
cursor.setPropertyValue( "CursorTravelMode", BLOCKING )
|
|
|
|
cursor.travelSomeWhere()
|
|
collectRowData()
|
|
|
|
cursor.setPropertyValue( "CursorTravelMode", NONBLOCKING )
|
|
|
|
bGoOn = true;
|
|
while ( bGoOn )
|
|
{
|
|
try
|
|
{
|
|
cursor.travelSomeWhere()
|
|
collectRowData()
|
|
}
|
|
catch ( CursorWouldBlockException )
|
|
{
|
|
// No more data at the moment.
|
|
bGoOn = false
|
|
}
|
|
}
|
|
|
|
doSomethingWithCollectedRowData()
|
|
|
|
bProcessedAllRows = ...
|
|
}
|
|
@endcode
|
|
|
|
<p>
|
|
If this property is not supported, the implementation needs to provide
|
|
a blocking cursor.
|
|
</p>
|
|
|
|
<p>
|
|
The implementation initially needs to set the value of this property
|
|
to CursorTravelMode::BLOCKING.
|
|
</p>
|
|
|
|
@see CursorTravelMode
|
|
*/
|
|
[optional, property] long CursorTravelMode;
|
|
|
|
/** contains the number of rows obtained (so far) from the data source. */
|
|
[readonly, property] long RowCount;
|
|
|
|
/** indicates that all rows of the result set have been obtained. */
|
|
[readonly, property] boolean IsRowCountFinal;
|
|
|
|
/** provides access to the content identifier and the content object
|
|
itself.
|
|
|
|
<p>This interface is required.
|
|
*/
|
|
interface XContentAccess;
|
|
|
|
/** can be implemented to provide a complete JDBC conform result set
|
|
interface for the implementation of this service.
|
|
|
|
<p>The implementation of this service is optional.
|
|
*/
|
|
service com::sun::star::sdbc::ResultSet;
|
|
};
|
|
|
|
|
|
}; }; }; };
|
|
|
|
#endif
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|