/* * Copyright © 2009 Rob Scheepmaker * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License version 2 as * published by the Free Software Foundation * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef PLASMOIDSERVICE_H #define PLASMOIDSERVICE_H #include "dataengineconsumer.h" #include "../package.h" #include "../service.h" #include "../servicejob.h" #include namespace Plasma { class Applet; class DataEngine; class GetSource; class PlasmoidService; class PlasmoidServiceJob : public ServiceJob { Q_OBJECT public: PlasmoidServiceJob(const QString &destination, const QString &operation, QHash& parameters, PlasmoidService *parent); void start(); private: PlasmoidService *m_service; QString m_pluginName; }; class PlasmoidService : public Service, DataEngineConsumer { Q_OBJECT public: PlasmoidService(Applet *applet); protected: Plasma::ServiceJob* createJob(const QString& operation, QHash& parameters); private: QString m_packagePath; QString m_metadata; QString m_pluginName; QTemporaryFile m_tempFile; friend class PlasmoidServiceJob; }; } #endif