/* -*- 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_sdb_XDatabaseRegistrationsListener_idl__
#define __com_sun_star_sdb_XDatabaseRegistrationsListener_idl__

#include <com/sun/star/lang/XEventListener.idl>
#include <com/sun/star/sdb/DatabaseRegistrationEvent.idl>


module com { module sun { module star { module sdb {


/** implemented by components which want to be notified of changes in the application-wide registered
    databases.

    @see XDatabaseRegistrations

    @since OOo 3.3
 */
published interface XDatabaseRegistrationsListener : ::com::sun::star::lang::XEventListener
{
    /** called when a database has been registered
    */
    void    registeredDatabaseLocation( [in] DatabaseRegistrationEvent Event );

    /** called when a database registration has been revoked
    */
    void    revokedDatabaseLocation( [in] DatabaseRegistrationEvent Event );

    /** called when a the location of a registered database changed

        <p>Note that this talks about registration data only. That is, if the actual file denoted by the database
        registration is moved, this is in no way monitored or reported. Only (successful) calls to
        XDatabaseRegistrations::changeDatabaseLocation() are reported here.</p>
    */
    void    changedDatabaseLocation( [in] DatabaseRegistrationEvent Event );
};


}; }; }; };


#endif

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