// Copyright 2008 Simon Edwards // Generated by twine // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU Library General Public License as // published by the Free Software Foundation; either version 2, or // (at your option) any later version. // 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. namespace Plasma { class Service : QObject { %TypeHeaderCode #include %End public: static Plasma::Service* load (const QString& name, QObject* parent /Transfer/ = 0); void setDestination (const QString& destination); QString destination () const; QStringList operationNames () const; KConfigGroup operationDescription (const QString& operationName); Plasma::ServiceJob* startOperationCall (const KConfigGroup& description, QObject* parent /Transfer/ = 0); bool isOperationEnabled (const QString& operation) const; QString name () const; void associateWidget (QWidget* widget, const QString& operation); void disassociateWidget (QWidget* widget); void associateWidget (QGraphicsWidget* widget, const QString& operation); void disassociateWidget (QGraphicsWidget* widget); signals: void finished (Plasma::ServiceJob* job); void operationsChanged (); protected: explicit Service (QObject* parent /TransferThis/ = 0); Service (QObject* parent /TransferThis/, const QVariantList& args); virtual Plasma::ServiceJob* createJob (const QString& operation, QMap& parameters)=0; virtual void registerOperationsScheme (); void setOperationsScheme (QIODevice* xml); void setName (const QString& name); void setOperationEnabled (const QString& operation, bool enable); public: ~Service (); QMap parametersFromDescription (const KConfigGroup& description); signals: void serviceReady (Plasma::Service* service); public: static Plasma::Service* load (const QString& name, const QVariantList& args, QObject* parent /Transfer/ = 0); }; // Service }; // Plasma