kio Library API Documentation

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:

Inheritance graph
[legend]
Collaboration diagram for KServiceType:

Collaboration graph
[legend]
List of all members.

Public Types

typedef KSharedPtr< KServiceTypePtr
typedef QValueList< PtrList

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, QVariantm_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:
KDE Logo
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