KWin
Loading...
Searching...
No Matches
session.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include "effect/globals.h"
10
11#include <QObject>
12#include <QString>
13
14#include <memory>
15#include <sys/types.h>
16
17namespace KWin
18{
19
27class KWIN_EXPORT Session : public QObject
28{
29 Q_OBJECT
30
31public:
35 enum class Type {
36 Noop,
37 ConsoleKit,
38 Logind,
39 };
40
44 enum class Capability : uint {
45 SwitchTerminal = 0x1,
46 };
47 Q_DECLARE_FLAGS(Capabilities, Capability)
48
49 static std::unique_ptr<Session> create();
50 static std::unique_ptr<Session> create(Type type);
51
55 virtual bool isActive() const = 0;
56
60 virtual Capabilities capabilities() const = 0;
61
65 virtual QString seat() const = 0;
66
70 virtual uint terminal() const = 0;
71
76 virtual int openRestricted(const QString &fileName) = 0;
77
81 virtual void closeRestricted(int fileDescriptor) = 0;
82
87 virtual void switchTo(uint terminal) = 0;
88
89Q_SIGNALS:
93 void awoke();
97 void activeChanged(bool active);
98
102 void deviceResumed(dev_t deviceId);
103
111 void devicePaused(dev_t deviceId);
112
113protected:
114 explicit Session() = default;
115};
116
117} // namespace KWin
118
119Q_DECLARE_OPERATORS_FOR_FLAGS(KWin::Session::Capabilities)
void activeChanged(bool active)
virtual int openRestricted(const QString &fileName)=0
virtual uint terminal() const =0
void devicePaused(dev_t deviceId)
virtual bool isActive() const =0
virtual void switchTo(uint terminal)=0
void deviceResumed(dev_t deviceId)
virtual Capabilities capabilities() const =0
virtual QString seat() const =0
Session()=default
virtual void closeRestricted(int fileDescriptor)=0