void QOfonoRadioSettings::setModemPath(const QString &path) { if (path == d_ptr->modemPath || path.isEmpty()) return; QStringList removedProperties = d_ptr->properties.keys(); delete d_ptr->radioSettings; d_ptr->radioSettings = new OfonoRadioSettings("org.ofono", path, QDBusConnection::systemBus(),this); if (d_ptr->radioSettings->isValid()) { d_ptr->modemPath = path; connect(d_ptr->radioSettings,SIGNAL(PropertyChanged(QString,QDBusVariant)), this,SLOT(propertyChanged(QString,QDBusVariant))); QVariantMap properties = d_ptr->radioSettings->GetProperties().value(); for (QVariantMap::ConstIterator it = properties.constBegin(); it != properties.constEnd(); ++it) { updateProperty(it.key(), it.value()); removedProperties.removeOne(it.key()); } Q_EMIT modemPathChanged(path); } foreach (const QString &p, removedProperties) updateProperty(p, QVariant()); }
void QOfonoCallForwarding::setModemPath(const QString &path) { if (path == d_ptr->modemPath || path.isEmpty()) return; if (path != modemPath()) { if (d_ptr->callForward) { delete d_ptr->callForward; d_ptr->callForward = 0; d_ptr->properties.clear(); } d_ptr->callForward = new OfonoCallForwarding("org.ofono", path, QDBusConnection::systemBus(),this); if (d_ptr->callForward->isValid()) { d_ptr->modemPath = path; connect(d_ptr->callForward,SIGNAL(PropertyChanged(QString,QDBusVariant)), this,SLOT(propertyChanged(QString,QDBusVariant))); QDBusPendingReply<QVariantMap> reply = d_ptr->callForward->GetProperties(); QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(reply, this); connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), SLOT(getPropertiesComplete(QDBusPendingCallWatcher*))); Q_EMIT modemPathChanged(path); } } }
void QOfonoHandsfreeAudioCard::setModemPath(const QString &path) { if (path == d_ptr->modemPath || path.isEmpty()) return; if (path != modemPath()) { if (d_ptr->ofonoHandsfreeAudioCard) { delete d_ptr->ofonoHandsfreeAudioCard; d_ptr->ofonoHandsfreeAudioCard = 0; d_ptr->properties.clear(); } d_ptr->modemPath = path; d_ptr->ofonoHandsfreeAudioCard = new OfonoHandsfreeAudioCard("org.ofono", path, QDBusConnection::systemBus(),this); if (d_ptr->ofonoHandsfreeAudioCard) { QDBusPendingReply<QVariantMap> reply; reply = d_ptr->ofonoHandsfreeAudioCard->GetProperties(); reply.waitForFinished(); d_ptr->properties = reply.value(); Q_EMIT modemPathChanged(path); } } }
void QOfonoCallMeter::setModemPath(const QString &path) { if (path == d_ptr->modemPath || path.isEmpty()) return; if (path != modemPath()) { if (d_ptr->callMeter) { delete d_ptr->callMeter; d_ptr->callMeter = 0; d_ptr->properties.clear(); } d_ptr->callMeter = new OfonoCallMeter("org.ofono", path, QDBusConnection::systemBus(),this); if (d_ptr->callMeter->isValid()) { d_ptr->modemPath = path; connect(d_ptr->callMeter,SIGNAL(PropertyChanged(QString,QDBusVariant)), this,SLOT(propertyChanged(QString,QDBusVariant))); connect(d_ptr->callMeter,SIGNAL(NearMaximumWarning()),this,SIGNAL(nearMaximumWarning())); QDBusPendingReply<QVariantMap> reply; reply = d_ptr->callMeter->GetProperties(); reply.waitForFinished(); d_ptr->properties = reply.value(); Q_EMIT modemPathChanged(path); } } }
void QOfonoModemInterface::objectPathChanged(const QString &path, const QVariantMap *) { // The base implementation would immediately create the D-Bus interface // object. However we need to check if our interface is actually available // and postpone creation of the D-Bus interface object if our interface // isn't there (see onModemInterfacesChanged below) bool wasReady = isReady(); Private *d_ptr = privateData(); if (!d_ptr->modem.isNull()) { disconnect(d_ptr->modem.data(), SIGNAL(interfacesChanged(QStringList)), this, SLOT(onModemInterfacesChanged(QStringList))); d_ptr->modem.reset(); } setDbusInterface(NULL, NULL); d_ptr->modem = QOfonoModem::instance(objectPath()); connect(d_ptr->modem.data(), SIGNAL(interfacesChanged(QStringList)), this, SLOT(onModemInterfacesChanged(QStringList))); Q_EMIT modemPathChanged(path); onModemInterfacesChanged(d_ptr->modem->interfaces()); if (wasReady != isReady()) { Q_EMIT readyChanged(); } }
void QOfonoModem::setModemPath(const QString &path) { if (path != modemPath()) { d_ptr->modemPath = path; connectOfono(); Q_EMIT modemPathChanged(path); } }
void QOfonoConnectionContext::setContextPath(const QString &idPath) { if (idPath != contextPath()) { if(d_ptr->context) { delete d_ptr->context; d_ptr->context = 0; d_ptr->properties.clear(); } qDebug() << Q_FUNC_INFO; d_ptr->context = new OfonoConnectionContext("org.ofono", idPath, QDBusConnection::systemBus(),this); if (d_ptr->context->isValid()) { d_ptr->contextPath = idPath; connect(d_ptr->context,SIGNAL(PropertyChanged(QString,QDBusVariant)), this,SLOT(propertyChanged(QString,QDBusVariant))); QDBusPendingReply<QVariantMap> reply; reply = d_ptr->context->GetProperties(); reply.waitForFinished(); if (reply.isError()) Q_EMIT reportError(reply.error().message()); d_ptr->properties = reply.value(); Q_EMIT contextPathChanged(idPath); } else { Q_EMIT reportError("Context is not valid"); qDebug() << Q_FUNC_INFO << "error Context is not valid"; } QOfonoManager manager; if (manager.modems().count() > 0) { QOfonoConnectionManager connManager; Q_FOREACH (const QString &path, manager.modems()) { connManager.setModemPath(path); if (connManager.contexts().contains(idPath)) { d_ptr->modemPath = path; Q_EMIT modemPathChanged(path); break; } } } /* if (!validateProvisioning()) { provisionForCurrentNetwork(this->type()); } else { Q_EMIT reportError("Context provision is not valid"); qDebug() << Q_FUNC_INFO << "error Context provision is not valid"; } */ }
void QOfonoCallSettings::setModemPath(const QString &path) { if (path == d_ptr->modemPath || path.isEmpty()) return; if (!d_ptr->modem.isNull()) disconnect(d_ptr->modem.data(), SIGNAL(interfacesChanged(QStringList)), this, SLOT(modemInterfacesChanged(QStringList))); d_ptr->modemPath = path; connectOfono(); d_ptr->modem = QOfonoModem::instance(path); connect(d_ptr->modem.data(), SIGNAL(interfacesChanged(QStringList)), this, SLOT(modemInterfacesChanged(QStringList))); Q_EMIT modemPathChanged(path); }
void QOfonoPhonebook::setModemPath(const QString &path) { if (path == d_ptr->modemPath || path.isEmpty()) return; if (path != modemPath()) { if (d_ptr->phonebook) { delete d_ptr->phonebook; d_ptr->phonebook = 0; } d_ptr->phonebook = new OfonoPhonebook("org.ofono", path, QDBusConnection::systemBus(),this); if (d_ptr->phonebook->isValid()) { d_ptr->modemPath = path; Q_EMIT modemPathChanged(path); } } }