/* * Copyright 2009 Rob Scheepmaker #include "service.h" #include namespace Plasma { class ServiceAccessJobPrivate; /** * @class ServiceAccessJob plasma/serviceaccessjob.h * * @short This class is used for asynchronously accessing a job published on a remote system. After * calling AccessManager::accessService, monitor this job to track when the remote service is ready * to be used, and to obtain the service when finished. */ class PLASMA_EXPORT ServiceAccessJob : public KJob { Q_OBJECT public: ~ServiceAccessJob(); Service *service() const; protected: /** * Default constructor * * @param location the location of the service * @param parent the parent object for this service */ ServiceAccessJob(const QUrl& location, QObject *parent = 0); void start(); private: Q_PRIVATE_SLOT(d, void slotStart()) Q_PRIVATE_SLOT(d, void slotServiceReady()) ServiceAccessJobPrivate * const d; friend class AccessManager; friend class AccessManagerPrivate; friend class ServiceAccessJobPrivate; }; } // namespace Plasma #endif // multiple inclusion guard