Services types for libaccounts-glib providers are described with a simple XML
file. An example for a hypothetical CoolProvider
chat
service is shown below:
Example 7. Service type description for e-mail
1 2 3 4 5 6 7 8 9 10 11 12 |
<?xml version="1.0" encoding="UTF-8"?> <service-type id="e-mail"> <name>Electronic mail</name> <description>Send mail without harming snails</description> <icon>email</icon> <translations>email</translations> <tags> <tag>e-mail</tag> <tag>messaging</tag> </tags> </service-type> |
The example service type description describes a service type called
e-mail
, indicated by the
id
attribute on the
service-type
root element. The
name
element contains a
human-readable version of the service type name. The
description
is a string that
describes the service type in general. The
icon
element specifies a themed
icon to represent the service type. The
translations
element is used to
indicate the gettext translation domain for the name and description elements,
to be used by applications when showing those elements in a UI. The
tags
element is a container of
tag
elements, which are used to
describe the service type in abstract terms.
Service type description filenames should end in
.service-type
and be installed to
${prefix}/share/accounts/service_types
,
which normally expands to
/usr/share/accounts/service_types
. The
path can be queried with pkg-config by checking the
servicetypefilesdir
variable of the libaccounts-glib
pkg-config file, for example:
1 |
pkg-config --variable=servicetypefilesdir libaccounts-glib |