Plasma/libplasma2/API Review/Service

From KDE Community Wiki

New class in QML bindings

Needed to access wether an operation is enable or not (like in the nowPlaying service

 ServiceOperationStatus {
   property bool enabled
   property Service service
   property string operation
}

Class API

Status Action Method
DONE Remove static Service *access(const QUrl &url, QObject *parent);
TO DO Remove Q_INVOKABLE void setDestination(const QString &destination); <{{{3}}}>
TO DO Remove Q_INVOKABLE QString destination() const; <{{{3}}}>
DONE Keep Q_INVOKABLE QStringList operationNames() const;
DONE Rename Q_INVOKABLE KConfigGroup operationDescription(const QString &operationName); -> QVariantMap operationDescription(const QString &operationName);
DONE Rename Q_INVOKABLE ServiceJob *startOperationCall(const KConfigGroup->QVariantMap &description, QObject *parent );
DONE Keep Q_INVOKABLE bool isOperationEnabled(const QString &operation) const;
DONE Keep Q_INVOKABLE QString name() const;
TO DO Remove Q_INVOKABLE void associateItem(QQuickItem->QObject *item, const QString &operation); <{{{3}}}>
TO DO Remove Q_INVOKABLE void disassociateItem(QQuickItem *widget); <{{{3}}}>
TO DO Remove Q_INVOKABLE QHash<QString, QVariant> parametersFromDescription(const KConfigGroup &description); <{{{3}}}>


TO DO Remove SIGNAL void operationsChanged(); <{{{3}}}>
DONE Keep SIGNAL void serviceReady(Plasma::Service *service);
TO DO Add SIGNAL void operationEnabled(const QString &operation, bool enabled); <{{{3}}}>


DONE Keep protected explicit Service(QObject *parent );
TO DO Remove protected Service(QObject *parent, const QVariantList &args); <{{{3}}}>
TO DO Parameters protected virtual ServiceJob *createJob(const QString &operation, QHash<QString, QVariant> ->QVariantMap &parameters) <{{{3}}}>


DONE Keep protected virtual void registerOperationsScheme();
DONE Keep protected void setOperationsScheme(QIODevice *xml);
DONE Keep protected void setName(const QString &name);
TO DO Multithread protected void setOperationEnabled(const QString &operation, bool enable); -> use a QRunnable here <{{{3}}}>


TO DO Remove private  Q_PRIVATE_SLOT(d, void associatedWidgetDestroyed(QObject *)) <{{{3}}}>
TO DO Remove private  Q_PRIVATE_SLOT(d, void associatedItemDestroyed(QObject *)) <{{{3}}}>