AsApp: AppStream-glib Reference Manual

## AsApp AsApp — An object for an AppStream application or add-on |

## Stability Level

Stable, unless otherwise indicated

## Functions

AsApp * | as_app_new ()
GQuark | as_app_error_quark ()
const gchar * | as_app_state_to_string ()
const gchar * | as_app_kind_to_string ()
AsAppKind | as_app_kind_from_string ()
AsAppScope | as_app_scope_from_string ()
const gchar * | as_app_scope_to_string ()
AsAppMergeKind | as_app_merge_kind_from_string ()
const gchar * | as_app_merge_kind_to_string ()
AsAppKind | as_app_get_kind ()
AsAppScope | as_app_get_scope ()
AsAppMergeKind | as_app_get_merge_kind ()
AsAppState | as_app_get_state ()
guint32 | as_app_get_trust_flags ()
guint16 | as_app_get_search_match ()
GList * | as_app_get_languages ()
GPtrArray * | as_app_get_addons ()
GPtrArray * | as_app_get_categories ()
GPtrArray * | as_app_get_compulsory_for_desktops ()
GPtrArray * | as_app_get_extends ()
GPtrArray * | as_app_get_keywords ()
GPtrArray * | as_app_get_kudos ()
GPtrArray * | as_app_get_permissions ()
GPtrArray * | as_app_get_formats ()
GPtrArray * | as_app_get_mimetypes ()
GPtrArray * | as_app_get_pkgnames ()
GPtrArray * | as_app_get_architectures ()
GPtrArray * | as_app_get_releases ()
GPtrArray * | as_app_get_provides ()
GPtrArray * | as_app_get_launchables ()
GPtrArray * | as_app_get_screenshots ()
GPtrArray * | as_app_get_reviews ()
GPtrArray * | as_app_get_content_ratings ()
GPtrArray * | as_app_get_icons ()
GPtrArray * | as_app_get_bundles ()
GPtrArray * | as_app_get_translations ()
GPtrArray * | as_app_get_suggests ()
GPtrArray * | as_app_get_requires ()
GHashTable * | as_app_get_names ()
GHashTable * | as_app_get_comments ()
GHashTable * | as_app_get_developer_names ()
GHashTable * | as_app_get_metadata ()
GHashTable * | as_app_get_descriptions ()
GHashTable * | as_app_get_urls ()
GPtrArray * | as_app_get_vetos ()
const gchar * | as_app_get_icon_path ()
const gchar * | as_app_get_id_filename ()
const gchar * | as_app_get_id ()
const gchar * | as_app_get_id_no_prefix ()
const gchar * | as_app_get_unique_id ()
const gchar * | as_app_get_pkgname_default ()
const gchar * | as_app_get_source_pkgname ()
const gchar * | as_app_get_origin ()
const gchar * | as_app_get_project_group ()
const gchar * | as_app_get_project_license ()
const gchar * | as_app_get_metadata_license ()
const gchar * | as_app_get_update_contact ()
const gchar * | as_app_get_branch ()
const gchar * | as_app_get_name ()
const gchar * | as_app_get_comment ()
const gchar * | as_app_get_developer_name ()
const gchar * | as_app_get_description ()
gint | as_app_get_priority ()
gint | as_app_get_language ()
const gchar * | as_app_get_metadata_item ()
const gchar * | as_app_get_url_item ()
gboolean | as_app_has_category ()
gboolean | as_app_has_kudo ()
gboolean | as_app_has_kudo_kind ()
gboolean | as_app_has_permission ()
AsFormat * | as_app_get_format_default ()
AsFormat * | as_app_get_format_by_kind ()
AsFormat * | as_app_get_format_by_filename ()
gboolean | as_app_has_compulsory_for_desktop ()
gboolean | as_app_has_quirk ()
AsLaunchable * | as_app_get_launchable_default ()
AsLaunchable * | as_app_get_launchable_by_kind ()
void | as_app_set_id ()
void | as_app_set_kind ()
void | as_app_set_scope ()
void | as_app_set_merge_kind ()
void | as_app_set_state ()
void | as_app_set_trust_flags ()
void | as_app_set_search_match ()
void | as_app_set_origin ()
void | as_app_set_project_group ()
void | as_app_set_project_license ()
void | as_app_set_metadata_license ()
void | as_app_set_source_pkgname ()
void | as_app_set_update_contact ()
void | as_app_set_icon_path ()
void | as_app_set_name ()
void | as_app_set_comment ()
void | as_app_set_developer_name ()
void | as_app_set_description ()
void | as_app_set_branch ()
void | as_app_set_priority ()
void | as_app_add_category ()
void | as_app_remove_category ()
void | as_app_add_keyword ()
void | as_app_add_kudo ()
void | as_app_remove_kudo ()
void | as_app_add_kudo_kind ()
void | as_app_add_permission ()
void | as_app_add_format ()
void | as_app_remove_format ()
void | as_app_add_mimetype ()
void | as_app_add_pkgname ()
void | as_app_add_arch ()
void | as_app_add_release ()
void | as_app_add_provide ()
void | as_app_add_launchable ()
void | as_app_add_screenshot ()
void | as_app_add_review ()
void | as_app_add_content_rating ()
void | as_app_add_agreement ()
void | as_app_add_icon ()
void | as_app_add_bundle ()
void | as_app_add_translation ()
void | as_app_add_suggest ()
void | as_app_add_require ()
void | as_app_add_language ()
void | as_app_add_compulsory_for_desktop ()
void | as_app_add_url ()
void | as_app_add_metadata ()
void | as_app_remove_metadata ()
void | as_app_add_addon ()
void | as_app_add_extends ()
void | as_app_add_quirk ()
GPtrArray * | as_app_validate ()
void | as_app_subsume ()
void | as_app_subsume_full ()
void | as_app_add_veto ()
void | as_app_remove_veto ()
guint | as_app_search_matches_all ()
guint | as_app_search_matches ()
gboolean | as_app_parse_file ()
gboolean | as_app_parse_data ()
gboolean | as_app_to_file ()
GString * | as_app_to_xml ()
AsContentRating * | as_app_get_content_rating ()
AsAgreement * | as_app_get_agreement_by_kind ()
AsAgreement * | as_app_get_agreement_default ()
AsScreenshot * | as_app_get_screenshot_default ()
AsIcon * | as_app_get_icon_default ()
AsIcon * | as_app_get_icon_for_size ()
AsBundle * | as_app_get_bundle_default ()
AsRelease * | as_app_get_release ()
AsRelease * | as_app_get_release_default ()
AsRelease * | as_app_get_release_by_version ()
AsRequire * | as_app_get_require_by_value ()
gboolean | as_app_convert_icons ()
gboolean | as_app_equal ()
AsIdKind | as_app_get_id_kind ()
void | as_app_set_id_kind ()
void | as_app_set_source_file ()
const gchar * | as_app_get_source_file ()
AsFormatKind | as_app_get_source_kind ()
void | as_app_set_source_kind ()
AsFormatKind | as_app_source_kind_from_string ()
const gchar * | as_app_source_kind_to_string ()
AsFormatKind | as_app_guess_source_kind ()

## Types and Values

#define | AS_TYPE_APP
struct | AsAppClass
enum | AsAppParseFlags
enum | AsAppSubsumeFlags
#define | AS_APP_SUBSUME_FLAG_SOURCE_FILE
#define | AS_APP_SUBSUME_FLAG_MERGE
#define | AS_APP_SUBSUME_FLAG_PARTIAL
#define | AS_APP_SUBSUME_FLAG_DEDUPE
enum | AsAppError
enum | AsAppValidateFlags
enum | AsAppTrustFlags
typedef | AsAppSourceKind
#define | AS_APP_SOURCE_KIND_UNKNOWN
#define | AS_APP_SOURCE_KIND_APPSTREAM
#define | AS_APP_SOURCE_KIND_DESKTOP
#define | AS_APP_SOURCE_KIND_APPDATA
#define | AS_APP_SOURCE_KIND_METAINFO
#define | AS_APP_SOURCE_KIND_INF
enum | AsAppKind
enum | AsAppQuirk
enum | AsAppState
enum | AsAppScope
enum | AsAppMergeKind
enum | AsAppSearchMatch
#define | AS_APP_ERROR
| AsApp

## Includes

    #include <appstream-glib.h>

## Description

This object represents the base object of all AppStream, the application. Although called AsApp, this object also represents components like fonts, codecs and input methods.

See also: AsScreenshot, AsRelease

## Functions

### as_app_new ()

    AsApp *
    as_app_new (void);

Creates a new AsApp.

#### Returns

a AsApp.

[transfer full]

Since: 0.1.0

### as_app_error_quark ()

    GQuark
    as_app_error_quark (void);

#### Returns

An error quark.

Since: 0.1.2

### as_app_state_to_string ()

    const gchar *
    as_app_state_to_string (AsAppState state);

Converts the enumerated value to an text representation.

#### Parameters

state | the AsAppState. |

#### Returns

string version of `state` , or `NULL` for unknown

Since: 0.2.2

### as_app_kind_to_string ()

    const gchar *
    as_app_kind_to_string (AsAppKind kind);

Converts the enumerated value to an text representation.

#### Parameters

kind | the AsAppKind. |

#### Returns

string version of `kind`

Since: 0.5.10

### as_app_kind_from_string ()

    AsAppKind
    as_app_kind_from_string (const gchar *kind);

Converts the text representation to an enumerated value.

#### Parameters

kind | the string. |

#### Returns

a AsAppKind or `AS_APP_KIND_UNKNOWN` for unknown

Since: 0.5.10

### as_app_scope_from_string ()

    AsAppScope
    as_app_scope_from_string (const gchar *scope);

Converts the text representation to an enumerated value.

#### Parameters

scope | a source kind string |

#### Returns

A AsAppScope, e.g. `AS_APP_SCOPE_SYSTEM`.

Since: 0.6.1

### as_app_scope_to_string ()

    const gchar *
    as_app_scope_to_string (AsAppScope scope);

Converts the enumerated value to an text representation.

#### Parameters

scope | the AsAppScope, e.g. `AS_APP_SCOPE_SYSTEM` |

#### Returns

string version of `scope` , or `NULL` for unknown

Since: 0.6.1

### as_app_merge_kind_from_string ()

    AsAppMergeKind
    as_app_merge_kind_from_string (const gchar *merge_kind);

Converts the text representation to an enumerated value.

#### Parameters

merge_kind | a source kind string |

#### Returns

A AsAppMergeKind, e.g. `AS_APP_MERGE_KIND_REPLACE`.

Since: 0.6.1

### as_app_merge_kind_to_string ()

    const gchar *
    as_app_merge_kind_to_string (AsAppMergeKind merge_kind);

Converts the enumerated value to an text representation.

#### Parameters

merge_kind | the AsAppMergeKind, e.g. `AS_APP_MERGE_KIND_REPLACE` |

#### Returns

string version of `merge_kind` , or `NULL` for unknown

Since: 0.6.1

### as_app_get_kind ()

    AsAppKind
    as_app_get_kind (AsApp *app);

Gets the ID kind.

#### Parameters

app | a AsApp instance. |

#### Returns

enumerated value

Since: 0.5.10

### as_app_get_scope ()

    AsAppScope
    as_app_get_scope (AsApp *app);

Gets the scope of the application.

#### Parameters

app | a AsApp instance. |

#### Returns

enumerated value

Since: 0.6.1

### as_app_get_merge_kind ()

    AsAppMergeKind
    as_app_get_merge_kind (AsApp *app);

Gets the merge_kind of the application.

#### Parameters

app | a AsApp instance. |

#### Returns

enumerated value

Since: 0.6.1

### as_app_get_state ()

    AsAppState
    as_app_get_state (AsApp *app);

Gets the application state.

#### Parameters

app | a AsApp instance. |

#### Returns

enumerated value

Since: 0.2.2

### as_app_get_trust_flags ()

    guint32
    as_app_get_trust_flags (AsApp *app);

Gets the trust flags, i.e. how trusted the incoming data is.

#### Parameters

app | a AsApp instance. |

#### Returns

bitfield

Since: 0.2.2

### as_app_get_search_match ()

    guint16
    as_app_get_search_match (AsApp *app);

Gets the token match fields. The bitfield given here is used to choose what is included in the token cache.

#### Parameters

app | a AsApp instance. |

#### Returns

a AsAppSearchMatch, e.g. `AS_APP_SEARCH_MATCH_PKGNAME`

Since: 0.6.13

### as_app_get_languages ()

    GList *
    as_app_get_languages (AsApp *app);

Get a list of all languages.

#### Parameters

app | a AsApp instance. |

#### Returns

list of language values.

[transfer container][element-type utf8]

Since: 0.1.0

### as_app_get_addons ()

    GPtrArray *
    as_app_get_addons (AsApp *app);

Gets all the addons the application has.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsApp][transfer none]

Since: 0.1.7

### as_app_get_categories ()

    GPtrArray *
    as_app_get_categories (AsApp *app);

Get the application categories.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type utf8][transfer none]

Since: 0.1.0

### as_app_get_compulsory_for_desktops ()

    GPtrArray *
    as_app_get_compulsory_for_desktops (AsApp *app);

Returns the desktops where this application is compulsory.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type utf8][transfer none]

Since: 0.1.0

### as_app_get_extends ()

    GPtrArray *
    as_app_get_extends (AsApp *app);

Gets the IDs that are extended from the addon.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type utf8][transfer none]

Since: 0.1.7

### as_app_get_keywords ()

    GPtrArray *
    as_app_get_keywords (AsApp *app,
                         const gchar *locale);

Gets any keywords the application should match against.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]

#### Returns

an array, or `NULL`.

[element-type utf8][transfer none]

Since: 0.3.0

### as_app_get_kudos ()

    GPtrArray *
    as_app_get_kudos (AsApp *app);

Gets any kudos the application has obtained.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type utf8][transfer none]

Since: 0.2.2

### as_app_get_permissions ()

    GPtrArray *
    as_app_get_permissions (AsApp *app);

Gets any permissions the application has obtained.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type utf8][transfer none]

Since: 0.3.5

### as_app_get_formats ()

    GPtrArray *
    as_app_get_formats (AsApp *app);

Gets any formats that make up the application.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type utf8][transfer none]

Since: 0.6.9

### as_app_get_mimetypes ()

    GPtrArray *
    as_app_get_mimetypes (AsApp *app);

Gets any mimetypes the application will register.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[transfer none][element-type utf8]

Since: 0.2.0

### as_app_get_pkgnames ()

    GPtrArray *
    as_app_get_pkgnames (AsApp *app);

Gets the package names (if any) for the application.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type utf8][transfer none]

Since: 0.1.0

### as_app_get_architectures ()

    GPtrArray *
    as_app_get_architectures (AsApp *app);

Gets the supported architectures for the application, or an empty list if all architectures are supported.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type utf8][transfer none]

Since: 0.1.1

### as_app_get_releases ()

    GPtrArray *
    as_app_get_releases (AsApp *app);

Gets all the releases the application has had.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsRelease][transfer none]

Since: 0.1.0

### as_app_get_provides ()

    GPtrArray *
    as_app_get_provides (AsApp *app);

Gets all the provides the application has.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsProvide][transfer none]

Since: 0.1.6

### as_app_get_launchables ()

    GPtrArray *
    as_app_get_launchables (AsApp *app);

Gets all the launchables the application has.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsLaunchable][transfer none]

Since: 0.6.13

### as_app_get_screenshots ()

    GPtrArray *
    as_app_get_screenshots (AsApp *app);

Gets any screenshots the application has defined.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsScreenshot][transfer none]

Since: 0.1.0

### as_app_get_reviews ()

    GPtrArray *
    as_app_get_reviews (AsApp *app);

Gets any reviews the application has defined.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsScreenshot][transfer none]

Since: 0.6.1

### as_app_get_content_ratings ()

    GPtrArray *
    as_app_get_content_ratings (AsApp *app);

Gets any content_ratings the application has defined.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsContentRating][transfer none]

Since: 0.5.12

### as_app_get_icons ()

    GPtrArray *
    as_app_get_icons (AsApp *app);

Gets any icons the application has defined.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsIcon][transfer none]

Since: 0.3.1

### as_app_get_bundles ()

    GPtrArray *
    as_app_get_bundles (AsApp *app);

Gets any bundles the application has defined.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsBundle][transfer none]

Since: 0.3.5

### as_app_get_translations ()

    GPtrArray *
    as_app_get_translations (AsApp *app);

Gets any translations the application has defined.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsTranslation][transfer none]

Since: 0.5.8

### as_app_get_suggests ()

    GPtrArray *
    as_app_get_suggests (AsApp *app);

Gets any suggests the application has defined.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsSuggest][transfer none]

Since: 0.6.1

### as_app_get_requires ()

    GPtrArray *
    as_app_get_requires (AsApp *app);

Gets any requires the application has defined. A requirement could be that a firmware version has to be below a defined version or that another application is required to be installed.

#### Parameters

app | a AsApp instance. |

#### Returns

an array.

[element-type AsRequire][transfer none]

Since: 0.6.7

### as_app_get_names ()

    GHashTable *
    as_app_get_names (AsApp *app);

Gets the names set for the application.

#### Parameters

app | a AsApp instance. |

#### Returns

hash table of names.

[transfer none]

Since: 0.1.6

### as_app_get_comments ()

    GHashTable *
    as_app_get_comments (AsApp *app);

Gets the comments set for the application.

#### Parameters

app | a AsApp instance. |

#### Returns

hash table of comments.

[transfer none]

Since: 0.1.6

### as_app_get_developer_names ()

    GHashTable *
    as_app_get_developer_names (AsApp *app);

Gets the developer_names set for the application.

#### Parameters

app | a AsApp instance. |

#### Returns

hash table of developer_names.

[transfer none]

Since: 0.1.8

### as_app_get_metadata ()

    GHashTable *
    as_app_get_metadata (AsApp *app);

Gets the metadata set for the application.

#### Parameters

app | a AsApp instance. |

#### Returns

hash table of metadata.

[transfer none][element-type utf8 utf8]

Since: 0.1.6

### as_app_get_descriptions ()

    GHashTable *
    as_app_get_descriptions (AsApp *app);

Gets the descriptions set for the application.

#### Parameters

app | a AsApp instance. |

#### Returns

hash table of descriptions.

[transfer none]

Since: 0.1.6

### as_app_get_urls ()

    GHashTable *
    as_app_get_urls (AsApp *app);

Gets the URLs set for the application.

#### Parameters

app | a AsApp instance. |

#### Returns

hash table of URLs.

[transfer none]

Since: 0.1.0

### as_app_get_vetos ()

    GPtrArray *
    as_app_get_vetos (AsApp *app);

Gets the list of vetos.

#### Parameters

app | A AsApp |

#### Returns

A list of vetos.

[transfer none][element-type utf8]

Since: 0.2.5

### as_app_get_icon_path ()

    const gchar *
    as_app_get_icon_path (AsApp *app);

Gets the application icon path.

#### Parameters

app | a AsApp instance. |

#### Returns

string, or `NULL` if unset

Since: 0.1.0

### as_app_get_id_filename ()

    const gchar *
    as_app_get_id_filename (AsApp *app);

Returns a filename which represents the applications ID, e.g. "gimp.desktop" becomes "gimp" and is used for cache directories.

#### Parameters

app | a AsApp instance. |

#### Returns

A utf8 filename

Since: 0.3.0

### as_app_get_id ()

    const gchar *
    as_app_get_id (AsApp *app);

Gets the full ID value.

#### Parameters

app | a AsApp instance. |

#### Returns

the ID, e.g. "org.gnome.Software.desktop"

Since: 0.1.0

### as_app_get_id_no_prefix ()

    const gchar *
    as_app_get_id_no_prefix (AsApp *app);

Gets the full ID value, stripping any prefix.

#### Parameters

app | a AsApp instance. |

#### Returns

the ID, e.g. "org.gnome.Software.desktop"

Since: 0.5.12

### as_app_get_unique_id ()

    const gchar *
    as_app_get_unique_id (AsApp *app);

Gets the unique ID value to represent the component.

#### Parameters

app | a AsApp instance. |

#### Returns

the unique ID, e.g. `system/package/fedora/desktop/gimp.desktop/master`

Since: 0.6.1

### as_app_get_pkgname_default ()

    const gchar *
    as_app_get_pkgname_default (AsApp *app);

Gets the default package name.

#### Parameters

app | a AsApp instance. |

#### Returns

string, or `NULL` if unset

Since: 0.2.0

### as_app_get_source_pkgname ()

    const gchar *
    as_app_get_source_pkgname (AsApp *app);

Gets the source package name that produced the binary package. Only source packages producing more than one binary package will have this entry set.

#### Parameters

app | a AsApp instance. |

#### Returns

string, or `NULL` if unset

Since: 0.2.4

### as_app_get_origin ()

    const gchar *
    as_app_get_origin (AsApp *app);

Gets the application origin.

#### Parameters

app | a AsApp instance. |

#### Returns

the origin string, or `NULL` if unset

Since: 0.3.2

### as_app_get_project_group ()

    const gchar *
    as_app_get_project_group (AsApp *app);

Gets an application project group.

#### Parameters

app | a AsApp instance. |

#### Returns

string, or `NULL` if unset

Since: 0.1.0

### as_app_get_project_license ()

    const gchar *
    as_app_get_project_license (AsApp *app);

Gets the application project license.

#### Parameters

app | a AsApp instance. |

#### Returns

string, or `NULL` if unset

Since: 0.1.0

### as_app_get_metadata_license ()

    const gchar *
    as_app_get_metadata_license (AsApp *app);

Gets the application project license.

#### Parameters

app | a AsApp instance. |

#### Returns

string, or `NULL` if unset

Since: 0.1.4

### as_app_get_update_contact ()

    const gchar *
    as_app_get_update_contact (AsApp *app);

Gets the application upstream update contact email.

#### Parameters

app | a AsApp instance. |

#### Returns

string, or `NULL` if unset

Since: 0.1.4

### as_app_get_branch ()

    const gchar *
    as_app_get_branch (AsApp *app);

Gets the branch for the application.

#### Parameters

app | a AsApp instance. |

#### Returns

string, or `NULL` if unset

Since: 0.6.1

### as_app_get_name ()

    const gchar *
    as_app_get_name (AsApp *app,
                     const gchar *locale);

Gets the application name for a specific locale.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]

#### Returns

string, or `NULL` if unset

Since: 0.1.0

### as_app_get_comment ()

    const gchar *
    as_app_get_comment (AsApp *app,
                        const gchar *locale);

Gets the application summary for a specific locale.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]

#### Returns

string, or `NULL` if unset

Since: 0.1.0

### as_app_get_developer_name ()

    const gchar *
    as_app_get_developer_name (AsApp *app,
                               const gchar *locale);

Gets the application developer name for a specific locale.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]

#### Returns

string, or `NULL` if unset

Since: 0.1.8

### as_app_get_description ()

    const gchar *
    as_app_get_description (AsApp *app,
                            const gchar *locale);

Gets the application description markup for a specific locale.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]

#### Returns

string, or `NULL` if unset

Since: 0.1.0

### as_app_get_priority ()

    gint
    as_app_get_priority (AsApp *app);

Gets the application priority. Larger values trump smaller values.

#### Parameters

app | a AsApp instance. |

#### Returns

priority value

Since: 0.1.0

### as_app_get_language ()

    gint
    as_app_get_language (AsApp *app,
                         const gchar *locale);

Gets the language coverage for the specific language.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]

#### Returns

a percentage value where 0 is unspecified, or -1 for not found

Since: 0.1.0

### as_app_get_metadata_item ()

    const gchar *
    as_app_get_metadata_item (AsApp *app,
                              const gchar *key);

Gets some metadata item.

#### Parameters

app | a AsApp instance. |
key | the metadata key. |

#### Returns

string, or `NULL` if unset

Since: 0.1.0

### as_app_get_url_item ()

    const gchar *
    as_app_get_url_item (AsApp *app,
                         AsUrlKind url_kind);

Gets a URL.

#### Parameters

app | a AsApp instance. |
url_kind | the URL kind, e.g. `AS_URL_KIND_HOMEPAGE`. |

#### Returns

string, or `NULL` if unset

Since: 0.1.0

### as_app_has_category ()

    gboolean
    as_app_has_category (AsApp *app,
                         const gchar *category);

Searches the category list for a specific item.

#### Parameters

app | a AsApp instance. |
category | a category string, e.g. "DesktopSettings" |

#### Returns

`TRUE` if the application has got the specified category

Since: 0.1.5

### as_app_has_kudo ()

    gboolean
    as_app_has_kudo (AsApp *app,
                     const gchar *kudo);

Searches the kudo list for a specific item.

#### Parameters

app | a AsApp instance. |
kudo | a kudo string, e.g. "SearchProvider" |

#### Returns

`TRUE` if the application has got the specified kudo

Since: 0.2.2

### as_app_has_kudo_kind ()

    gboolean
    as_app_has_kudo_kind (AsApp *app,
                          AsKudoKind kudo);

Searches the kudo list for a specific item.

#### Parameters

app | a AsApp instance. |
kudo | a AsKudoKind, e.g. `AS_KUDO_KIND_SEARCH_PROVIDER` |

#### Returns

`TRUE` if the application has got the specified kudo

Since: 0.2.2

### as_app_has_permission ()

    gboolean
    as_app_has_permission (AsApp *app,
                           const gchar *permission);

Searches the permission list for a specific item.

#### Parameters

app | a AsApp instance. |
permission | a permission string, e.g. "Network" |

#### Returns

`TRUE` if the application has got the specified permission

Since: 0.3.5

### as_app_get_format_default ()

    AsFormat *
    as_app_get_format_default (AsApp *app);

Returns the default format.

#### Parameters

app | a AsApp instance. |

#### Returns

A AsFormat, or `NULL` if not found.

[transfer none]

Since: 0.6.9

### as_app_get_format_by_kind ()

    AsFormat *
    as_app_get_format_by_kind (AsApp *app,
                               AsFormatKind kind);

Searches the list of formats for a specific format kind.

#### Parameters

app | a AsApp instance. |
kind | a AsFormatKind, e.g. `AS_FORMAT_KIND_APPDATA` |

#### Returns

A AsFormat, or `NULL` if not found.

[transfer none]

Since: 0.6.9

### as_app_get_format_by_filename ()

    AsFormat *
    as_app_get_format_by_filename (AsApp *app,
                                   const gchar *filename);

Searches the list of formats for a specific filename.

#### Parameters

app | a AsApp instance. |
filename | a filename, e.g. "/home/hughsie/dave.desktop" |

#### Returns

A AsFormat, or `NULL` if not found.

[transfer none]

Since: 0.6.9

### as_app_has_compulsory_for_desktop ()

    gboolean
    as_app_has_compulsory_for_desktop (AsApp *app,
                                       const gchar *desktop);

Searches the compulsory for desktop list for a specific item.

#### Parameters

app | a AsApp instance. |
desktop | a desktop string, e.g. "GNOME" |

#### Returns

`TRUE` if the application is compulsory for a specific desktop

Since: 0.5.12

### as_app_has_quirk ()

    gboolean
    as_app_has_quirk (AsApp *app,
                      AsAppQuirk quirk);

Queries to see if an application has a specific attribute.

#### Parameters

app | a AsApp instance. |
quirk | the AsAppQuirk, e.g. `AS_APP_QUIRK_PROVENANCE` |

#### Returns

`TRUE` if the application has the attribute

Since: 0.5.10

### as_app_get_launchable_default ()

    AsLaunchable *
    as_app_get_launchable_default (AsApp *app);

Returns the default launchable.

#### Parameters

app | a AsApp instance. |

#### Returns

A AsLaunchable, or `NULL` if not found.

[transfer none]

Since: 0.6.13

### as_app_get_launchable_by_kind ()

    AsLaunchable *
    as_app_get_launchable_by_kind (AsApp *app,
                                   AsLaunchableKind kind);

Searches the list of launchables for a specific launchable kind.

#### Parameters

app | a AsApp instance. |
kind | a AsLaunchableKind, e.g. `AS_FORMAT_KIND_APPDATA` |

#### Returns

A AsLaunchable, or `NULL` if not found.

[transfer none]

Since: 0.6.13

### as_app_set_id ()

    void
    as_app_set_id (AsApp *app,
                   const gchar *id);

Sets a new application ID. Any invalid characters will be automatically replaced.

#### Parameters

app | a AsApp instance. |
id | the new _full_ application ID, e.g. "org.gnome.Software.desktop". |

Since: 0.1.0

### as_app_set_kind ()

    void
    as_app_set_kind (AsApp *app,
                     AsAppKind kind);

Sets the application kind.

#### Parameters

app | a AsApp instance. |
kind | the AsAppKind. |

Since: 0.5.10

### as_app_set_scope ()

    void
    as_app_set_scope (AsApp *app,
                      AsAppScope scope);

Sets the scope of the application.

#### Parameters

app | a AsApp instance. |
scope | the AsAppScope. |

Since: 0.6.1

### as_app_set_merge_kind ()

    void
    as_app_set_merge_kind (AsApp *app,
                           AsAppMergeKind merge_kind);

Sets the merge kind of the application.

#### Parameters

app | a AsApp instance. |
merge_kind | the AsAppMergeKind. |

Since: 0.6.1

### as_app_set_state ()

    void
    as_app_set_state (AsApp *app,
                      AsAppState state);

Sets the application state.

#### Parameters

app | a AsApp instance. |
state | the AsAppState. |

Since: 0.2.2

### as_app_set_trust_flags ()

    void
    as_app_set_trust_flags (AsApp *app,
                            guint32 trust_flags);

Sets the check flags, where `AS_APP_TRUST_FLAG_COMPLETE` is completely trusted input.

#### Parameters

app | a AsApp instance. |
trust_flags | the AsAppTrustFlags. |

Since: 0.2.2

### as_app_set_search_match ()

    void
    as_app_set_search_match (AsApp *app,
                             guint16 search_match);

Sets the token match fields. The bitfield given here is used to choose what is included in the token cache.

#### Parameters

app | a AsApp instance. |
search_match | the AsAppSearchMatch, e.g. `AS_APP_SEARCH_MATCH_PKGNAME` |

Since: 0.6.13

### as_app_set_origin ()

    void
    as_app_set_origin (AsApp *app,
                       const gchar *origin);

Sets the application origin.

#### Parameters

app | a AsApp instance. |
origin | the origin, e.g. "fedora-21" |

Since: 0.3.2

### as_app_set_project_group ()

    void
    as_app_set_project_group (AsApp *app,
                              const gchar *project_group);

Set any project affiliation.

#### Parameters

app | a AsApp instance. |
project_group | the project group, e.g. "GNOME". |

Since: 0.1.0

### as_app_set_project_license ()

    void
    as_app_set_project_license (AsApp *app,
                                const gchar *project_license);

Set the project license.

#### Parameters

app | a AsApp instance. |
project_license | the project license string. |

Since: 0.1.0

### as_app_set_metadata_license ()

    void
    as_app_set_metadata_license (AsApp *app,
                                 const gchar *metadata_license);

Set the project license.

#### Parameters

app | a AsApp instance. |
metadata_license | the project license string. |

Since: 0.1.4

### as_app_set_source_pkgname ()

    void
    as_app_set_source_pkgname (AsApp *app,
                               const gchar *source_pkgname);

Set the project license.

#### Parameters

app | a AsApp instance. |
source_pkgname | the project license string. |

Since: 0.2.4

### as_app_set_update_contact ()

    void
    as_app_set_update_contact (AsApp *app,
                               const gchar *update_contact);

Set the project license.

#### Parameters

app | a AsApp instance. |
update_contact | the project license string. |

Since: 0.1.4

### as_app_set_icon_path ()

    void
    as_app_set_icon_path (AsApp *app,
                          const gchar *icon_path);

Sets the icon path, where local icons would be found.

#### Parameters

app | a AsApp instance. |
icon_path | the local path. |

Since: 0.1.0

### as_app_set_name ()

    void
    as_app_set_name (AsApp *app,
                     const gchar *locale,
                     const gchar *name);

Sets the application name for a specific locale.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]
name | the application name. |

Since: 0.1.0

### as_app_set_comment ()

    void
    as_app_set_comment (AsApp *app,
                        const gchar *locale,
                        const gchar *comment);

Sets the application summary for a specific locale.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]
comment | the application summary. |

Since: 0.1.0

### as_app_set_developer_name ()

    void
    as_app_set_developer_name (AsApp *app,
                               const gchar *locale,
                               const gchar *developer_name);

Sets the application developer name for a specific locale.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]
developer_name | the application developer name. |

Since: 0.1.0

### as_app_set_description ()

    void
    as_app_set_description (AsApp *app,
                            const gchar *locale,
                            const gchar *description);

Sets the application description markup for a specific locale.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]
description | the application description. |

Since: 0.1.0

### as_app_set_branch ()

    void
    as_app_set_branch (AsApp *app,
                       const gchar *branch);

Set the branch that the instance was sourced from.

#### Parameters

app | a AsApp instance. |
branch | the branch, e.g. "master" or "3-16". |

Since: 0.6.1

### as_app_set_priority ()

    void
    as_app_set_priority (AsApp *app,
                         gint priority);

Sets the application priority, where 0 is default and positive numbers are better than negative numbers.

#### Parameters

app | a AsApp instance. |
priority | the priority. |

Since: 0.1.0

### as_app_add_category ()

    void
    as_app_add_category (AsApp *app,
                         const gchar *category);

Adds a menu category to the application.

#### Parameters

app | a AsApp instance. |
category | the category. |

Since: 0.1.0

### as_app_remove_category ()

    void
    as_app_remove_category (AsApp *app,
                            const gchar *category);

Removed a menu category from the application.

#### Parameters

app | a AsApp instance. |
category | the category. |

Since: 0.6.13

### as_app_add_keyword ()

    void
    as_app_add_keyword (AsApp *app,
                        const gchar *locale,
                        const gchar *keyword);

Add a keyword the application should match against.

#### Parameters

app | a AsApp instance. |
locale | the locale. e.g. "en_GB". | [nullable]
keyword | the keyword. |

Since: 0.3.0

### as_app_add_kudo ()

    void
    as_app_add_kudo (AsApp *app,
                     const gchar *kudo);

Add a kudo the application has obtained.

#### Parameters

app | a AsApp instance. |
kudo | the kudo. |

Since: 0.2.2

### as_app_remove_kudo ()

    void
    as_app_remove_kudo (AsApp *app,
                        const gchar *kudo);

Remove a kudo the application has obtained.

#### Parameters

app | a AsApp instance. |
kudo | the kudo. |

Since: 0.6.13

### as_app_add_kudo_kind ()

    void
    as_app_add_kudo_kind (AsApp *app,
                          AsKudoKind kudo_kind);

Add a kudo the application has obtained.

#### Parameters

app | a AsApp instance. |
kudo_kind | the AsKudoKind. |

Since: 0.2.2

### as_app_add_permission ()

    void
    as_app_add_permission (AsApp *app,
                           const gchar *permission);

Add a permission the application has obtained.

#### Parameters

app | a AsApp instance. |
permission | the permission. |

Since: 0.3.5

### as_app_add_format ()

    void
    as_app_add_format (AsApp *app,
                       AsFormat *format);

Add a format the application has been built from.

#### Parameters

app | a AsApp instance. |
format | the AsFormat. |

Since: 0.6.9

### as_app_remove_format ()

    void
    as_app_remove_format (AsApp *app,
                          AsFormat *format);

Removes a format the application has been built from.

#### Parameters

app | a AsApp instance. |
format | the AsFormat. |

Since: 0.6.9

### as_app_add_mimetype ()

    void
    as_app_add_mimetype (AsApp *app,
                         const gchar *mimetype);

Adds a mimetype the application can process.

#### Parameters

app | a AsApp instance. |
mimetype | the mimetype. |

Since: 0.1.0

### as_app_add_pkgname ()

    void
    as_app_add_pkgname (AsApp *app,
                        const gchar *pkgname);

Adds a package name to an application.

#### Parameters

app | a AsApp instance. |
pkgname | the package name. |

Since: 0.1.0

### as_app_add_arch ()

    void
    as_app_add_arch (AsApp *app,
                     const gchar *arch);

Adds a package name to an application.

#### Parameters

app | a AsApp instance. |
arch | the package name. |

Since: 0.1.1

### as_app_add_release ()

    void
    as_app_add_release (AsApp *app,
                        AsRelease *release);

Adds a release to an application.

#### Parameters

app | a AsApp instance. |
release | a AsRelease instance. |

Since: 0.1.0

### as_app_add_provide ()

    void
    as_app_add_provide (AsApp *app,
                        AsProvide *provide);

Adds a provide to an application.

#### Parameters

app | a AsApp instance. |
provide | a AsProvide instance. |

Since: 0.1.6

### as_app_add_launchable ()

    void
    as_app_add_launchable (AsApp *app,
                           AsLaunchable *launchable);

Adds a launchable to an application.

#### Parameters

app | a AsApp instance. |
launchable | a AsLaunchable instance. |

Since: 0.6.13

### as_app_add_screenshot ()

    void
    as_app_add_screenshot (AsApp *app,
                           AsScreenshot *screenshot);

Adds a screenshot to an application.

#### Parameters

app | a AsApp instance. |
screenshot | a AsScreenshot instance. |

Since: 0.1.0

### as_app_add_review ()

    void
    as_app_add_review (AsApp *app,
                       AsReview *review);

Adds a review to an application.

#### Parameters

app | a AsApp instance. |
review | a AsReview instance. |

Since: 0.6.1

### as_app_add_content_rating ()

    void
    as_app_add_content_rating (AsApp *app,
                               AsContentRating *content_rating);

Adds a content_rating to an application.

#### Parameters

app | a AsApp instance. |
content_rating | a AsContentRating instance. |

Since: 0.5.12

### as_app_add_agreement ()

    void
    as_app_add_agreement (AsApp *app,
                          AsAgreement *agreement);

Adds a agreement to an application.

#### Parameters

app | a AsApp instance. |
agreement | a AsAgreement instance. |

Since: 0.7.8

### as_app_add_icon ()

    void
    as_app_add_icon (AsApp *app,
                     AsIcon *icon);

Adds a icon to an application.

#### Parameters

app | a AsApp instance. |
icon | a AsIcon instance. |

Since: 0.3.1

### as_app_add_bundle ()

    void
    as_app_add_bundle (AsApp *app,
                       AsBundle *bundle);

Adds a bundle to an application.

#### Parameters

app | a AsApp instance. |
bundle | a AsBundle instance. |

Since: 0.3.5

### as_app_add_translation ()

    void
    as_app_add_translation (AsApp *app,
                            AsTranslation *translation);

Adds a translation to an application.

#### Parameters

app | a AsApp instance. |
translation | a AsTranslation instance. |

Since: 0.5.8

### as_app_add_suggest ()

    void
    as_app_add_suggest (AsApp *app,
                        AsSuggest *suggest);

Adds a suggest to an application.

#### Parameters

app | a AsApp instance. |
suggest | a AsSuggest instance. |

Since: 0.6.1

### as_app_add_require ()

    void
    as_app_add_require (AsApp *app,
                        AsRequire *require);

Adds a require to an application.

#### Parameters

app | a AsApp instance. |
require | a AsRequire instance. |

Since: 0.6.7

### as_app_add_language ()

    void
    as_app_add_language (AsApp *app,
                         gint percentage,
                         const gchar *locale);

Adds a language to the application.

#### Parameters

app | a AsApp instance. |
percentage | the percentage completion of the translation, or 0 for unknown |
locale | the locale. e.g. "en_GB". | [nullable]

Since: 0.1.0

### as_app_add_compulsory_for_desktop ()

    void
    as_app_add_compulsory_for_desktop (AsApp *app,
                                       const gchar *compulsory_for_desktop);

Adds a desktop that requires this application to be installed.

#### Parameters

app | a AsApp instance. |
compulsory_for_desktop | the desktop string, e.g. "GNOME". |

Since: 0.1.0

### as_app_add_url ()

    void
    as_app_add_url (AsApp *app,
                    AsUrlKind url_kind,
                    const gchar *url);

Adds some URL data to the application.

#### Parameters

app | a AsApp instance. |
url_kind | the URL kind, e.g. `AS_URL_KIND_HOMEPAGE` |
url | the full URL. |

Since: 0.1.0

### as_app_add_metadata ()

    void
    as_app_add_metadata (AsApp *app,
                         const gchar *key,
                         const gchar *value);

Adds a metadata entry to the application.

#### Parameters

app | a AsApp instance. |
key | the metadata key. |
value | the value to store. | [nullable]

Since: 0.1.0

### as_app_remove_metadata ()

    void
    as_app_remove_metadata (AsApp *app,
                            const gchar *key);

Removes a metadata item from the application.

#### Parameters

app | a AsApp instance. |
key | the metadata key. |

Since: 0.1.0

### as_app_add_addon ()

    void
    as_app_add_addon (AsApp *app,
                      AsApp *addon);

Adds a addon to an application.

#### Parameters

app | a AsApp instance. |
addon | a AsApp instance. |

Since: 0.1.7

### as_app_add_extends ()

    void
    as_app_add_extends (AsApp *app,
                        const gchar *extends);

Adds a parent ID to the application.

#### Parameters

app | a AsApp instance. |
extends | the full ID, e.g. "eclipse.desktop". |

Since: 0.1.7

### as_app_add_quirk ()

    void
    as_app_add_quirk (AsApp *app,
                      AsAppQuirk quirk);

Adds a specific attribute to an application.

#### Parameters

app | a AsApp instance. |
quirk | the AsAppQuirk, e.g. `AS_APP_QUIRK_PROVENANCE` |

Since: 0.5.10

### as_app_validate ()

    GPtrArray *
    as_app_validate (AsApp *app,
                     guint32 flags,
                     GError **error);

Validates data in the instance for style and consistency.

#### Parameters

app | a AsApp instance. |
flags | the AsAppValidateFlags to use, e.g. `AS_APP_VALIDATE_FLAG_NONE` |
error | A GError or `NULL`. |

#### Returns

A list of problems, or `NULL`.

[transfer container][element-type AsProblem]

Since: 0.1.4

### as_app_subsume ()

    void
    as_app_subsume (AsApp *app,
                    AsApp *donor);

Copies information from the donor to the application object.

#### Parameters

app | a AsApp instance. |
donor | the donor. |

Since: 0.1.0

### as_app_subsume_full ()

    void
    as_app_subsume_full (AsApp *app,
                         AsApp *donor,
                         guint64 flags);

Copies information from the donor to the application object.

#### Parameters

app | a AsApp instance. |
donor | the donor. |
flags | any optional AsAppSubsumeFlags, e.g. `AS_APP_SUBSUME_FLAG_NO_OVERWRITE` |

Since: 0.1.4

### as_app_add_veto ()

    void
    as_app_add_veto (AsApp *app,
                     const gchar *fmt,
                     ...);

Adds a reason to not include the application in the metadata.

#### Parameters

app | A AsApp |
fmt | format string |
... | varargs |

Since: 0.2.5

### as_app_remove_veto ()

    void
    as_app_remove_veto (AsApp *app,
                        const gchar *description);

Removes a reason to not include the application in the metadata.

#### Parameters

app | A AsApp |
description | veto string |

Since: 0.4.1

### as_app_search_matches_all ()

    guint
    as_app_search_matches_all (AsApp *app,
                               gchar **search);

Searches application data for all the specific keywords.

#### Parameters

app | a AsApp instance. |
search | the search terms. |

#### Returns

a match scrore, where 0 is no match and larger numbers are better matches.

It's probably a good idea to use `as_utils_search_tokenize()` to populate search as very short or common keywords will return a lot of matches.

Since: 0.1.3

### as_app_search_matches ()

    guint
    as_app_search_matches (AsApp *app,
                           const gchar *search);

Searches application data for a specific keyword.

#### Parameters

app | a AsApp instance. |
search | the search term. |

#### Returns

a match scrore, where 0 is no match and 100 is the best match.

Since: 0.1.0

### as_app_parse_file ()

    gboolean
    as_app_parse_file (AsApp *app,
                       const gchar *filename,
                       guint32 flags,
                       GError **error);

Parses a desktop or AppData file and populates the application state.

Applications that are not suitable for the store will have vetos added.

#### Parameters

app | a AsApp instance. |
filename | file to load. |
flags | AsAppParseFlags, e.g. `AS_APP_PARSE_FLAG_USE_HEURISTICS` |
error | A GError or `NULL`. |

#### Returns

`TRUE` for success

Since: 0.1.2

### as_app_parse_data ()

    gboolean
    as_app_parse_data (AsApp *app,
                       GBytes *data,
                       guint32 flags,
                       GError **error);

Parses an AppData file and populates the application state.

#### Parameters

app | a AsApp instance. |
data | data to parse. |
flags | AsAppParseFlags, e.g. `AS_APP_PARSE_FLAG_USE_HEURISTICS` |
error | A GError or `NULL`. |

#### Returns

`TRUE` for success

Since: 0.7.5

### as_app_to_file ()

    gboolean
    as_app_to_file (AsApp *app,
                    GFile *file,
                    GCancellable *cancellable,
                    GError **error);

Exports a DOM tree to an XML file.

#### Parameters

app | a AsApp instance. |
file | a GFile |
cancellable | A GCancellable. | [nullable]
error | A GError or `NULL` |

#### Returns

`TRUE` for success

Since: 0.2.0

### as_app_to_xml ()

    GString *
    as_app_to_xml (AsApp *app,
                   GError **error);

Exports a DOM tree to an XML string.

#### Parameters

app | a AsApp instance. |
error | A GError or `NULL` |

#### Returns

an XML string, or `NULL`.

[transfer full]

Since: 0.7.14

### as_app_get_content_rating ()

    AsContentRating *
    as_app_get_content_rating (AsApp *app,
                               const gchar *kind);

Gets a content ratings the application has defined of a specific type.

#### Parameters

app | a AsApp instance. |
kind | a ratings kind, e.g. "oars-1.0" |

#### Returns

a AsContentRating or NULL for not found.

[transfer none]

Since: 0.5.12

### as_app_get_agreement_by_kind ()

    AsAgreement *
    as_app_get_agreement_by_kind (AsApp *app,
                                  AsAgreementKind kind);

Gets a agreement the application has defined of a specific type.

#### Parameters

app | a AsApp instance. |
kind | an agreement kind, e.g. `AS_AGREEMENT_KIND_EULA` |

#### Returns

a AsAgreement or NULL for not found.

[transfer none]

Since: 0.7.8

### as_app_get_agreement_default ()

    AsAgreement *
    as_app_get_agreement_default (AsApp *app);

Gets a privacy policys the application has defined of a specific type.

#### Parameters

app | a AsApp instance. |

#### Returns

a AsAgreement or NULL for not found.

[transfer none]

Since: 0.7.8

### as_app_get_screenshot_default ()

    AsScreenshot *
    as_app_get_screenshot_default (AsApp *app);

Gets the default screenshot for the component.

#### Parameters

app | a AsApp instance. |

#### Returns

a screenshot or `NULL`.

[transfer none]

Since: 0.7.3

### as_app_get_icon_default ()

    AsIcon *
    as_app_get_icon_default (AsApp *app);

Finds the default icon.

#### Parameters

app | A AsApp |

#### Returns

a AsIcon, or `NULL`.

[transfer none]

Since: 0.3.1

### as_app_get_icon_for_size ()

    AsIcon *
    as_app_get_icon_for_size (AsApp *app,
                              guint width,
                              guint height);

Finds an icon of a specific size.

#### Parameters

app | A AsApp |
width | Size in pixels |
height | Size in pixels |

#### Returns

a AsIcon, or `NULL`.

[transfer none]

Since: 0.3.1

### as_app_get_bundle_default ()

    AsBundle *
    as_app_get_bundle_default (AsApp *app);

Finds the default bundle.

#### Parameters

app | A AsApp |

#### Returns

a AsBundle, or `NULL`.

[transfer none]

Since: 0.3.5

### as_app_get_release ()

    AsRelease *
    as_app_get_release (AsApp *app,
                        const gchar *version);

Gets a specific release from the application.

#### Parameters

app | a AsApp instance. |
version | a version string |

#### Returns

a release, or `NULL`.

[transfer none]

Since: 0.3.5

### as_app_get_release_default ()

    AsRelease *
    as_app_get_release_default (AsApp *app);

Gets the default (newest) release from the application.

#### Parameters

app | a AsApp instance. |

#### Returns

a release, or `NULL`.

[transfer none]

Since: 0.3.5

### as_app_get_release_by_version ()

    AsRelease *
    as_app_get_release_by_version (AsApp *app,
                                   const gchar *version);

Gets a specific release from the application.

#### Parameters

app | a AsApp instance. |
version | a release version number, e.g. "1.2.3" |

#### Returns

a release, or `NULL`.

[transfer none]

Since: 0.7.3

### as_app_get_require_by_value ()

    AsRequire *
    as_app_get_require_by_value (AsApp *app,
                                 AsRequireKind kind,
                                 const gchar *value);

Gets a specific requirement for the application.

#### Parameters

app | a AsApp instance. |
kind | a AsRequireKind, e.g. `AS_REQUIRE_KIND_FIRMWARE` |
value | a string, or NULL, e.g. `bootloader` |

#### Returns

A AsRequire, or `NULL` for not found.

[transfer none]

Since: 0.6.7

### as_app_convert_icons ()

    gboolean
    as_app_convert_icons (AsApp *app,
                          AsIconKind kind,
                          GError **error);

Converts all the icons in the application to a specific kind.

#### Parameters

app | A AsApp. |
kind | the AsIconKind, e.g. `AS_ICON_KIND_EMBEDDED`. |
error | A GError or `NULL` |

#### Returns

`TRUE` for success

Since: 0.3.1

### as_app_equal ()

    gboolean
    as_app_equal (AsApp *app1,
                  AsApp *app2);

Compare one application with another for equality using the following properties:

1. scope, e.g. `system` or `user`

2. bundle kind, e.g. `package` or `flatpak`

3. origin, e.g. `fedora` or `gnome-apps-nightly`

4. kind, e.g. `app` or `runtime`

5. AppStream ID, e.g. `gimp.desktop`

6. branch, e.g. `stable` or `master`

#### Parameters

app1 | a AsApp instance. |
app2 | another AsApp instance. |

#### Returns

`TRUE` if the applications are equal

Since: 0.6.1

### as_app_get_id_kind ()

    AsIdKind
    as_app_get_id_kind (AsApp *app);

`as_app_get_id_kind` is deprecated and should not be used in newly-written code.

Gets the ID kind.

#### Parameters

app | a AsApp instance. |

#### Returns

enumerated value

Since: 0.1.0

### as_app_set_id_kind ()

    void
    as_app_set_id_kind (AsApp *app,
                        AsIdKind id_kind);

`as_app_set_id_kind` is deprecated and should not be used in newly-written code.

Sets the application kind.

#### Parameters

app | a AsApp instance. |
id_kind | the AsAppKind. |

Since: 0.1.0

### as_app_set_source_file ()

    void
    as_app_set_source_file (AsApp *app,
                            const gchar *source_file);

`as_app_set_source_file` is deprecated and should not be used in newly-written code.

Set the file that the instance was sourced from.

#### Parameters

app | a AsApp instance. |
source_file | the filename. |

Since: 0.2.2

### as_app_get_source_file ()

    const gchar *
    as_app_get_source_file (AsApp *app);

`as_app_get_source_file` is deprecated and should not be used in newly-written code.

Gets the default source filename the instance was populated from.

#### Parameters

app | a AsApp instance. |

#### Returns

string, or `NULL` if unset

Since: 0.2.2

### as_app_get_source_kind ()

    AsFormatKind
    as_app_get_source_kind (AsApp *app);

`as_app_get_source_kind` is deprecated and should not be used in newly-written code.

Gets the source kind, i.e. where the AsApp came from.

#### Parameters

app | a AsApp instance. |

#### Returns

enumerated value

Since: 0.1.4

### as_app_set_source_kind ()

    void
    as_app_set_source_kind (AsApp *app,
                            AsFormatKind source_kind);

`as_app_set_source_kind` is deprecated and should not be used in newly-written code.

Sets the source kind.

#### Parameters

app | a AsApp instance. |
source_kind | the AsFormatKind. |

Since: 0.1.4

### as_app_source_kind_from_string ()

    AsFormatKind
    as_app_source_kind_from_string (const gchar *source_kind);

`as_app_source_kind_from_string` is deprecated and should not be used in newly-written code.

Converts the text representation to an enumerated value.

#### Parameters

source_kind | a source kind string |

#### Returns

A AsFormatKind, e.g. `AS_FORMAT_KIND_APPSTREAM`.

Since: 0.2.2

### as_app_source_kind_to_string ()

    const gchar *
    as_app_source_kind_to_string (AsFormatKind source_kind);

`as_app_source_kind_to_string` is deprecated and should not be used in newly-written code.

Converts the enumerated value to an text representation.

#### Parameters

source_kind | the AsFormatKind. |

#### Returns

string version of `source_kind` , or `NULL` for unknown

Since: 0.2.2

### as_app_guess_source_kind ()

    AsFormatKind
    as_app_guess_source_kind (const gchar *filename);

`as_app_guess_source_kind` is deprecated and should not be used in newly-written code.

Guesses the source kind based from the filename.

#### Parameters

filename | a file name |

#### Returns

A AsFormatKind, e.g. `AS_FORMAT_KIND_APPSTREAM`.

Since: 0.1.8

## Types and Values

### AS_TYPE_APP

    #define AS_TYPE_APP (as_app_get_type ())

### struct AsAppClass

    struct AsAppClass {
    	GObjectClass		parent_class;
    };

### enum AsAppParseFlags

The flags to use when parsing resources.

#### Members

AS_APP_PARSE_FLAG_NONE | No special actions to use |
AS_APP_PARSE_FLAG_USE_HEURISTICS | Use heuristic to infer properties |
AS_APP_PARSE_FLAG_KEEP_COMMENTS | Save comments from the file |
AS_APP_PARSE_FLAG_CONVERT_TRANSLATABLE | Allow translatable flags like <_p> |
AS_APP_PARSE_FLAG_APPEND_DATA | Append new data rather than replacing |
AS_APP_PARSE_FLAG_ALLOW_VETO | Do not return errors for vetoed apps |
AS_APP_PARSE_FLAG_USE_FALLBACKS | Fall back to suboptimal data where required |
AS_APP_PARSE_FLAG_ADD_ALL_METADATA | Add all extra metadata from the source file |
AS_APP_PARSE_FLAG_ONLY_NATIVE_LANGS | Only load native languages |

### enum AsAppSubsumeFlags

The flags to use when subsuming applications.

#### Members

AS_APP_SUBSUME_FLAG_NONE | No special actions to use |
AS_APP_SUBSUME_FLAG_NO_OVERWRITE | Do not overwrite already set properties |
AS_APP_SUBSUME_FLAG_BOTH_WAYS | Copy unset properties both ways |
AS_APP_SUBSUME_FLAG_REPLACE |  |
AS_APP_SUBSUME_FLAG_KIND | Copy the kind |
AS_APP_SUBSUME_FLAG_STATE | Copy the state |
AS_APP_SUBSUME_FLAG_BUNDLES | Copy the bundles |
AS_APP_SUBSUME_FLAG_TRANSLATIONS | Copy the translations |
AS_APP_SUBSUME_FLAG_RELEASES | Copy the releases |
AS_APP_SUBSUME_FLAG_KUDOS | Copy the kudos |
AS_APP_SUBSUME_FLAG_CATEGORIES | Copy the categories |
AS_APP_SUBSUME_FLAG_PERMISSIONS | Copy the permissions |
AS_APP_SUBSUME_FLAG_EXTENDS | Copy the extends |
AS_APP_SUBSUME_FLAG_COMPULSORY | Copy the compulsory-for-desktop |
AS_APP_SUBSUME_FLAG_SCREENSHOTS | Copy the screenshots |
AS_APP_SUBSUME_FLAG_REVIEWS | Copy the reviews |
AS_APP_SUBSUME_FLAG_CONTENT_RATINGS | Copy the content ratings |
AS_APP_SUBSUME_FLAG_PROVIDES | Copy the provides |
AS_APP_SUBSUME_FLAG_ICONS | Copy the icons |
AS_APP_SUBSUME_FLAG_MIMETYPES | Copy the mimetypes |
AS_APP_SUBSUME_FLAG_VETOS | Copy the vetos |
AS_APP_SUBSUME_FLAG_LANGUAGES | Copy the languages |
AS_APP_SUBSUME_FLAG_NAME | Copy the name |
AS_APP_SUBSUME_FLAG_COMMENT | Copy the comment |
AS_APP_SUBSUME_FLAG_DEVELOPER_NAME | Copy the developer name |
AS_APP_SUBSUME_FLAG_DESCRIPTION | Copy the description |
AS_APP_SUBSUME_FLAG_METADATA | Copy the metadata |
AS_APP_SUBSUME_FLAG_URL | Copy the urls |
AS_APP_SUBSUME_FLAG_KEYWORDS | Copy the keywords |
AS_APP_SUBSUME_FLAG_FORMATS | Copy the source file |
AS_APP_SUBSUME_FLAG_BRANCH | Copy the branch |
AS_APP_SUBSUME_FLAG_ORIGIN | Copy the origin |
AS_APP_SUBSUME_FLAG_METADATA_LICENSE | Copy the metadata license |
AS_APP_SUBSUME_FLAG_PROJECT_LICENSE | Copy the project license |
AS_APP_SUBSUME_FLAG_PROJECT_GROUP | Copy the project group |
AS_APP_SUBSUME_FLAG_SOURCE_KIND | Copy the source kind |
AS_APP_SUBSUME_FLAG_SUGGESTS |  |
AS_APP_SUBSUME_FLAG_LAUNCHABLES | Copy the launchables |
AS_APP_SUBSUME_FLAG_AGREEMENTS | Copy the agreements |

### AS_APP_SUBSUME_FLAG_SOURCE_FILE

    #define AS_APP_SUBSUME_FLAG_SOURCE_FILE		AS_APP_SUBSUME_FLAG_FORMATS

### AS_APP_SUBSUME_FLAG_MERGE

    #define             AS_APP_SUBSUME_FLAG_MERGE

### AS_APP_SUBSUME_FLAG_PARTIAL

    #define AS_APP_SUBSUME_FLAG_PARTIAL AS_APP_SUBSUME_FLAG_MERGE

### AS_APP_SUBSUME_FLAG_DEDUPE

    #define             AS_APP_SUBSUME_FLAG_DEDUPE

### enum AsAppError

The error type.

#### Members

AS_APP_ERROR_FAILED | Generic failure |
AS_APP_ERROR_INVALID_TYPE | Invalid type |

### enum AsAppValidateFlags

The flags to use when validating.

#### Members

AS_APP_VALIDATE_FLAG_NONE | No extra flags to use |
AS_APP_VALIDATE_FLAG_RELAX | Relax the checks |
AS_APP_VALIDATE_FLAG_STRICT | Make the checks more strict |
AS_APP_VALIDATE_FLAG_NO_NETWORK | Do not use the network |
AS_APP_VALIDATE_FLAG_ALL_APPS | Check all applications in a store |

### enum AsAppTrustFlags

The flags to use when checking input.

#### Members

AS_APP_TRUST_FLAG_COMPLETE | Trusted data with no validation |
AS_APP_TRUST_FLAG_CHECK_DUPLICATES | Check for duplicates |
AS_APP_TRUST_FLAG_CHECK_VALID_UTF8 | Check for valid UTF-8 |

### AsAppSourceKind

    typedef AsFormatKind AsAppSourceKind;

The source kind.

This has been deprecated since 0.6.9 in favour of using AsFormatKind.

### AS_APP_SOURCE_KIND_UNKNOWN

    #define AS_APP_SOURCE_KIND_UNKNOWN AS_FORMAT_KIND_UNKNOWN		/* Since: 0.1.4 */

### AS_APP_SOURCE_KIND_APPSTREAM

    #define AS_APP_SOURCE_KIND_APPSTREAM AS_FORMAT_KIND_APPSTREAM /* Since: 0.1.4 */

### AS_APP_SOURCE_KIND_DESKTOP

    #define AS_APP_SOURCE_KIND_DESKTOP AS_FORMAT_KIND_DESKTOP		/* Since: 0.1.4 */

### AS_APP_SOURCE_KIND_APPDATA

    #define AS_APP_SOURCE_KIND_APPDATA AS_FORMAT_KIND_APPDATA		/* Since: 0.1.4 */

### AS_APP_SOURCE_KIND_METAINFO

    #define AS_APP_SOURCE_KIND_METAINFO AS_FORMAT_KIND_METAINFO		/* Since: 0.1.7 */

### AS_APP_SOURCE_KIND_INF

    #define AS_APP_SOURCE_KIND_INF		AS_FORMAT_KIND_UNKNOWN		/* Since: 0.3.5 */

### enum AsAppKind

The component type.

#### Members

AS_APP_KIND_UNKNOWN | Type invalid or not known |
AS_APP_KIND_DESKTOP | A desktop application |
AS_APP_KIND_FONT | A font add-on |
AS_APP_KIND_CODEC | A codec add-on |
AS_APP_KIND_INPUT_METHOD | A input method add-on |
AS_APP_KIND_WEB_APP | A web appication |
AS_APP_KIND_SOURCE | A software source |
AS_APP_KIND_ADDON | An addon, e.g. a plugin |
AS_APP_KIND_FIRMWARE | A firmware update |
AS_APP_KIND_RUNTIME | Runtime platform |
AS_APP_KIND_GENERIC | Generic component |
AS_APP_KIND_OS_UPDATE | Operating system update |
AS_APP_KIND_OS_UPGRADE | Operating system upgrade |
AS_APP_KIND_SHELL_EXTENSION | GNOME Shell extension |
AS_APP_KIND_LOCALIZATION | Localization data |
AS_APP_KIND_CONSOLE | Console program |
AS_APP_KIND_DRIVER | Driver for hardware support |
AS_APP_KIND_ICON_THEME | An icon theme |

### enum AsAppQuirk

The component attributes.

#### Members

AS_APP_QUIRK_NONE | No special attributes |
AS_APP_QUIRK_PROVENANCE | Installed by OS vendor |
AS_APP_QUIRK_COMPULSORY | Cannot be removed |
AS_APP_QUIRK_HAS_SOURCE | Has a source to allow staying up-to-date |
AS_APP_QUIRK_MATCH_ANY_PREFIX | Matches applications with any prefix |
AS_APP_QUIRK_NEEDS_REBOOT | A reboot is required after the action |
AS_APP_QUIRK_NOT_REVIEWABLE | The app is not reviewable |
AS_APP_QUIRK_HAS_SHORTCUT | The app has a shortcut in the system |
AS_APP_QUIRK_NOT_LAUNCHABLE | The app is not launchable (run-able) |
AS_APP_QUIRK_NEEDS_USER_ACTION | The component requires some kind of user action |
AS_APP_QUIRK_IS_PROXY | Is a proxy app that operates on other applications |
AS_APP_QUIRK_REMOVABLE_HARDWARE | The device is unusable whilst the action is performed |
AS_APP_QUIRK_DEVELOPER_VERIFIED | The app developer has been verified |

### enum AsAppState

The application state.

#### Members

AS_APP_STATE_UNKNOWN | Unknown state |
AS_APP_STATE_INSTALLED | Application is installed |
AS_APP_STATE_AVAILABLE | Application is available |
AS_APP_STATE_AVAILABLE_LOCAL | Application is locally available as a file |
AS_APP_STATE_UPDATABLE | Application is installed and updatable |
AS_APP_STATE_UNAVAILABLE | Application is referenced, but not available |
AS_APP_STATE_QUEUED_FOR_INSTALL | Application is queued for install |
AS_APP_STATE_INSTALLING | Application is being installed |
AS_APP_STATE_REMOVING | Application is being removed |
AS_APP_STATE_UPDATABLE_LIVE | Application is installed and updatable live |
AS_APP_STATE_PURCHASABLE | Application is available for purchasing |
AS_APP_STATE_PURCHASING | Application is being purchased |

### enum AsAppScope

The application scope.

#### Members

AS_APP_SCOPE_UNKNOWN | Unknown scope |
AS_APP_SCOPE_USER | User scope |
AS_APP_SCOPE_SYSTEM | System scope |

### enum AsAppMergeKind

The component merge kind.

#### Members

AS_APP_MERGE_KIND_UNKNOWN | Unknown merge type |
AS_APP_MERGE_KIND_NONE | No merge to be done |
AS_APP_MERGE_KIND_REPLACE | Merge components, replacing |
AS_APP_MERGE_KIND_APPEND | Merge components, appending |

### enum AsAppSearchMatch

The token match kind, which we want to be exactly 16 bits for storage reasons.

#### Members

AS_APP_SEARCH_MATCH_NONE | No token matching |
AS_APP_SEARCH_MATCH_MIMETYPE | Use the app mimetypes |
AS_APP_SEARCH_MATCH_PKGNAME | Use the app package name |
AS_APP_SEARCH_MATCH_DESCRIPTION | Use the app description |
AS_APP_SEARCH_MATCH_COMMENT | Use the app comment |
AS_APP_SEARCH_MATCH_NAME | Use the app name |
AS_APP_SEARCH_MATCH_KEYWORD | Use the app keyword |
AS_APP_SEARCH_MATCH_ID | Use the app application ID |
AS_APP_SEARCH_MATCH_ORIGIN | Use the app origin |

### AS_APP_ERROR

    #define AS_APP_ERROR				as_app_error_quark ()

### AsApp

    typedef struct _AsApp AsApp;