summaryrefslogtreecommitdiffstats
path: root/src/FallbackAuth.h
blob: c3b042ce8b90880d453245e585c29f47a5c3943a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// SPDX-FileCopyrightText: Nheko Contributors
//
// SPDX-License-Identifier: GPL-3.0-or-later

#pragma once

#include <QQmlEngine>

class FallbackAuth : public QObject
{
    Q_OBJECT
    QML_ELEMENT
    QML_UNCREATABLE("")

    Q_PROPERTY(QString authType MEMBER m_authType CONSTANT)
    Q_PROPERTY(QString session MEMBER m_session CONSTANT)

public:
    FallbackAuth(const QString &session, const QString &authType, QObject *parent = nullptr);

    Q_INVOKABLE void openFallbackAuth();
    Q_INVOKABLE void confirm() { emit confirmation(); }
    Q_INVOKABLE void cancel() { emit cancelled(); }

signals:
    void confirmation();
    void cancelled();

private:
    const QString m_session;
    const QString m_authType;
};