/* SPDX-FileCopyrightText: 2008, 2011 Will Stephenson SPDX-FileCopyrightText: 2010 Lamarque Souza SPDX-FileCopyrightText: 2013 Lukas Tinkl SPDX-FileCopyrightText: 2013-2015 Jan Grulich SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL */ #ifndef MODEMMANAGERQT_MODEMCDMA_H #define MODEMMANAGERQT_MODEMCDMA_H #include #include #include #include #include #include "generictypes.h" #include "interface.h" namespace ModemManager { class ModemCdmaPrivate; /** * @brief The ModemCdma class * * This class provides access to specific actions that may be performed in modems with CDMA capabilities. */ class MODEMMANAGERQT_EXPORT ModemCdma : public Interface { Q_OBJECT Q_DECLARE_PRIVATE(ModemCdma) public: typedef QSharedPointer Ptr; typedef QList List; explicit ModemCdma(const QString &path, QObject *parent = nullptr); ~ModemCdma() override; /** * Provisions the modem for use with a given carrier using the modem's * Over-The-Air (OTA) activation functionality, if any. * * Some modems will reboot after this call is made. * * @param carrierCode name of carrier, or carrier-specific code */ QDBusPendingReply activate(const QString &carrierCode); /** * Sets the modem provisioning data directly, without contacting the carrier over the air. * * Some modems will reboot after this call is made. * * @param properties QVariantMap consisting of: * * "spc": The Service Programming Code, given as a string of exactly 6 digit characters. Mandatory parameter. * "sid": The System Identification Number, given as a 16-bit unsigned integer (signature "q"). Mandatory parameter. * "mdn": The Mobile Directory Number, given as a string of maximum 15 characters. Mandatory parameter. * "min": The Mobile Identification Number, given as a string of maximum 15 characters. Mandatory parameter. * "mn-ha-key": The MN-HA key, given as a string of maximum 16 characters. * "mn-aaa-key": The MN-AAA key, given as a string of maximum 16 characters. * "prl": The Preferred Roaming List, given as an array of maximum 16384 bytes. */ QDBusPendingReply activateManual(const QVariantMap &properties); /** * @return a MMModemCdmaActivationState value specifying the state of the activation in the 3GPP2 network. */ MMModemCdmaActivationState activationState() const; /** * @return the modem's Mobile Equipment Identifier. */ QString meid() const; /** * @return the modem's Electronic Serial Number (superseded by MEID but still used by older devices). */ QString esn() const; /** * @return the System Identifier of the serving CDMA 1x network, if known, and if the modem is registered with a CDMA 1x network. * @see http://ifast.org or the mobile broadband provider database for mappings of SIDs to network providers. */ uint sid() const; /** * @return the Network Identifier of the serving CDMA 1x network, if known, and if the modem is registered with a CDMA 1x network. */ uint nid() const; /** * @return a MMModemCdmaRegistrationState value specifying the CDMA 1x registration state. */ MMModemCdmaRegistrationState cdma1xRegistrationState() const; /** * @return a MMModemCdmaRegistrationState value specifying the EVDO registration state. */ MMModemCdmaRegistrationState evdoRegistrationState() const; /** * Sets the timeout in milliseconds for all async method DBus calls. * -1 means the default DBus timeout (usually 25 seconds). */ void setTimeout(int timeout); /** * Returns the current value of the DBus timeout in milliseconds. * -1 means the default DBus timeout (usually 25 seconds). */ int timeout() const; Q_SIGNALS: /** * This signal is emitted when the activation info this network changes * * @param state current activation state, given as a MMModemCdmaActivationState. * @param error carrier-specific error code, given as a MMCdmaActivationError. * @param status_changes properties that have changed as a result of this activation state change, including "mdn" and "min". * The map may be empty if the changed properties are unknown. */ void activationStateChanged(MMModemCdmaActivationState state, MMCdmaActivationError error, const QVariantMap &status_changes); void meidChanged(const QString &meid); void esnChanged(const QString &esn); void sidChanged(uint sid); void nidChanged(uint nid); void cdma1xRegistrationStateChanged(MMModemCdmaRegistrationState cdma1xRegistrationState); void evdoRegistrationStateChanged(MMModemCdmaRegistrationState evdoRegistrationState); }; } // namespace ModemManager #endif