1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27
28#ifndef __com_sun_star_ucb_XRemoteContentProviderConnectionControl_idl__
29#define __com_sun_star_ucb_XRemoteContentProviderConnectionControl_idl__
30
31#ifndef __com_sun_star_uno_XInterface_idl__
32#include <com/sun/star/uno/XInterface.idl>
33#endif
34
35module com { module sun { module star { module ucb {
36	 published interface XRemoteContentProviderAcceptor;
37}; }; }; };
38
39module com { module sun { module star { module ucb {
40
41//============================================================================
42/** A simple mechanism to find out if the connection between a remote content
43	provider distributor and acceptor gets lost.
44
45    <p>This interface should be supported by the <var>DoneListener</var>
46	parameter of
47	<member>XRemoteContentProviderAcceptor::addRemoteContentProvider</member>.
48
49	@version 1.0
50	@author Stephan Bergmann
51 */
52published interface XRemoteContentProviderConnectionControl:
53	com::sun::star::uno::XInterface
54{
55	//------------------------------------------------------------------------
56	/** Enable connection control, using as a token some object implemented on
57		the remote content provider acceptor's side.
58
59        <p>The implementation of this interface must hold a reference to the
60		supplied token.  If the connection gets lost, the reference count of
61		the token will drop, which the remote content provider acceptor can
62		observe.
63
64		@param Acceptor
65		The remote content provider acceptor on the other side of the
66		connection.
67
68		@param Token
69		Some object implemented on the remote content provider acceptor's side
70		of the connection.
71	 */
72	void
73	enableConnectionControl([in] XRemoteContentProviderAcceptor Acceptor,
74							[in] com::sun::star::uno::XInterface Token);
75};
76
77}; }; }; };
78
79#endif
80