File indexing completed on 2024-04-28 16:42:54
0001 // SPDX-FileCopyrightText: 2021 Alexey Andreyev <aa13q@ya.ru> 0002 // 0003 // SPDX-License-Identifier: LicenseRef-KDE-Accepted-GPL 0004 0005 #pragma once 0006 0007 #include <QObject> 0008 0009 class ModemController; 0010 class UssdUtils; 0011 0012 class UssdManager : public QObject 0013 { 0014 Q_OBJECT 0015 0016 Q_PROPERTY(bool active READ active NOTIFY activeChanged) 0017 Q_PROPERTY(QString state READ state NOTIFY stateChanged) 0018 0019 public: 0020 explicit UssdManager(ModemController *modemController, UssdUtils *ussdUtils, QObject *parent = nullptr); 0021 0022 bool active() const; 0023 QString state() const; 0024 0025 private Q_SLOTS: 0026 void onInitiated(const QString &deviceUni, const QString &command); 0027 void onResponded(const QString &deviceUni, const QString &reply); 0028 void onCanceled(const QString &deviceUni); 0029 0030 void onStateChanged(const QString &deviceUni, const QString &state); 0031 0032 Q_SIGNALS: 0033 void activeChanged(const QString &deviceUni); 0034 void stateChanged(const QString &deviceUni, const QString &state); 0035 0036 private: 0037 UssdUtils *_ussdUtils; 0038 ModemController *_modemController; 0039 QString _state; 0040 };