xref: /trunk/main/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl (revision ffd38472365e95f6a578737bc9a5eb0fac624a86)
1d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19cdf0e10cSrcweir *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__
24cdf0e10cSrcweir#define __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
27cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__
31cdf0e10cSrcweir#include <com/sun/star/ucb/XDynamicResultSet.idl>
32cdf0e10cSrcweir#endif
33cdf0e10cSrcweir
34cdf0e10cSrcweir#ifndef __com_sun_star_ucb_NumberedSortingInfo_idl__
35cdf0e10cSrcweir#include <com/sun/star/ucb/NumberedSortingInfo.idl>
36cdf0e10cSrcweir#endif
37cdf0e10cSrcweir
38cdf0e10cSrcweir#ifndef __com_sun_star_ucb_XAnyCompareFactory_idl__
39cdf0e10cSrcweir#include <com/sun/star/ucb/XAnyCompareFactory.idl>
40cdf0e10cSrcweir#endif
41cdf0e10cSrcweir
42cdf0e10cSrcweir//=============================================================================
43cdf0e10cSrcweir
44cdf0e10cSrcweirmodule com { module sun { module star { module ucb {
45cdf0e10cSrcweir
46cdf0e10cSrcweir//=============================================================================
47cdf0e10cSrcweir/** creates a <type>CachedDynamicResultSetStub</type> and connects a non-remote
48cdf0e10cSrcweir    optimized <type>DynamicResultSet</type> to a remote optimized
49cdf0e10cSrcweir    <type>CachedDynamicResultSet</type>.
50cdf0e10cSrcweir
51*5e7dbebbSJohn Bampton    <p>Pay attention to instantiate this helper on serverside where your source
52*5e7dbebbSJohn Bampton    <type>DynamicResultSet</type> was instantiated.
53cdf0e10cSrcweir
54cdf0e10cSrcweir    <p>Method
55cdf0e10cSrcweir    <member>XCachedDynamicResultSetStubFactory::createCachedDynamicResultSetStub</member>
56cdf0e10cSrcweir    can be used to create a stub on serverside.
57cdf0e10cSrcweir
58*5e7dbebbSJohn Bampton    <p>If you have instantiated a <type>CachedDynamicResultSet</type> on client
59cdf0e10cSrcweir    side already, use method <member>connectToCache</member> to connect your
60cdf0e10cSrcweir    given DynamicResultSet with this Cache.
61cdf0e10cSrcweir
62cdf0e10cSrcweir    <p>The needed cache on server side you can create using
63cdf0e10cSrcweir    <type>XCachedDynamicResultSetFactory</type>.
64cdf0e10cSrcweir*/
65cdf0e10cSrcweir
66cdf0e10cSrcweirpublished interface XCachedDynamicResultSetStubFactory: com::sun::star::uno::XInterface
67cdf0e10cSrcweir{
68cdf0e10cSrcweir    //-------------------------------------------------------------------------
69cdf0e10cSrcweir    /** creates a remote optimizes <type>XDynamicResultSet</type>.
70cdf0e10cSrcweir
71cdf0e10cSrcweir        @param Source
72cdf0e10cSrcweir        must be an instance of service <type>DynamicResultSet</type>.
73cdf0e10cSrcweir
74cdf0e10cSrcweir        @returns
75cdf0e10cSrcweir        an instance of service <type>CachedDynamicResultSetStub</type>.
76cdf0e10cSrcweir    */
77cdf0e10cSrcweir
78cdf0e10cSrcweir    com::sun::star::ucb::XDynamicResultSet  createCachedDynamicResultSetStub(
79cdf0e10cSrcweir                [in] com::sun::star::ucb::XDynamicResultSet Source );
80cdf0e10cSrcweir
81cdf0e10cSrcweir    //-------------------------------------------------------------------------
82*5e7dbebbSJohn Bampton    /** If you have instantiated a <type>CachedDynamicResultSet</type> on
83cdf0e10cSrcweir        client side already, use this to connect your given Source on server
84cdf0e10cSrcweir        side to the TargetCache.
85cdf0e10cSrcweir
86cdf0e10cSrcweir        @param Source
87cdf0e10cSrcweir        is an instance of service <type>DynamicResultSet</type>.
88cdf0e10cSrcweir
89cdf0e10cSrcweir        @param TargetCache
90cdf0e10cSrcweir        is an instance of service <type>CachedDynamicResultSet</type>.
91cdf0e10cSrcweir
92cdf0e10cSrcweir        @param SortingInfo
93cdf0e10cSrcweir        can be an empty sequence. Otherwise, Source will be sorted according
94cdf0e10cSrcweir        to the given sorting data.
95cdf0e10cSrcweir
96cdf0e10cSrcweir        @param CompareFactory
97cdf0e10cSrcweir        will be ignored unless SortingInfo is not empty. Then the supplied
98*5e7dbebbSJohn Bampton        factory will be used to instantiate objects used to compare the
99cdf0e10cSrcweir        properties that are involved in sorting.
100cdf0e10cSrcweir
101cdf0e10cSrcweir        @throws ListenerAlreadySetException
102cdf0e10cSrcweir        if <member>Source</member> is already in use.
103cdf0e10cSrcweir
104cdf0e10cSrcweir        @throws AlreadyInitializedException
105cdf0e10cSrcweir        if <member>TargetCache</member> already has been initialized.
106cdf0e10cSrcweir    */
107cdf0e10cSrcweir    void connectToCache(
108cdf0e10cSrcweir                  [in] com::sun::star::ucb::XDynamicResultSet Source
109cdf0e10cSrcweir                , [in] com::sun::star::ucb::XDynamicResultSet TargetCache
110cdf0e10cSrcweir                , [in] sequence< com::sun::star::ucb::NumberedSortingInfo > SortingInfo
111cdf0e10cSrcweir                , [in] com::sun::star::ucb::XAnyCompareFactory CompareFactory
112cdf0e10cSrcweir                )
113cdf0e10cSrcweir                raises(
114cdf0e10cSrcweir                  com::sun::star::ucb::ListenerAlreadySetException
115cdf0e10cSrcweir                , com::sun::star::ucb::AlreadyInitializedException
116cdf0e10cSrcweir                 );
117cdf0e10cSrcweir};
118cdf0e10cSrcweir
119cdf0e10cSrcweir//=============================================================================
120cdf0e10cSrcweir
121cdf0e10cSrcweir}; }; }; };
122cdf0e10cSrcweir
123cdf0e10cSrcweir#endif
124