• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

Plasma

Plasma::Service

Plasma::Service Class Reference

This class provides a generic API for write access to settings or services. More...

#include <Plasma/Service>

Inheritance diagram for Plasma::Service:
QObject

List of all members.

Signals

void finished (Plasma::ServiceJob *job)
void operationsChanged ()

Public Member Functions

Q_INVOKABLE void associateWidget (QGraphicsWidget *widget, const QString &operation)
Q_INVOKABLE void associateWidget (QWidget *widget, const QString &operation)
Q_INVOKABLE QString destination () const
Q_INVOKABLE void disassociateWidget (QGraphicsWidget *widget)
Q_INVOKABLE void disassociateWidget (QWidget *widget)
Q_INVOKABLE bool isOperationEnabled (const QString &operation) const
Q_INVOKABLE QString name () const
Q_INVOKABLE KConfigGroup operationDescription (const QString &operationName)
Q_INVOKABLE QStringList operationNames () const
Q_INVOKABLE void setDestination (const QString &destination)
Q_INVOKABLE ServiceJob * startOperationCall (const KConfigGroup &description, QObject *parent=0)
 ~Service ()

Static Public Member Functions

static Service * load (const QString &name, QObject *parent=0)

Protected Member Functions

virtual ServiceJob * createJob (const QString &operation, QMap< QString, QVariant > &parameters)=0
virtual void registerOperationsScheme ()
 Service (QObject *parent, const QVariantList &args)
 Service (QObject *parent=0)
void setName (const QString &name)
void setOperationEnabled (const QString &operation, bool enable)
void setOperationsScheme (QIODevice *xml)

Detailed Description

This class provides a generic API for write access to settings or services.

Plasma::Service allows interaction with a "destination", the definition of which depends on the Service itself. For a network settings Service this might be a profile name ("Home", "Office", "Road Warrior") while a web based Service this might be a username ("aseigo", "stranger65").

A Service provides one or more operations, each of which provides some sort of interaction with the destination. Operations are described using config XML which is used to create a KConfig object with one group per operation. The group names are used as the operation names, and the defined items in the group are the parameters available to be set when using that operation.

A service is started with a KConfigGroup (representing a ready to be serviced operation) and automatically deletes itself after completion and signaling success or failure. See KJob for more information on this part of the process.

Services may either be loaded "stand alone" from plugins, or from a DataEngine by passing in a source name to be used as the destination.

Sample use might look like:

 Plasma::DataEngine *twitter = dataEngine("twitter");
 Plasma::Service *service = twitter.serviceForSource("aseigo");
 KConfigGroup op = service->operationDescription("update");
 op.writeEntry("tweet", "Hacking on plasma!");
 Plasma::ServiceJob *job = service->startOperationCall(op);
 connect(job, SIGNAL(finished(KJob*)), this, SLOT(jobCompeted()));

Definition at line 75 of file service.h.


Constructor & Destructor Documentation

Plasma::Service::~Service (  ) 

Destructor.

Definition at line 53 of file service.cpp.

Plasma::Service::Service ( QObject *  parent = 0  )  [explicit, protected]

Default constructor.

  • parent the parent object for this service

Definition at line 40 of file service.cpp.

Plasma::Service::Service ( QObject *  parent,
const QVariantList &  args 
) [protected]

Constructor for plugin loading.

Definition at line 46 of file service.cpp.


Member Function Documentation

void Plasma::Service::associateWidget ( QGraphicsWidget *  widget,
const QString &  operation 
)

Assoicates a widget with an operation, which allows the service to automatically manage, for example, the enabled state of a widget.

This will remove any previous associations the widget had with operations on this engine.

Parameters:
widget the QGraphicsItem to associate with the service
operation the operation to associate the widget with

Definition at line 182 of file service.cpp.

void Plasma::Service::associateWidget ( QWidget *  widget,
const QString &  operation 
)

Assoicates a widget with an operation, which allows the service to automatically manage, for example, the enabled state of a widget.

This will remove any previous associations the widget had with operations on this engine.

Parameters:
widget the QWidget to associate with the service
operation the operation to associate the widget with

Definition at line 166 of file service.cpp.

virtual ServiceJob* Plasma::Service::createJob ( const QString &  operation,
QMap< QString, QVariant > &  parameters 
) [protected, pure virtual]

Called when a job should be created by the Service.

Parameters:
operation which operation to work on
parameters the parameters set by the user for the operation
Returns:
a ServiceJob that can be started and monitored by the consumer
QString Plasma::Service::destination (  )  const
Returns:
the target destination, if any, that this service is associated with

Definition at line 100 of file service.cpp.

void Plasma::Service::disassociateWidget ( QGraphicsWidget *  widget  ) 

Disassociates a widget if it has been associated with an operation on this service.

This will not change the enabled state of the widget.

Parameters:
widget the QGraphicsWidget to disassociate.

Definition at line 192 of file service.cpp.

void Plasma::Service::disassociateWidget ( QWidget *  widget  ) 

Disassociates a widget if it has been associated with an operation on this service.

This will not change the enabled state of the widget.

Parameters:
widget the QWidget to disassociate.

Definition at line 175 of file service.cpp.

void Plasma::Service::finished ( Plasma::ServiceJob *  job  )  [signal]

Emitted when a job associated with this Service completes its task.

bool Plasma::Service::isOperationEnabled ( const QString &  operation  )  const

Query to find if an operation is enabled or not.

Parameters:
operation the name of the operation to check
Returns:
true if the operation is enabled, false otherwise

Definition at line 254 of file service.cpp.

Service * Plasma::Service::load ( const QString &  name,
QObject *  parent = 0 
) [static]

Used to load a given service from a plugin.

Parameters:
name the plugin name of the service to load
parent the parent object, if any, for the service
Returns:
a Service object, guaranteed to be not null.

Definition at line 58 of file service.cpp.

QString Plasma::Service::name (  )  const

The name of this service.

Definition at line 199 of file service.cpp.

KConfigGroup Plasma::Service::operationDescription ( const QString &  operationName  ) 

Retrieves the parameters for a given operation.

Parameters:
operationName the operation to retrieve parameters for
Returns:
KConfigGroup containing the parameters

Definition at line 115 of file service.cpp.

QStringList Plasma::Service::operationNames (  )  const
Returns:
the possible operations for this profile

Definition at line 105 of file service.cpp.

void Plasma::Service::operationsChanged (  )  [signal]

Emitted when the Service's operations change.

For example, a media player service may change what operations are available in response to the state of the player.

void Plasma::Service::registerOperationsScheme (  )  [protected, virtual]

By default this is based on the file in plasma/services/name.operations, but can be reimplented to use a different mechanism.

It should result in a call to setOperationsScheme(QIODevice *);

Definition at line 295 of file service.cpp.

void Plasma::Service::setDestination ( const QString &  destination  ) 

Sets the destination for this Service to operate on.

  • destination specific to each Service, this sets which target or address for ServiceJobs to operate on

Definition at line 95 of file service.cpp.

void Plasma::Service::setName ( const QString &  name  )  [protected]

Sets the name of the Service; useful for Services not loaded from plugins, which use the plugin name for this.

  • name the name to use for this service

Definition at line 204 of file service.cpp.

void Plasma::Service::setOperationEnabled ( const QString &  operation,
bool  enable 
) [protected]

Enables a given service by name.

Parameters:
operation the name of the operation to enable or disable
enable true if the operation should be enabld, false if disabled

Definition at line 221 of file service.cpp.

void Plasma::Service::setOperationsScheme ( QIODevice *  xml  )  [protected]

Sets the XML used to define the operation schema for this Service.

Definition at line 259 of file service.cpp.

ServiceJob * Plasma::Service::startOperationCall ( const KConfigGroup &  description,
QObject *  parent = 0 
)

Called to create a ServiceJob which is associated with a given operation and parameter set.

Returns:
a started ServiceJob; the consumer may connect to relevant signals before returning to the event loop

Definition at line 130 of file service.cpp.


The documentation for this class was generated from the following files:
  • service.h
  • service.cpp

Plasma

Skip menu "Plasma"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal