diff options
Diffstat (limited to 'offapi/com/sun/star/frame/XSessionManagerListener.idl')
-rw-r--r-- | offapi/com/sun/star/frame/XSessionManagerListener.idl | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/offapi/com/sun/star/frame/XSessionManagerListener.idl b/offapi/com/sun/star/frame/XSessionManagerListener.idl new file mode 100644 index 0000000000..c3c46b2e73 --- /dev/null +++ b/offapi/com/sun/star/frame/XSessionManagerListener.idl @@ -0,0 +1,88 @@ +/* -*- 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 . + */ + +module com { module sun { module star { module frame { + + interface XSessionManagerListener : com::sun::star::lang::XEventListener + { + + /** doSave gets called when a save event was issued by the session manager + the listener should do what is necessary to restore + the current state of the application + + <p>If the listener desires to interact with the user + it must first issue a user interaction request and + only do so if interaction was granted</p> + + <p>When the save request is processed (with or without + user interaction) the listener must call + XSessionManagerClient::saveDone() + on the session manager client service object.</p> + + @param bShutdown + `TRUE` if a shutdown is in progress, + `FALSE` if just a save point was requested + + @param bCancelable + `TRUE` if a shutdown in progress can be canceled by the listener, + `FALSE` else + + <p>the listener may choose to ignore the saveDone() + event in case no real shutdown is in progress. He + still has to call + XSessionManagerClient::saveDone() + in that case.</p> + + @see XSessionManagerClient + @see XSessionManagerClient::saveDone() + */ + void doSave( [in] boolean bShutdown, [in] boolean bCancelable ); + + /** approveInteraction is called when an outstanding + interaction request was processed by the session manager + + @param bInteractionGranted + If `FALSE` the listener must not interact with the user. + If `TRUE` the listener can interact with the user now. + After interaction the listener must call + XSessionManagerClient::interactionDone() + on the session manager client service object. + + @see XSessionManagerClient + @see XSessionManagerClient::interactionDone() + */ + void approveInteraction( [in] boolean bInteractionGranted ); + + /** shutdownCanceled is called when a shutdown was canceled by the user + The listener can cancel his saving operations. No + further interaction is necessary and further calls + on the session manager client service object will + be ignored. + */ + void shutdownCanceled(); + + /** returns true, if a session was restored + */ + boolean doRestore(); + }; + +}; }; }; }; + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |