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#ifndef __com_sun_star_frame_XSessionManagerClient_idl__
24#define __com_sun_star_frame_XSessionManagerClient_idl__
25
26#ifndef __com_sun_star_frame_XSessionManagerListener_idl__
27#include <com/sun/star/frame/XSessionManagerListener.idl>
28#endif
29
30//=============================================================================
31
32module com {  module sun {  module star {  module frame {
33
34//=============================================================================
35/** Connect to a session manager to get information about pending
36    desktop shutdown
37
38 */
39    interface XSessionManagerClient : com::sun::star::uno::XInterface
40    {
41
42        /** addSessionManagerListener registers a listener for session management events
43
44        @param xListener
45        listener for session management events
46
47        @see XSessionManagerListener
48        @see XSessionManagerClient::removeSessionManagerListener()
49        */
50        [oneway] void addSessionManagerListener( [in] XSessionManagerListener xListener );
51
52        /** removeSessionManagerListener deregisters a listener for session events
53
54        @param xListener
55            listener to be removed
56
57        @see XSessionManagerListener
58        @see XSessionManagerClient::addSessionManagerListener()
59        */
60        [oneway] void removeSessionManagerListener( [in] XSessionManagerListener xListener );
61
62        /** queryInteraction issues a request for a user interaction slot
63            from the session manager
64
65        @param xListener
66        the listener requesting user interaction
67
68        @see XSessionManagerListener
69        */
70        [oneway] void queryInteraction( [in] XSessionManagerListener xListener );
71
72        /** interactionDone is called when a listener has finished user interaction
73
74        @param xListener
75        the listener done with user interaction
76
77        @see XSessionManagerListener
78        */
79        [oneway] void interactionDone( [in] XSessionManagerListener xListener );
80
81        /** saveDone signals that a listener has processed a save request
82
83        @param listener
84        the listener having finished save request processing
85
86        @see XSessionManagerListener
87        */
88        [oneway] void saveDone( [in] XSessionManagerListener xListener );
89
90        /** Call cancelShutdown to try to cancel a desktop shutdown in progress
91
92        @returns
93        <TRUE/> if shutdown was canceled,
94        <FALSE/> else.
95        */
96        boolean cancelShutdown();
97    };
98
99}; }; }; };
100
101
102#endif
103