/* -*- 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_XCachedDynamicResultSetStubFactory_idl__ #define __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__ #include #include #include #include module com { module sun { module star { module ucb { /** creates a CachedDynamicResultSetStub and connects a non-remote optimized DynamicResultSet to a remote optimized CachedDynamicResultSet.

Pay attention to instantiate this helper on server side where your source DynamicResultSet was instantiated.

Method XCachedDynamicResultSetStubFactory::createCachedDynamicResultSetStub() can be used to create a stub on server side.

If you have instantiated a CachedDynamicResultSet on client side already, use method connectToCache() to connect your given DynamicResultSet with this Cache.

The needed cache on server side you can create using XCachedDynamicResultSetFactory. */ published interface XCachedDynamicResultSetStubFactory: com::sun::star::uno::XInterface { /** creates a remote optimizes XDynamicResultSet. @param Source must be an instance of service DynamicResultSet. @returns an instance of service CachedDynamicResultSetStub. */ com::sun::star::ucb::XDynamicResultSet createCachedDynamicResultSetStub( [in] com::sun::star::ucb::XDynamicResultSet Source ); /** If you have instantiated a CachedDynamicResultSet on client side already, use this to connect your given Source on server side to the TargetCache. @param Source is an instance of service DynamicResultSet. @param TargetCache is an instance of service CachedDynamicResultSet. @param SortingInfo can be an empty sequence. Otherwise, Source will be sorted according to the given sorting data. @param CompareFactory will be ignored unless SortingInfo is not empty. Then the supplied factory will be used to instantiate objects used to compare the properties that are involved in sorting. @throws ListenerAlreadySetException if \p Source is already in use. @throws AlreadyInitializedException if \p TargetCache already has been initialized. */ void connectToCache( [in] com::sun::star::ucb::XDynamicResultSet Source , [in] com::sun::star::ucb::XDynamicResultSet TargetCache , [in] sequence< com::sun::star::ucb::NumberedSortingInfo > SortingInfo , [in] com::sun::star::ucb::XAnyCompareFactory CompareFactory ) raises( com::sun::star::ucb::ListenerAlreadySetException , com::sun::star::ucb::AlreadyInitializedException ); }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */