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;
DONE Remove Q_INVOKABLE void associateItem(QQuickItem->QObject *item, const QString &operation);
DONE Remove Q_INVOKABLE void disassociateItem(QQuickItem *widget);
DONE Remove Q_INVOKABLE QHash<QString, QVariant> parametersFromDescription(const KConfigGroup &description);


DONE Remove SIGNAL void operationsChanged();
DONE Keep SIGNAL void serviceReady(Plasma::Service *service);
DONE Add SIGNAL void operationEnabledChanged(const QString &operation, bool enabled);


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


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}}}>


DONE Remove private  Q_PRIVATE_SLOT(d, void associatedWidgetDestroyed(QObject *))
DONE Remove private  Q_PRIVATE_SLOT(d, void associatedItemDestroyed(QObject *))