# kio Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | 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)
| Constructor.
| KServiceType (const QString &_fullpath)
| Construct a service type and take all informations from a config file.
| KServiceType (KDesktopFile *config)
| Construct a service type and take all informations from a deskop file.
| KServiceType (QDataStream &_str, int offset)
QString | icon () const
QString | comment () const
QString | name () const
QString | desktopEntryPath () const
bool | isDerived () const
QString | parentServiceType () const
| If this service type inherits from another service type, return the name of the parent.
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 &)
| Save ourselves to the data stream.
virtual void | load (QDataStream &)
| Load ourselves from the data stream.

## Static Public Member Functions

Ptr | serviceType (const QString &_name)
KService::List | offers (const QString &_servicetype)
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)

Definition at line 43 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 Definition at line 99 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 | set to "" if calling from a inherited constructor.

Definition at line 33 of file kservicetype.cpp.

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

| Construct a service type and take all informations from a deskop file. Definition at line 41 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.

Definition at line 84 of file kservicetype.h.

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

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

Returns:
  the descriptive comment associated, if any.

Reimplemented in KMimeType.

Definition at line 89 of file kservicetype.h.

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

Returns:
  the name of this service type.

Implements KSycocaEntry.

Definition at line 94 of file kservicetype.h.

Referenced by inherits().

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

Definition at line 101 of file kservicetype.h.

References KSycocaEntry::entryPath().

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

Returns:
  true if this service type inherits another one

Definition at line 106 of file kservicetype.h.

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

| If this service type inherits from another service type, return the name of the parent. Otherwise QString::null. Definition at line 140 of file kservicetype.cpp. References QVariant::toString(). Referenced by inherits().

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

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

Since:
  3.1

Definition at line 146 of file kservicetype.cpp.

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

void KServiceType::save | ( | QDataStream & |  | ) | `[virtual]`

| Save ourselves to the data stream. Reimplemented from KSycocaEntry. Reimplemented in KMimeType. Definition at line 126 of file kservicetype.cpp. References KSycocaEntry::save(). Referenced by KMimeType::save().

void KServiceType::load | ( | QDataStream & |  | ) | `[virtual]`

| Load ourselves from the data stream. Implements KSycocaEntry. Reimplemented in KMimeType. Definition at line 116 of file kservicetype.cpp. References QMap< QString, QVariant >::contains(). Referenced by KMimeType::load().

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 * !

Definition at line 219 of file kservicetype.cpp.

References KSycocaEntry::Ptr.

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

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.

Definition at line 225 of file kservicetype.cpp.

References QValueList::begin(), QValueList::end(), KSycocaEntry::isType(), QString::left(), 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.

Definition at line 306 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 kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:23:00 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001