From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- .../com/sun/star/frame/XSessionManagerListener.idl | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 offapi/com/sun/star/frame/XSessionManagerListener.idl (limited to 'offapi/com/sun/star/frame/XSessionManagerListener.idl') diff --git a/offapi/com/sun/star/frame/XSessionManagerListener.idl b/offapi/com/sun/star/frame/XSessionManagerListener.idl new file mode 100644 index 000000000..d82e7b091 --- /dev/null +++ b/offapi/com/sun/star/frame/XSessionManagerListener.idl @@ -0,0 +1,94 @@ +/* -*- 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 . + */ +#ifndef __com_sun_star_frame_XSessionManagerListener_idl__ +#define __com_sun_star_frame_XSessionManagerListener_idl__ + +#include + +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 + +

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

+ +

When the save request is processed (with or without + user interaction) the listener must call + XSessionManagerClient::saveDone() + on the session manager client service object.

+ + @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 + +

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.

+ + @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(); + }; + +}; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3