/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#ifndef __com_sun_star_form_binding_ListEntrySource_idl__
#define __com_sun_star_form_binding_ListEntrySource_idl__

#include <com/sun/star/form/binding/XListEntrySource.idl>
#include <com/sun/star/lang/XComponent.idl>
#include <com/sun/star/util/XModifyBroadcaster.idl>


module com {  module sun {  module star {  module form { module binding {


/** defines a component which provides a list of string entries
*/
service ListEntrySource
{
    /** allows read access to the entries represented by this component
    */
    interface XListEntrySource;

    /** allows life time control for the component

        <p>An ListEntrySource will be known to one ore more components
        supporting the XListEntrySink interface, which all work with
        this source. However, they will not <em>own</em> the ListEntrySource.
        The ownership is with another instance, which may also decide to obsolete
        the ListEntrySource for whatever reasons (e.g. because the data model
        which the binding reflected died). For this reason, a ListEntrySource
        must offer a possibility to be obsoleted by its owner, and to notify this
        obsoleteness to other interested parties, such as XListEntrySinks.</p>
    */
    interface com::sun::star::lang::XComponent;
};


}; }; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
