File indexing completed on 2024-05-19 05:39:09

0001 /*
0002     ksmserver - the KDE session management server
0003 
0004     SPDX-FileCopyrightText: 2018 David Edmundson <davidedmundson@kde.org>
0005 
0006     SPDX-License-Identifier: MIT
0007 */
0008 
0009 #pragma once
0010 
0011 #include <QObject>
0012 #include <kworkspace.h>
0013 
0014 class Shutdown : public QObject
0015 {
0016     Q_OBJECT
0017 public:
0018     Shutdown(QObject *parent = nullptr);
0019     void logout();
0020     void logoutAndShutdown();
0021     void logoutAndReboot();
0022 private Q_SLOTS:
0023     void logoutCancelled();
0024     void logoutComplete();
0025     void ksmServerComplete();
0026 
0027 private:
0028     void startLogout(KWorkSpace::ShutdownType shutdownType);
0029     void runShutdownScripts();
0030     KWorkSpace::ShutdownType m_shutdownType;
0031 };