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

kio

Trader Syntax

Literals

As elementary atoms of the constraint language, KTrader supports booleans, integers, floats and strings. Boolean literals are TRUE and FALSE . Integers can be positive or negative, i.e. 42 and -10 are legal values. Floating point numbers are 3.141592535 or -999.999 . Scientific notation like 1.5e-2 is not supported. Character literals are delimited by single quotation marks, e.g. 'Bernd' .

Symbols

Identifiers in query string are interpreted as property names, which are listed in the service's .desktop file. For example, Name is the name of the service, ServiceTypes is a list of the service types it supports. Note that only properties can be written as-is which start with an alphabetical character and contain only alphanumerical characters. Other properties have to be enclosed in brackets, e.g. [X-KDE-Init]. Properties must not contain any special characters other than -.

Special property names:

  • DesktopEntryName stands for the filename of the service desktop entry without any extension. This can be useful to exclude some specific services.
  • DesktopEntryPath stands for the relative or full path to the .desktop file, see KService::desktopEntryPath. Mentionned here for completeness, better not use it (things can be moved around).
  • Library is the property whose value is set by X-KDE-Library in the .desktop file. This renaming happened to conform to the desktop file standard, but the property name didn't change.

Comparison

Supported comparison operators are:

  • ==
  • !=
  • <
  • <=
  • >
  • >=

Arithmetic and boolean expressions

  • +
  • -
  • *
  • /
  • and
  • or
  • not

Note that the arithmetic operators are possible for integers and floating point numbers. - is both a unary and binary operator, not is a unary operator.

Other operators

  • ~
  • in
  • exist
  • ()

The tilde operator stands for a substring match. For example, KParts ~ 'KParts/ReadOnlyPart' is TRUE. The membership operator in tests whether a value is in a list. A list is a string with semi-colon- or comma-separated entries, depending on the type. An example for the membership operator is 'text/plain' in ServiceTypes. The exist tests whether a certain property is defined in the .desktop file. Subexpressions are written in parentheses.

Warning, testing the contents of a property only works if the property is specified. There is not support for default values. If the property might be missing, and you still want such services to be included, you have to check for existence before testing it. For instance, to say that MyProp is a boolean that defaults to true, and that you want the services that have it set to true, use: not exist MyProp or MyProp Simply testing for MyProp would exclude the services without the property at all.

Examples

The following examples show filters for .desktop files. Type, ServiceTypes and MimeType are properties in .desktop files. Be aware that within KTrader MimeType properties are understood as ServiceTypes ones.

  • Type == 'Application'
    All services that are applications.
  • 'KParts/ReadOnlyPart' in ServiceTypes
    All read-only KParts.
  • ('KParts/ReadOnlyPart' in ServiceTypes) and ('text/plain' in ServiceTypes)
    All read-only KParts that handle the mime type 'text/plain'.

Author:
Bernd Gehrmann bernd@kdevelop.org

kio

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

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
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