1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir#ifndef __com_sun_star_form_binding_XListEntrySource_idl__
25cdf0e10cSrcweir#define __com_sun_star_form_binding_XListEntrySource_idl__
26cdf0e10cSrcweir
27cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
28cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
29cdf0e10cSrcweir#endif
30cdf0e10cSrcweir#ifndef __com_sun_star_lang_NullPointerException_idl__
31cdf0e10cSrcweir#include <com/sun/star/lang/NullPointerException.idl>
32cdf0e10cSrcweir#endif
33cdf0e10cSrcweir#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
34cdf0e10cSrcweir#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
35cdf0e10cSrcweir#endif
36cdf0e10cSrcweir
37cdf0e10cSrcweir//=============================================================================
38cdf0e10cSrcweir
39cdf0e10cSrcweirmodule com {  module sun {  module star {  module form { module binding {
40cdf0e10cSrcweir
41cdf0e10cSrcweirinterface XListEntryListener;
42cdf0e10cSrcweir
43cdf0e10cSrcweir//=============================================================================
44cdf0e10cSrcweir
45cdf0e10cSrcweir/** specifies a source of string list entries
46cdf0e10cSrcweir
47cdf0e10cSrcweir    <p>The interface supports foreign components which actively retrieve list entries,
48cdf0e10cSrcweir    as well as components which want to passively being notified of changes in the list.</p>
49cdf0e10cSrcweir
50cdf0e10cSrcweir    @see XListEntrySink
51cdf0e10cSrcweir*/
52cdf0e10cSrcweirinterface XListEntrySource : com::sun::star::uno::XInterface
53cdf0e10cSrcweir{
54cdf0e10cSrcweir    /** retrieves the number of entries in the list
55cdf0e10cSrcweir    */
56cdf0e10cSrcweir    long    getListEntryCount( );
57cdf0e10cSrcweir
58cdf0e10cSrcweir    /** provides access to a single list entry
59cdf0e10cSrcweir
60cdf0e10cSrcweir        @throws <type scope="com::sun::star::lang">IndexOutOfBoundsException</type>
61cdf0e10cSrcweir            if the given position does not denote a valid index in the list
62cdf0e10cSrcweir
63cdf0e10cSrcweir        @see getListEntryCount
64cdf0e10cSrcweir    */
65cdf0e10cSrcweir    string  getListEntry( [in] long Position )
66cdf0e10cSrcweir                raises( com::sun::star::lang::IndexOutOfBoundsException );
67cdf0e10cSrcweir
68cdf0e10cSrcweir    /** provides access to the entirety of all list entries
69cdf0e10cSrcweir    */
70cdf0e10cSrcweir    sequence< string >
71cdf0e10cSrcweir            getAllListEntries( );
72cdf0e10cSrcweir
73cdf0e10cSrcweir    /** adds a listener which will be notified about changes in the list
74cdf0e10cSrcweir        reflected by the component.
75cdf0e10cSrcweir
76cdf0e10cSrcweir        @throws <type scope="com::sun::star::lang">NullPointerException</type>
77cdf0e10cSrcweir            if the given listener is <NULL/>
78cdf0e10cSrcweir    */
79cdf0e10cSrcweir    void    addListEntryListener( [in] XListEntryListener Listener )
80cdf0e10cSrcweir                raises( com::sun::star::lang::NullPointerException );
81cdf0e10cSrcweir
82cdf0e10cSrcweir    /** revokes the given listener from the list of components which will
83cdf0e10cSrcweir        be notfiied about changes in the entry list.
84cdf0e10cSrcweir
85cdf0e10cSrcweir        @throws <type scope="com::sun::star::lang">NullPointerException</type>
86cdf0e10cSrcweir            if the given listener is <NULL/>
87cdf0e10cSrcweir    */
88cdf0e10cSrcweir    void    removeListEntryListener( [in] XListEntryListener Listener )
89cdf0e10cSrcweir                raises( com::sun::star::lang::NullPointerException );
90cdf0e10cSrcweir};
91cdf0e10cSrcweir
92cdf0e10cSrcweir//=============================================================================
93cdf0e10cSrcweir
94cdf0e10cSrcweir}; }; }; }; };
95cdf0e10cSrcweir
96cdf0e10cSrcweir#endif
97