1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24#ifndef __com_sun_star_ucb_RemoteProxyContentProvider_idl__
25#define __com_sun_star_ucb_RemoteProxyContentProvider_idl__
26
27module com { module sun { module star { module ucb {
28
29 published interface XContentIdentifierFactory;
30 published interface XContentProvider;
31 published interface XParameterizedContentProvider;
32
33//============================================================================
34/** A <type>ContentProvider</type> that wraps remote content providers that
35    (potentially) have been distributed to a UCB.
36
37    <p>Before trying to pass a request to a 'real,' underlying content provider
38    (which will most likely be a remote content provider distributed to this
39    UCB), this proxy first activates any remote content providers that have
40    been distributed here, but are still inactive (see
41    <type>RemoteContentProviderAcceptor</type> and
42    <type>XRemoteContentProviderActivator</type> for more information).
43
44    <p>The way this works might change, therefore this interface is marked as
45    deprectated.
46
47    @deprecated
48 */
49published service RemoteProxyContentProvider
50{
51    //------------------------------------------------------------------------
52    /** activates any potentially inactive remote content providers before
53        passing on requests to the underlying <type>XContentProvider</type>.
54     */
55    interface XContentProvider;
56
57    //------------------------------------------------------------------------
58    /** activates any potentially inactive remote content providers before
59        passing on requests to the underlying
60        <type>XContentIdentifierFactory</type>.
61     */
62    [optional] interface XContentIdentifierFactory;
63
64    //------------------------------------------------------------------------
65	/** allows this <type>ContentProvider</type> to adjust itself to special
66		needs.
67     */
68    [optional] interface XParameterizedContentProvider;
69};
70
71}; }; }; };
72
73#endif
74