kutils Library API Documentation

KPluginInfo Class Reference

Information about a plugin. More...

#include <kplugininfo.h>

List of all members.

Public Types

typedef QValueList< KPluginInfo * > List

Public Member Functions

 KPluginInfo (const QString &filename, const char *resource=0)
 KPluginInfo (const KService::Ptr service)
virtual ~KPluginInfo ()
bool isHidden () const
virtual void setPluginEnabled (bool enabled)
virtual bool isPluginEnabled () const
bool isPluginEnabledByDefault () const
QVariant property (const QString &key) const
QVariant operator[] (const QString &key) const
const QStringname () const
const QStringcomment () const
const QStringicon () const
const QStringspecfile () const
const QStringauthor () const
const QStringemail () const
const QStringcategory () const
const QStringpluginName () const
const QStringversion () const
const QStringwebsite () const
const QStringlicense () const
const QStringListdependencies () const
KService::Ptr service () const
const QValueList< KService::Ptr > & kcmServices () const
void setConfig (KConfig *config, const QString &group)
KConfigconfig () const
const QStringconfiggroup () const
virtual void save (KConfigGroup *config=0)
virtual void load (KConfigGroup *config=0)
virtual void defaults ()

Static Public Member Functions

static KPluginInfo::List fromServices (const KService::List &services, KConfig *config=0, const QString &group=QString::null)
static KPluginInfo::List fromFiles (const QStringList &files, KConfig *config=0, const QString &group=QString::null)
static KPluginInfo::List fromKPartsInstanceName (const QString &, KConfig *config=0, const QString &group=QString::null)


Detailed Description

Information about a plugin.

This holds all the information about a plugin there is. It's used for the user to decide whether he want's to use this plugin or not.

Author:
Matthias Kretz <kretz@kde.org>
Since:
3.2

Definition at line 40 of file kplugininfo.h.


Constructor & Destructor Documentation

KPluginInfo::KPluginInfo const QString filename,
const char *  resource = 0
 

Read plugin info from filename.

The file should be of the following form:

           [Desktop Entry]
           Name=User Visible Name
           Comment=Description of what the plugin does

           [X-KDE Plugin Info]
           Author=Author's Name
           Email=author@foo.bar
           PluginName=internalname
           Version=1.1
           Website=http://www.plugin.org/
           Category=playlist
           Depends=plugin1,plugin3
           License=GPL
           EnabledByDefault=true
           
The first two entries in the "Desktop Entry" group always need to be present.

The "X-KDE-PluginInfo" keys you may add further entries which will be available using property(). The Website,Category,Require keys are optional. For EnabledByDefault look at isPluginEnabledByDefault.

Parameters:
filename The filename of the .desktop file.
resource If filename is relative, you need to specify a resource type (e.g. "service", "apps"...
See also:
KStandardDirs). Otherwise, resource isn't used.

Definition at line 69 of file kplugininfo.cpp.

References QString::endsWith(), QString::fromAscii(), KConfigBase::readBoolEntry(), KConfigBase::readEntry(), KConfigBase::readListEntry(), KConfigBase::readPathEntry(), and KConfigBase::setDesktopGroup().

Referenced by fromFiles(), and fromServices().

KPluginInfo::KPluginInfo const KService::Ptr  service  ) 
 

Read plugin info from a KService object.

The .desktop file should look like this:

           [Desktop Entry]
           Encoding=UTF-8
           Icon=mypluginicon
           Type=Service
           ServiceTypes=KPluginInfo

           X-KDE-PluginInfo-Author=Author's Name
           X-KDE-PluginInfo-Email=author@foo.bar
           X-KDE-PluginInfo-Name=internalname
           X-KDE-PluginInfo-Version=1.1
           X-KDE-PluginInfo-Website=http://www.plugin.org/
           X-KDE-PluginInfo-Category=playlist
           X-KDE-PluginInfo-Depends=plugin1,plugin3
           X-KDE-PluginInfo-License=GPL
           X-KDE-PluginInfo-EnabledByDefault=true

           Name=User Visible Name
           Comment=Description of what the plugin does
           
In the first three entries the Icon entry is optional.

Definition at line 114 of file kplugininfo.cpp.

References QVariant::isValid(), and QVariant::toBool().


Member Function Documentation

QValueList< KPluginInfo * > KPluginInfo::fromServices const KService::List services,
KConfig config = 0,
const QString group = QString::null
[static]
 

Returns:
A list of KPluginInfo objects constructed from a list of KService objects. If you get a trader offer of the plugins you want to use you can just pass them to this function.

Definition at line 153 of file kplugininfo.cpp.

References QValueList::begin(), QValueList::ConstIterator(), QValueList::end(), KPluginInfo(), and setConfig().

QValueList< KPluginInfo * > KPluginInfo::fromFiles const QStringList files,
KConfig config = 0,
const QString group = QString::null
[static]
 

Returns:
A list of KPluginInfo objects constructed from a list of filenames. If you make a lookup using, for example, KStandardDirs::findAllResources() you pass the list of files to this function.

Definition at line 167 of file kplugininfo.cpp.

References KPluginInfo(), and setConfig().

Referenced by fromKPartsInstanceName().

QValueList< KPluginInfo * > KPluginInfo::fromKPartsInstanceName const QString ,
KConfig config = 0,
const QString group = QString::null
[static]
 

Returns:
A list of KPluginInfo objects for the KParts plugins of an instance. You only need the name of the instance not a pointer to the KInstance object.

Definition at line 179 of file kplugininfo.cpp.

References KGlobal::dirs(), KStandardDirs::findAllResources(), and fromFiles().

bool KPluginInfo::isHidden  )  const
 

Returns:
Whether the plugin should be hidden.

Definition at line 186 of file kplugininfo.cpp.

void KPluginInfo::setPluginEnabled bool  enabled  )  [virtual]
 

Set whether the plugin is currently loaded.

You might need to reimplement this method for special needs.

See also:
isPluginEnabled()

save()

Definition at line 191 of file kplugininfo.cpp.

References endl(), and kdDebug().

Referenced by defaults(), and load().

bool KPluginInfo::isPluginEnabled  )  const [virtual]
 

Returns:
Whether the plugin is currently loaded.
You might need to reimplement this method for special needs.

See also:
setPluginEnabled()

load()

Definition at line 197 of file kplugininfo.cpp.

References endl(), and kdDebug().

Referenced by save().

bool KPluginInfo::isPluginEnabledByDefault  )  const
 

Returns:
The default value whether the plugin is enabled or not. Defaults to the value set in the desktop file, or if that isn't set to false.

Definition at line 203 of file kplugininfo.cpp.

References endl(), and kdDebug().

Referenced by defaults(), and load().

QVariant KPluginInfo::property const QString key  )  const
 

Returns:
The value associated the the key. You can use it if you want to read custom values. To do this you need to define your own servicetype and add it to the ServiceTypes keys.
See also:
operator[]

Definition at line 305 of file kplugininfo.cpp.

Referenced by operator[]().

QVariant KPluginInfo::operator[] const QString key  )  const
 

This is the same as property().

It is provided for convenience.

Returns:
The value associated with the key.
See also:
property()

Definition at line 313 of file kplugininfo.cpp.

References property().

const QString & KPluginInfo::name  )  const
 

Returns:
The user visible name of the plugin.

Definition at line 209 of file kplugininfo.cpp.

const QString & KPluginInfo::comment  )  const
 

Returns:
A comment describing the plugin.

Definition at line 214 of file kplugininfo.cpp.

const QString & KPluginInfo::icon  )  const
 

Returns:
The iconname for this plugin

Definition at line 219 of file kplugininfo.cpp.

const QString & KPluginInfo::specfile  )  const
 

Returns:
The file containing the information about the plugin.

Definition at line 224 of file kplugininfo.cpp.

const QString & KPluginInfo::author  )  const
 

Returns:
The author of this plugin.

Definition at line 229 of file kplugininfo.cpp.

const QString & KPluginInfo::email  )  const
 

Returns:
The email address of the author.

Definition at line 234 of file kplugininfo.cpp.

const QString & KPluginInfo::category  )  const
 

Returns:
The category of this plugin (e.g. playlist/skin).

Definition at line 239 of file kplugininfo.cpp.

const QString & KPluginInfo::pluginName  )  const
 

Returns:
The internal name of the plugin (for KParts Plugins this is the same name as set in the .rc file).

Definition at line 244 of file kplugininfo.cpp.

const QString & KPluginInfo::version  )  const
 

Returns:
The version of the plugin.

Definition at line 249 of file kplugininfo.cpp.

const QString & KPluginInfo::website  )  const
 

Returns:
The website of the plugin/author.

Definition at line 254 of file kplugininfo.cpp.

const QString & KPluginInfo::license  )  const
 

Returns:
The license of this plugin.

Definition at line 259 of file kplugininfo.cpp.

const QStringList & KPluginInfo::dependencies  )  const
 

Returns:
A list of plugins required for this plugin to be enabled. Use the pluginName in this list.

Definition at line 264 of file kplugininfo.cpp.

KService::Ptr KPluginInfo::service  )  const
 

Returns:
The KService object for this plugin. You might need it if you want to read custom values. To do this you need to define your own servicetype and add it to the ServiceTypes keys. Then you can use the KService::property() method to read your keys.
See also:
property()

Definition at line 269 of file kplugininfo.cpp.

const QValueList< KService::Ptr > & KPluginInfo::kcmServices  )  const
 

Returns:
A list of Service pointers if the plugin installs one or more KCModule

Definition at line 274 of file kplugininfo.cpp.

References endl(), kdDebug(), KTrader::query(), and KTrader::self().

void KPluginInfo::setConfig KConfig config,
const QString group
 

Set the KConfigGroup to use for load()ing and save()ing the configuration.

This will be overridden by the KConfigGroup passed to save() or load() (if one is passed).

Definition at line 289 of file kplugininfo.cpp.

Referenced by fromFiles(), and fromServices().

KConfig * KPluginInfo::config  )  const
 

Returns:
If the KPluginInfo object has a KConfig object set return it, else return 0.

Definition at line 295 of file kplugininfo.cpp.

const QString & KPluginInfo::configgroup  )  const
 

Returns:
The groupname used in the KConfig object for load()ing and save()ing whether the plugin is enabled.

Definition at line 300 of file kplugininfo.cpp.

void KPluginInfo::save KConfigGroup config = 0  )  [virtual]
 

Save state of the plugin - enabled or not.

This function is provided for reimplementation if you need to save somewhere else.

Parameters:
config The KConfigGroup holding the information whether plugin is enabled.

Definition at line 318 of file kplugininfo.cpp.

References endl(), isPluginEnabled(), kdDebug(), kdWarning(), and KConfigBase::writeEntry().

void KPluginInfo::load KConfigGroup config = 0  )  [virtual]
 

Load the state of the plugin - enabled or not.

This function is provided for reimplementation if you need to save somewhere else.

Parameters:
config The KConfigGroup holding the information whether plugin is enabled.

Definition at line 335 of file kplugininfo.cpp.

References endl(), isPluginEnabledByDefault(), kdDebug(), kdWarning(), KConfigBase::readBoolEntry(), and setPluginEnabled().

void KPluginInfo::defaults  )  [virtual]
 

Restore defaults (enabled or not).

Definition at line 352 of file kplugininfo.cpp.

References endl(), isPluginEnabledByDefault(), kdDebug(), and setPluginEnabled().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kutils Library Version 3.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Sep 15 10:57:30 2005 by doxygen 1.4.4 written by Dimitri van Heesch, © 1997-2003