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#ifndef __com_sun_star_lang_XConnectionPointContainer_idl__
28#define __com_sun_star_lang_XConnectionPointContainer_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34//=============================================================================
35
36module com {  module sun {  module star {  module lang {
37
38 published interface XConnectionPoint;
39
40//=============================================================================
41
42// DocMerge from xml: interface com::sun::star::lang::XConnectionPointContainer
43/** makes it possible to locate a specific connection point
44	for a specified UIK and manages a sequence of connections points.
45
46	<p>An implementation of this interface <strong>must</strong>
47	support the <type scope="com::sun::star::uno">XWeak</type> interface.
48	Look at the language binding for a superclass or something else.  </p>
49
50	@see XConnectionPoint
51	@see com::sun::star::uno::XWeak
52 */
53published interface XConnectionPointContainer: com::sun::star::uno::XInterface
54{
55	//-------------------------------------------------------------------------
56
57	// DocMerge from idl: method com::sun::star::lang::XConnectionPointContainer::getConnectionPointTypes
58	/** @returns
59			a sequence of all outgoing types; specifies which are supported
60			by this connectable object.
61	 */
62	sequence<type> getConnectionPointTypes();
63
64	//-------------------------------------------------------------------------
65
66	// DocMerge from idl: method com::sun::star::lang::XConnectionPointContainer::queryConnectionPoint
67	/** @returns
68			an <type>XConnectionPoint</type> interface of a
69			connection point for a specified type if that type
70			describes a supported outgoing interface. It is
71			<const>NULL</const> on failure of the call.
72
73		@param aType
74			specifies the connection point's type.
75	 */
76	XConnectionPoint queryConnectionPoint( [in] type aType );
77
78	//-------------------------------------------------------------------------
79
80	// DocMerge from xml: method com::sun::star::lang::XConnectionPointContainer::advise
81	/** creates a connection between this object and a
82		client's sink, where the sink implements the outgoing
83		interface specified with ID.
84
85		<p>The interface is advised under the connection point you
86		get with <code>queryConnectionPoint( id )</code>.  </p>
87
88		<p>Use this method instead of the advise method at the
89		connection point, only if you know that the broadcaster supports
90		the outgoing interface, or if it does not matter that the
91		outgoing interface is not supported.  </p>
92
93		@see XConnectionPoint::advise
94	 */
95	[oneway] void advise( [in] type aType,
96			 [in] com::sun::star::uno::XInterface xListener );
97
98	//-------------------------------------------------------------------------
99
100	// DocMerge from xml: method com::sun::star::lang::XConnectionPointContainer::unadvise
101	/** terminates a notification previously set up with
102		advise at the container or at the suitable connection point.
103
104		@see XConnectionPoint::unadvise
105	 */
106	[oneway] void unadvise( [in] type aType,
107			 [in] com::sun::star::uno::XInterface xListener );
108
109};
110
111//=============================================================================
112
113}; }; }; };
114
115/*=============================================================================
116
117=============================================================================*/
118#endif
119