diff --git a/api/dbus/org.desktopspec.JobManager1.Job.xml b/api/dbus/org.desktopspec.JobManager1.Job.xml index 53d849f..4848dc1 100644 --- a/api/dbus/org.desktopspec.JobManager1.Job.xml +++ b/api/dbus/org.desktopspec.JobManager1.Job.xml @@ -5,8 +5,8 @@ diff --git a/src/dbus/jobservice.cpp b/src/dbus/jobservice.cpp index 9533854..37bf501 100644 --- a/src/dbus/jobservice.cpp +++ b/src/dbus/jobservice.cpp @@ -13,21 +13,32 @@ JobService::~JobService() {} QString JobService::status() const { - // TODO: impl - return {}; + if (job.isFinished()) + return "finished"; + if (job.isCanceled()) + return "canceled"; + if (job.isSuspended()) + return "suspended"; + if (job.isSuspending()) + return "suspending"; + if (job.isStarted()) + return "started"; + if (job.isRunning()) + return "running"; + return "failed"; } void JobService::Cancel() { - // TODO: impl + job.cancel(); } void JobService::Pause() { - // TODO: impl + job.suspend(); } void JobService::Resume() { - // TODO: impl + job.resume(); } diff --git a/src/dbus/jobservice.h b/src/dbus/jobservice.h index 146060c..fbf97d6 100644 --- a/src/dbus/jobservice.h +++ b/src/dbus/jobservice.h @@ -6,6 +6,8 @@ #define JOBSERVICE_H #include +#include +#include class JobService : public QObject { @@ -22,6 +24,9 @@ public Q_SLOTS: void Cancel(); void Pause(); void Resume(); + +private: + QFuture job; }; #endif