summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl
blob: 37c69f2974b4034ce350861f4563aedcac2f40c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2008 by Sun Microsystems, Inc.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * $RCSfile: XCachedDynamicResultSetStubFactory.idl,v $
 * $Revision: 1.10 $
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org 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 version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__
#define __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__

#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif

#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__
#include <com/sun/star/ucb/XDynamicResultSet.idl>
#endif

#ifndef __com_sun_star_ucb_NumberedSortingInfo_idl__
#include <com/sun/star/ucb/NumberedSortingInfo.idl>
#endif

#ifndef __com_sun_star_ucb_XAnyCompareFactory_idl__
#include <com/sun/star/ucb/XAnyCompareFactory.idl>
#endif

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

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

//=============================================================================
/** creates a <type>CachedDynamicResultSetStub</type> and connects a non-remote
    optimized <type>DynamicResultSet</type> to a remote optimized
    <type>CachedDynamicResultSet</type>.

    <p>Pay attention to instanciate this helper on serverside where your source
    <type>DynamicResultSet</type> was instanciated.

    <p>Method
    <member>XCachedDynamicResultSetStubFactory::createCachedDynamicResultSetStub</member>
    can be used to create a stub on serverside.

    <p>If you have instanciated a <type>CachedDynamicResultSet</type> on client
    side already, use method <member>connectToCache</member> to connect your
    given DynamicResultSet with this Cache.

    <p>The needed cache on server side you can create using
    <type>XCachedDynamicResultSetFactory</type>.
*/

published interface XCachedDynamicResultSetStubFactory: com::sun::star::uno::XInterface
{
    //-------------------------------------------------------------------------
    /** creates a remote optimizes <type>XDynamicResultSet</type>.

        @param Source
        must be an instance of service <type>DynamicResultSet</type>.

        @returns
        an instance of service <type>CachedDynamicResultSetStub</type>.
    */

    com::sun::star::ucb::XDynamicResultSet  createCachedDynamicResultSetStub(
                [in] com::sun::star::ucb::XDynamicResultSet Source );

    //-------------------------------------------------------------------------
    /** If you have instanciated a <type>CachedDynamicResultSet</type> on
        client side already, use this to connect your given Source on server
        side to the TargetCache.

        @param Source
        is an instance of service <type>DynamicResultSet</type>.

        @param TargetCache
        is an instance of service <type>CachedDynamicResultSet</type>.

        @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 instanciate objects used to compare the
        properties that are involved in sorting.

        @throws ListenerAlreadySetException
        if <member>Source</member> is already in use.

        @throws AlreadyInitializedException
        if <member>TargetCache</member> 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