Unit::Ptr SystemdPrivate::getUnit(const QString &name) { Unit::Ptr unit; QDBusPendingReply<QDBusObjectPath> reply = isdface.GetUnit(name); reply.waitForFinished(); if (reply.isError()) { qDebug() << reply.error().message(); } else if (! reply.reply().arguments().isEmpty()) { QString unitPath = qdbus_cast<QDBusObjectPath>(reply.reply().arguments().first()).path(); unit = Unit::Ptr(new Unit(unitPath), &QObject::deleteLater); } return unit; }
Job::Ptr SystemdPrivate::getJob(const uint id) { Job::Ptr job; QDBusPendingReply<QDBusObjectPath> reply = isdface.GetJob(id); reply.waitForFinished(); if (reply.isError()) { qDebug() << reply.error().message(); } else if (! reply.reply().arguments().isEmpty()) { QString jobPath = qdbus_cast<QDBusObjectPath>(reply.reply().arguments().first()).path(); job = Job::Ptr(new Job(jobPath), &QObject::deleteLater); } return job; }
void QBluetoothTransferReplyBluez::sessionStarted(QDBusPendingCallWatcher *watcher) { QDBusPendingReply<QDBusObjectPath, QVariantMap> reply = *watcher; if (reply.isError()) { qCWarning(QT_BT_BLUEZ) << "Failed to start obex session:" << reply.error().name() << reply.reply().errorMessage(); m_errorStr = QBluetoothTransferReply::tr("Push session cannot be started"); m_error = QBluetoothTransferReply::SessionError; m_finished = true; m_running = false; cleanupSession(); emit QBluetoothTransferReply::error(m_error); emit finished(this); watcher->deleteLater(); return; } const QDBusObjectPath path = reply.argumentAt<0>(); const QVariantMap map = reply.argumentAt<1>(); m_transfer_path = path.path(); //watch the transfer OrgFreedesktopDBusPropertiesInterface *properties = new OrgFreedesktopDBusPropertiesInterface( QStringLiteral("org.bluez.obex"), path.path(), QDBusConnection::sessionBus(), this); connect(properties, SIGNAL(PropertiesChanged(QString,QVariantMap,QStringList)), SLOT(sessionChanged(QString,QVariantMap,QStringList))); watcher->deleteLater(); }
void QBluetoothTransferReplyBluez::sessionCreated(QDBusPendingCallWatcher *watcher) { QDBusPendingReply<QDBusObjectPath> reply = *watcher; if (reply.isError()) { qCWarning(QT_BT_BLUEZ) << "Failed to create obex session:" << reply.error().name() << reply.reply().errorMessage(); m_errorStr = QBluetoothTransferReply::tr("Invalid target address"); m_error = QBluetoothTransferReply::HostNotFoundError; m_finished = true; m_running = false; emit QBluetoothTransferReply::error(m_error); emit finished(this); watcher->deleteLater(); return; } m_objectPushBluez = new OrgBluezObexObjectPush1Interface(QStringLiteral("org.bluez.obex"), reply.value().path(), QDBusConnection::sessionBus(), this); QDBusPendingReply<QDBusObjectPath, QVariantMap> newReply = m_objectPushBluez->SendFile(fileToTranser); QDBusPendingCallWatcher *newWatcher = new QDBusPendingCallWatcher(newReply, this); connect(newWatcher, SIGNAL(finished(QDBusPendingCallWatcher*)), SLOT(sessionStarted(QDBusPendingCallWatcher*))); watcher->deleteLater(); }
QString SystemdPrivate::getUnitFileState(const QString& file) { QDBusPendingReply<QString> reply = isdface.GetUnitFileState(file); reply.waitForFinished(); if (reply.isError()) { qDebug() << reply.error().message(); } return qdbus_cast<QString>(reply.reply().arguments().first()); }
QString Systemd::SystemdPrivate::getUnit(const QString &name) { QDBusPendingReply<QDBusObjectPath> reply = isdface.GetUnit(name); reply.waitForFinished(); if (reply.isError()) { qDebug() << reply.error().message(); return QString(); } return qdbus_cast<QDBusObjectPath>(reply.reply().arguments().first()).path(); }
QList<Systemd::Job*> Systemd::SystemdPrivate::listJobs() { qDBusRegisterMetaType<ManagerDBusJob>(); qDBusRegisterMetaType<ManagerDBusJobList>(); QDBusPendingReply<ManagerDBusJobList> reply = isdface.ListJobs(); reply.waitForFinished(); if (reply.isError()) { qDebug() << reply.error().message(); return QList<Systemd::Job*>(); } QList<Systemd::Job*> queued; const QDBusMessage message = reply.reply(); if (message.type() == QDBusMessage::ReplyMessage) { const ManagerDBusJobList jobs = qdbus_cast<ManagerDBusJobList>(message.arguments().first()); Q_FOREACH(const ManagerDBusJob job, jobs) { queued.append(new Systemd::Job(job.path.path())); } }
QList<Job::Ptr> SystemdPrivate::listJobs() { QList<Job::Ptr> jobs; qDBusRegisterMetaType<ManagerDBusJob>(); qDBusRegisterMetaType<ManagerDBusJobList>(); QDBusPendingReply<ManagerDBusJobList> reply = isdface.ListJobs(); reply.waitForFinished(); if (reply.isError()) { qDebug() << reply.error().message(); } else { const QDBusMessage message = reply.reply(); if (message.type() == QDBusMessage::ReplyMessage) { const ManagerDBusJobList queued = qdbus_cast<ManagerDBusJobList>(message.arguments().first()); Q_FOREACH(const ManagerDBusJob job, queued) { jobs.append(Job::Ptr(new Job(job.path.path()), &QObject::deleteLater)); } } }