File indexing completed on 2024-04-28 03:59:49

0001 /*
0002     SPDX-FileCopyrightText: 2015 Jan Grulich <jgrulich@redhat.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #ifndef MODEMMANAGERQT_FAKE_MODEM_MODEM_OMA_H
0008 #define MODEMMANAGERQT_FAKE_MODEM_MODEM_OMA_H
0009 
0010 #include "generictypes.h"
0011 
0012 #include <QDBusAbstractAdaptor>
0013 
0014 class ModemOma : public QDBusAbstractAdaptor
0015 {
0016     Q_OBJECT
0017     Q_CLASSINFO("D-Bus Interface", "org.kde.fakemodem.Modem.Oma")
0018 public:
0019     explicit ModemOma(QObject *parent = nullptr);
0020     ~ModemOma() override;
0021 
0022     Q_PROPERTY(uint Features READ features)
0023     Q_PROPERTY(ModemManager::OmaSessionTypes PendingNetworkInitiatedSessions READ pendingNetworkInitiatedSessions)
0024     Q_PROPERTY(int SessionState READ sessionState)
0025     Q_PROPERTY(uint SessionType READ sessionType)
0026 
0027     uint features() const;
0028     ModemManager::OmaSessionTypes pendingNetworkInitiatedSessions() const;
0029     int sessionState() const;
0030     uint sessionType() const;
0031 
0032     /* Not part of dbus interface */
0033     void setModemPath(const QString &path);
0034     void setEnableNotifications(bool enable);
0035     void setFeatures(uint features);
0036     void setPendingNetworkInitiatedSessions(const ModemManager::OmaSessionTypes &sessions);
0037     void setSessionState(int state);
0038     void setSessionType(uint type);
0039 
0040     QVariantMap toMap() const;
0041 
0042 public Q_SLOTS:
0043     Q_SCRIPTABLE void AcceptNetworkInitiatedSession(uint session_id, bool accept);
0044     Q_SCRIPTABLE void CancelSession();
0045     Q_SCRIPTABLE void Setup(uint features);
0046     Q_SCRIPTABLE void StartClientInitiatedSession(uint session_type);
0047 
0048 Q_SIGNALS: // SIGNALS
0049     Q_SCRIPTABLE void SessionStateChanged(int old_session_state, int new_session_state, uint session_state_failed_reason);
0050 
0051 private:
0052     QString m_modemPath;
0053     bool m_enabledNotifications;
0054     uint m_features;
0055     ModemManager::OmaSessionTypes m_sessions;
0056     int m_sessionState;
0057     uint m_sessionType;
0058 };
0059 
0060 #endif