File indexing completed on 2024-05-12 15:48:11

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 <QObject>
0013 
0014 #include <QDBusObjectPath>
0015 
0016 class ModemOma : public QDBusAbstractAdaptor
0017 {
0018     Q_OBJECT
0019     Q_CLASSINFO("D-Bus Interface", "org.kde.fakemodem.Modem.Oma")
0020 public:
0021     explicit ModemOma(QObject *parent = nullptr);
0022     ~ModemOma() override;
0023 
0024     Q_PROPERTY(uint Features READ features)
0025     Q_PROPERTY(ModemManager::OmaSessionTypes PendingNetworkInitiatedSessions READ pendingNetworkInitiatedSessions)
0026     Q_PROPERTY(int SessionState READ sessionState)
0027     Q_PROPERTY(uint SessionType READ sessionType)
0028 
0029     uint features() const;
0030     ModemManager::OmaSessionTypes pendingNetworkInitiatedSessions() const;
0031     int sessionState() const;
0032     uint sessionType() const;
0033 
0034     /* Not part of dbus interface */
0035     void setModemPath(const QString &path);
0036     void setEnableNotifications(bool enable);
0037     void setFeatures(uint features);
0038     void setPendingNetworkInitiatedSessions(const ModemManager::OmaSessionTypes &sessions);
0039     void setSessionState(int state);
0040     void setSessionType(uint type);
0041 
0042     QVariantMap toMap() const;
0043 
0044 public Q_SLOTS:
0045     Q_SCRIPTABLE void AcceptNetworkInitiatedSession(uint session_id, bool accept);
0046     Q_SCRIPTABLE void CancelSession();
0047     Q_SCRIPTABLE void Setup(uint features);
0048     Q_SCRIPTABLE void StartClientInitiatedSession(uint session_type);
0049 
0050 Q_SIGNALS: // SIGNALS
0051     Q_SCRIPTABLE void SessionStateChanged(int old_session_state, int new_session_state, uint session_state_failed_reason);
0052 
0053 private:
0054     QString m_modemPath;
0055     bool m_enabledNotifications;
0056     uint m_features;
0057     ModemManager::OmaSessionTypes m_sessions;
0058     int m_sessionState;
0059     uint m_sessionType;
0060 };
0061 
0062 #endif