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