# kio Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KServiceType Class Reference

A service type is the generic notion for a mimetype, a type of service instead of a type of file. More...

`#include <kservicetype.h>`

Inheritance diagram for KServiceType:

[legend]
Collaboration diagram for KServiceType:

[legend]
List of all members.

## Public Types

typedef KSharedPtr< KServiceType > | Ptr
typedef QValueList< Ptr > | List

## Public Member Functions

| KServiceType (const QString &_fullpath, const QString &_name, const QString &_icon, const QString &_comment)
| KServiceType (const QString &_fullpath)
| KServiceType (KDesktopFile *config)
| KServiceType (QDataStream &_str, int offset)
QString | icon () const
QString | comment () const
QString | name () const
QString | desktopEntryPath () const
bool | isDerived () const
QString | parentServiceType () const
bool | inherits (const QString &servTypeName) const
virtual QVariant | property (const QString &_name) const
virtual QStringList | propertyNames () const
bool | isValid () const
virtual QVariant::Type | propertyDef (const QString &_name) const
virtual QStringList | propertyDefNames () const
virtual const QMap< QString, QVariant::Type > & | propertyDefs () const
virtual void | save (QDataStream &)
virtual void | load (QDataStream &)
Ptr | parentType ()
void | addService (KService::Ptr service)
KService::List | services ()

## Static Public Member Functions

static Ptr | serviceType (const QString &_name)
static KService::List | offers (const QString &_servicetype)
static List | allServiceTypes ()

## Protected Member Functions

void | init (KDesktopFile *config)
virtual void | virtual_hook (int id, void *data)

## Protected Attributes

QString | m_strName
QString | m_strIcon
QString | m_strComment
QMap< QString, QVariant > | m_mapProps
QMap< QString, QVariant::Type > | m_mapPropDefs
bool | m_bValid:1
bool | m_bDerived:1

## Detailed Description

A service type is the generic notion for a mimetype, a type of service instead of a type of file.

For instance, KOfficeFilter is a service type. It is associated to services according to the user profile (kuserprofile.h). Service types are stored as desktop files in $KDEHOME/share/servicetypes.

See also:
  KService

Definition at line 45 of file kservicetype.h.

## Constructor & Destructor Documentation

KServiceType::KServiceType | ( | const QString & | _fullpath,
|  | const QString & | _name,
|  | const QString & | _icon,
|  | const QString & | _comment
| ) |

Constructor.

You may pass in arguments to create a servicetype with specific properties.

Parameters:

  | _fullpath | the path of the service type's desktop file
  | _name | the name of the service type
  | _icon | the icon name of the service type (can be null)
  | _comment | a comment (can be null)

Definition at line 109 of file kservicetype.cpp.

References QString::isEmpty().

KServiceType::KServiceType | ( | const QString & | _fullpath | ) |

Construct a service type and take all informations from a config file.

Parameters:

  | _fullpath | path of the desktop file, set to "" if calling from a inherited constructor.

Definition at line 43 of file kservicetype.cpp.

KServiceType::KServiceType | ( | KDesktopFile * | config | ) |

Construct a service type and take all informations from a deskop file.

Parameters:

  | config | the configuration file

Definition at line 51 of file kservicetype.cpp.

## Member Function Documentation

QString KServiceType::icon | ( |  | ) | const`[inline]`

Returns the icon associated with this service type.

Some derived classes offer special functions which take for example an URL and returns a special icon for this URL. An example is KMimeType, KFolderType and others.

Returns:
  the name of the icon, can be QString::null.

Definition at line 94 of file kservicetype.h.

Referenced by KDEDesktopMimeType::icon(), KFolderType::icon(), KDEDesktopMimeType::pixmap(), and KMimeType::pixmap().

QString KServiceType::comment | ( |  | ) | const`[inline]`

Returns the descriptive comment associated, if any.

Returns:
  the comment, or QString::null

Reimplemented in KMimeType.

Definition at line 100 of file kservicetype.h.

QString KServiceType::name | ( |  | ) | const`[inline, virtual]`

Returns the name of this service type.

Returns:
  the name of the service type

Implements KSycocaEntry.

Definition at line 106 of file kservicetype.h.

Referenced by inherits(), and KMimeType::is().

QString KServiceType::desktopEntryPath | ( |  | ) | const`[inline]`

Returns the relative path to the desktop entry file responsible for this servicetype.

For instance inode/directory.desktop, or kpart.desktop

Returns:
  the path of the desktop file

Definition at line 114 of file kservicetype.h.

References KSycocaEntry::entryPath().

bool KServiceType::isDerived | ( |  | ) | const`[inline]`

Checks whether this service type inherits another one.

Returns:
  true if this service type inherits another one

See also:
  parentServiceType()

Definition at line 121 of file kservicetype.h.

QString KServiceType::parentServiceType | ( |  | ) | const

If this service type inherits from another service type, return the name of the parent.

Returns:
  the parent service type, or QString:: null if not set

See also:
  isDerived()

Definition at line 151 of file kservicetype.cpp.

References property(), and QVariant::toString().

Referenced by inherits().

bool KServiceType::inherits | ( | const QString & | servTypeName | ) | const

Checks whether this service type is or inherits from `servTypeName`.

Returns:
  true if this servicetype is or inherits from `servTypeName`

Since:
  3.1

Definition at line 157 of file kservicetype.cpp.

References QString::isEmpty(), name(), parentServiceType(), and serviceType().

QVariant KServiceType::property | ( | const QString & | _name | ) | const`[virtual]`

Returns the requested property.

Some often used properties have convenience access functions like name(), comment() etc.

Parameters:

  | _name | the name of the property

Returns:
  the property, or invalid if not found

Reimplemented in KMimeType.

Definition at line 174 of file kservicetype.cpp.

References QMap::end(), and QMap::find().

Referenced by parentServiceType(), and KMimeType::property().

QStringList KServiceType::propertyNames | ( |  | ) | const`[virtual]`

Returns the list of all properties of this service type.

Returns:
  the list of properties

Reimplemented in KMimeType.

Definition at line 194 of file kservicetype.cpp.

References QMap::begin(), and QMap::end().

Referenced by KMimeType::propertyNames().

bool KServiceType::isValid | ( |  | ) | const`[inline, virtual]`

Checks whether the service type is valid.

Returns:
  true if the service is valid (e.g. name is not empty)

Implements KSycocaEntry.

Definition at line 158 of file kservicetype.h.

Referenced by KMimeType::KMimeType().

QVariant::Type KServiceType::propertyDef | ( | const QString & | _name | ) | const`[virtual]`

Returns the type of the property with the given `_name`.

Parameters:

  | _name | the name of the property

Returns:
  the property type, or null if not found

Definition at line 210 of file kservicetype.cpp.

References QMap::end(), and QMap::find().

KServiceType::Ptr KServiceType::serviceType | ( | const QString & | _name | ) | `[static]`

Returns a pointer to the servicetype '_name' or 0L if the service type is unknown.

VERY IMPORTANT : don't store the result in a KServiceType * !

Parameters:

  | _name | the name of the service type to search

Returns:
  the pointer to the service type, or 0

Definition at line 230 of file kservicetype.cpp.

Referenced by KService::hasServiceType(), inherits(), and KService::initialPreferenceForMimeType().

KService::List KServiceType::offers | ( | const QString & | _servicetype | ) | `[static]`

Returns all services supporting the given servicetype name.

This doesn't take care of the user profile. In fact it is used by KServiceTypeProfile, which is used by KTrader, and that's the one you should use.

Parameters:

  | _servicetype | the name of the service type to search

Returns:
  the list of all services of the given type

Definition at line 251 of file kservicetype.cpp.

References endl(), QString::isEmpty(), kdWarning(), and KSycocaEntry::offset().

Referenced by KServiceTypeProfile::offers().

KServiceType::List KServiceType::allServiceTypes | ( |  | ) | `[static]`

Returns a list of all the supported servicetypes.

Useful for showing the list of available servicetypes in a listbox, for example. More memory consuming than the ones above, don't use unless really necessary.

Returns:
  the list of all services

Definition at line 320 of file kservicetype.cpp.

The documentation for this class was generated from the following files:

- kservicetype.h
- kservicetype.cpp

This file is part of the documentation for kio Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:25:19 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003