static inline bool valueFromVariantMap(const QVariantMap &v, const QString &key, T &value) { const QVariantMap::const_iterator it = v.constFind(key); const bool found = it != v.constEnd(); if (found) value = qVariantValue<T>(it.value()); return found; }
void ModemManager::ModemCdmaPrivate::onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps) { Q_Q(ModemCdma); Q_UNUSED(invalidatedProps); qCDebug(MMQT) << interface << properties.keys(); if (interface == QString(MMQT_DBUS_INTERFACE_MODEM_MODEMCDMA)) { QVariantMap::const_iterator it = properties.constFind(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_ACTIVATIONSTATE)); if (it != properties.constEnd()) { // Should be handled by activationStateChanged signal } it = properties.constFind(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_MEID)); if (it != properties.constEnd()) { meid = it->toString(); Q_EMIT q->meidChanged(meid); } it = properties.constFind(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_ESN)); if (it != properties.constEnd()) { esn = it->toString(); Q_EMIT q->esnChanged(esn); } it = properties.constFind(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_SID)); if (it != properties.constEnd()) { sid = it->toUInt(); Q_EMIT q->sidChanged(sid); } it = properties.constFind(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_NID)); if (it != properties.constEnd()) { nid = it->toUInt(); Q_EMIT q->nidChanged(nid); } it = properties.constFind(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_CDMA1XREGISTRATIONSTATE)); if (it != properties.constEnd()) { cdma1xRegistrationState = (MMModemCdmaRegistrationState)it->toUInt(); Q_EMIT q->cdma1xRegistrationStateChanged(cdma1xRegistrationState); } it = properties.constFind(QLatin1String(MM_MODEM_MODEMCDMA_PROPERTY_EVDOREGISTRATIONSTATE)); if (it != properties.constEnd()) { evdoRegistrationState = (MMModemCdmaRegistrationState)it->toUInt(); Q_EMIT q->evdoRegistrationStateChanged(evdoRegistrationState); } } }