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_drawing_framework_ConfigurationChangeEvent_idl__
29#define __com_sun_star_drawing_framework_ConfigurationChangeEvent_idl__
30
31#ifndef __com_sun_star_lang_EventObject_idl__
32#include <com/sun/star/lang/EventObject.idl>
33#endif
34
35module com { module sun { module star { module uno { interface XInterface; }; }; }; };
36
37module com { module sun { module star { module drawing { module framework {
38
39published interface XConfiguration;
40published interface XResourceId;
41
42/** Objects of this class are used for notifying changes of the
43    configuration.
44
45    <p>They are broadcasted by the configuration controller
46    which maintains the configuration.  The set of types of configuration
47    changes is not fixed and is not maintained or documented in one
48    place.</p>
49
50    <p>The set of used members and the exact meaning of their values is not the
51    same for all types.  Therefore, the descriptions of the members are just
52    general guidelines.   See <type>XConfigurationController</type> for a
53    list of event types used by the basic drawing framework.</p>
54*/
55published struct ConfigurationChangeEvent
56     : ::com::sun::star::lang::EventObject
57{
58    /** The type of configuration change is a free-form string.  This is the
59        only member that is always set.  The values of the other members
60        depend on the configuration change type and may or may not be set.
61    */
62    string Type;
63
64    /** The current configuration, depending on the event type, either
65        before or after the change.  May be an empty reference.
66    */
67    XConfiguration Configuration;
68
69    /** The resource id that is part of the configuration change.
70    */
71    XResourceId ResourceId;
72
73    /** The resource object that corresponds to the ResourceId.  May
74        be an empty reference.
75    */
76    com::sun::star::uno::XInterface ResourceObject;
77
78    /** Each listener is called with exactly the <member>UserData</member>
79        that was given when the listener was registered.
80    */
81    any UserData;
82};
83
84}; }; }; }; }; // ::com::sun::star::drawing::framework
85
86#endif
87