- Prev
- Next

## Chapter 3. Services

AppStream provides some services to fetch additional data from.

## 3.1. Screenshot service

### 3.1.1. Introduction

To make give users an impression on how the application they are about to install will look like, screenshots are provided to software-centers via a web service.

### 3.1.2. Webservice

Distributors provide a service like debshots. They can either use the original `debshots` service, which does not only work for Debian but also any other distribution, or they can set up their own service which mimicks the `debshots` API.
In future, it is planned to allow applications to specify own screenshots via their AppData files.
In order to make a new screenshot service known to software-centers, distributors need to place information about their webservice in the config file of `libappstream`, whis is usually located at `/etc/appstream.conf`.

### 3.1.3. Client API

Software center applications can access the screenshot service either directly, or via the `libappstream` API. Simple example:

    #include <glib.h>
    #include <appstream.h>

    gchar* get_screenshot_url (const gchar* pkgname, gboolean thumbnail) {
        AppstreamScreenshotService *scrservice;
        gchar *url;

        scrservice = appstream_screenshot_service_new ();
        if (thumbnail)
            /* return URL of a screenshot thumbnail */
            url = appstream_screenshot_service_get_thumbnail_url (scrservice, pkgname);
        else
            /* return URL of the full screenshot */
            url = appstream_screenshot_service_get_screenshot_url (scrservice, pkgname);
        g_object_unref (scrservice);

        return url;
    }

- Prev2.2. AppData XML files
- Up
- Home
- NextChapter 4. Manual pages