File indexing completed on 2024-05-05 05:28:46

0001 // SPDX-FileCopyrightText: 2021 Jonah BrĂ¼chert <jbb@kaidan.im>
0002 //
0003 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 
0005 #pragma once
0006 
0007 #include <QObject>
0008 
0009 #include "daemoninterface.h"
0010 
0011 #include <database.h>
0012 
0013 #include <optional>
0014 
0015 class ChannelHandler : public QObject
0016 {
0017     Q_OBJECT
0018 
0019 public:
0020     explicit ChannelHandler(QObject *parent = nullptr);
0021 
0022     Database &database();
0023     org::kde::spacebar::Daemon *interface();
0024 
0025 private:
0026     Database m_database;
0027     org::kde::spacebar::Daemon *m_interface;
0028 
0029 Q_SIGNALS:
0030     void handlerReady();
0031     void channelOpen(const QString &phoneNumber);
0032     void messagesChanged(const PhoneNumberList &phoneNumberList);
0033 };