Plasma
servicejob.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PLASMA_SERVICEJOB_H
00021 #define PLASMA_SERVICEJOB_H
00022
00023 #include <QtCore/QVariant>
00024
00025 #include <kjob.h>
00026 #include <kservice.h>
00027
00028 #include <plasma/plasma_export.h>
00029 #include "credentials.h"
00030
00031 namespace Plasma
00032 {
00033
00034 class ServiceJobPrivate;
00035
00054 class PLASMA_EXPORT ServiceJob : public KJob
00055 {
00056 Q_OBJECT
00057
00058 public:
00067 ServiceJob(const QString &destination, const QString &operation,
00068 const QMap<QString, QVariant> ¶meters, QObject *parent = 0);
00069
00073 ~ServiceJob();
00074
00078 QString destination() const;
00079
00083 QString operationName() const;
00084
00088 QMap<QString, QVariant> parameters() const;
00089
00093 Credentials identity() const;
00094
00106 QVariant result() const;
00107
00112 virtual void start();
00113
00114 protected:
00118 void setResult(const QVariant &result);
00119
00120 private:
00121 Q_PRIVATE_SLOT(d, void slotStart())
00122
00123 ServiceJobPrivate * const d;
00124
00125 friend class ServiceProvider;
00126 friend class RemoteServiceJob;
00127 };
00128
00129 }
00130
00131 #endif // multiple inclusion guard
00132