1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24#ifndef __com_sun_star_drawing_framework_XConfigurationControllerRequestQueue_idl__
25#define __com_sun_star_drawing_framework_XConfigurationControllerRequestQueue_idl__
26
27#ifndef __com_sun_star_uno_XInterface_idl__
28#include <com/sun/star/uno/XInterface.idl>
29#endif
30
31module com { module sun { module star { module drawing { module framework {
32
33published interface XConfigurationChangeRequest;
34
35/** The request queue of the configuration controller handles requests for
36    changes to the current configuration.
37
38    <p>This interface allows callers to add requests to the back of the
39    queue and to determine wheter the queue is empty.  Using this interace
40    should normally not be necessary for anyone else than the
41    <type>XConfigurationController</type>.  It may be removed in the future.</p>
42*/
43published interface XConfigurationControllerRequestQueue
44{
45    /** Return whether there are pending requests for configuration changes.
46        @return
47            Returns <TRUE/> when there is at least one request object in the
48            queue that has not yet been processed.  It returns <FALSE/> when
49            the queue is empty.
50    */
51    boolean hasPendingRequests ();
52
53    /** Add a request for a configuration change to the request queue.
54        <p>This method should not be called from outside the drawing
55        famework.  Other sub conrollers of the drawing framework are typical
56        callers.  They can add change requests that can not be made with the
57        <member>requestResourceActivation()</member> and
58        <member>requestResourceDeactivation()</member> methods.</p>
59        @param xRequest
60            The configuration change represented by this request object must only
61            be commited to the configuration when the
62            <member
63            scope="com::sun::star::drawing::framework::XConfigurationChangeRequest"
64            >execute()</member>
65            method of the xRequest object is called.
66    */
67    void postChangeRequest (
68        [in] XConfigurationChangeRequest xRequest);
69};
70
71}; }; }; }; }; // ::com::sun::star::drawing::framework
72
73#endif
74