1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- 2 * 3 * Copyright (C) 2014-2016 Richard Hughes <richard@hughsie.com> 4 * 5 * SPDX-License-Identifier: LGPL-2.1+ 6 */ 7 8 #pragma once 9 10 #if !defined (__APPSTREAM_GLIB_H_INSIDE__) && !defined (AS_COMPILATION) 11 #error "Only <appstream-glib.h> can be included directly." 12 #endif 13 14 #include <glib.h> 15 16 G_BEGIN_DECLS 17 18 /** 19 * AsIdKind: 20 * @AS_ID_KIND_UNKNOWN: Type invalid or not known 21 * @AS_ID_KIND_DESKTOP: A desktop application 22 * @AS_ID_KIND_FONT: A font add-on 23 * @AS_ID_KIND_CODEC: A codec add-on 24 * @AS_ID_KIND_INPUT_METHOD: A input method add-on 25 * @AS_ID_KIND_WEB_APP: A web appication 26 * @AS_ID_KIND_SOURCE: A software source 27 * @AS_ID_KIND_ADDON: An addon, e.g. a plugin 28 * @AS_ID_KIND_FIRMWARE: A firmware update 29 * @AS_ID_KIND_RUNTIME: Runtime platform 30 * @AS_ID_KIND_GENERIC: Generic component 31 * 32 * The component type. 33 **/ 34 typedef enum { 35 AS_ID_KIND_UNKNOWN, /* Since: 0.1.0 */ 36 AS_ID_KIND_DESKTOP, /* Since: 0.1.0 */ 37 AS_ID_KIND_FONT, /* Since: 0.1.0 */ 38 AS_ID_KIND_CODEC, /* Since: 0.1.0 */ 39 AS_ID_KIND_INPUT_METHOD, /* Since: 0.1.0 */ 40 AS_ID_KIND_WEB_APP, /* Since: 0.1.0 */ 41 AS_ID_KIND_SOURCE, /* Since: 0.1.0 */ 42 AS_ID_KIND_ADDON, /* Since: 0.1.7 */ 43 AS_ID_KIND_FIRMWARE, /* Since: 0.3.5 */ 44 AS_ID_KIND_RUNTIME, /* Since: 0.5.6 */ 45 AS_ID_KIND_GENERIC, /* Since: 0.5.8 */ 46 /*< private >*/ 47 AS_ID_KIND_LAST 48 } AsIdKind G_GNUC_DEPRECATED_FOR(AsAppKind); 49 50 /** 51 * AsUrlKind: 52 * @AS_URL_KIND_UNKNOWN: Type invalid or not known 53 * @AS_URL_KIND_HOMEPAGE: Application project homepage 54 * @AS_URL_KIND_BUGTRACKER: Application bugtracker 55 * @AS_URL_KIND_FAQ: Application FAQ page 56 * @AS_URL_KIND_DONATION: Application donation page 57 * @AS_URL_KIND_HELP: Application help manual 58 * @AS_URL_KIND_MISSING: The package is available, but missing 59 * @AS_URL_KIND_TRANSLATE: Application translation page 60 * @AS_URL_KIND_DETAILS: Release details 61 * @AS_URL_KIND_SOURCE: Link to source code 62 * @AS_URL_KIND_CONTACT: URL to contact developer on 63 * 64 * The URL type. 65 **/ 66 typedef enum { 67 AS_URL_KIND_UNKNOWN, /* Since: 0.1.0 */ 68 AS_URL_KIND_HOMEPAGE, /* Since: 0.1.0 */ 69 AS_URL_KIND_BUGTRACKER, /* Since: 0.1.1 */ 70 AS_URL_KIND_FAQ, /* Since: 0.1.1 */ 71 AS_URL_KIND_DONATION, /* Since: 0.1.1 */ 72 AS_URL_KIND_HELP, /* Since: 0.1.5 */ 73 AS_URL_KIND_MISSING, /* Since: 0.2.2 */ 74 AS_URL_KIND_TRANSLATE, /* Since: 0.6.1 */ 75 AS_URL_KIND_DETAILS, /* Since: 0.7.15 */ 76 AS_URL_KIND_SOURCE, /* Since: 0.7.15 */ 77 AS_URL_KIND_CONTACT, /* Since: 0.7.15 */ 78 /*< private >*/ 79 AS_URL_KIND_LAST 80 } AsUrlKind; 81 82 /** 83 * AsKudoKind: 84 * @AS_KUDO_KIND_UNKNOWN: Type invalid or not known 85 * @AS_KUDO_KIND_SEARCH_PROVIDER: Installs a search provider 86 * @AS_KUDO_KIND_USER_DOCS: Installs user documentation 87 * @AS_KUDO_KIND_APP_MENU: Uses the GNOME application menu 88 * @AS_KUDO_KIND_MODERN_TOOLKIT: Uses a modern toolkit like GTK3 or QT5 89 * @AS_KUDO_KIND_NOTIFICATIONS: Registers notifications with KDE or GNOME 90 * @AS_KUDO_KIND_HIGH_CONTRAST: Installs a high contrast icon 91 * @AS_KUDO_KIND_HI_DPI_ICON: Installs a high DPI icon 92 * 93 * The kudo type. 94 **/ 95 typedef enum { 96 AS_KUDO_KIND_UNKNOWN, /* Since: 0.2.2 */ 97 AS_KUDO_KIND_SEARCH_PROVIDER, /* Since: 0.2.2 */ 98 AS_KUDO_KIND_USER_DOCS, /* Since: 0.2.2 */ 99 AS_KUDO_KIND_APP_MENU, /* Since: 0.2.2 */ 100 AS_KUDO_KIND_MODERN_TOOLKIT, /* Since: 0.2.2 */ 101 AS_KUDO_KIND_NOTIFICATIONS, /* Since: 0.2.2 */ 102 AS_KUDO_KIND_HIGH_CONTRAST, /* Since: 0.3.0 */ 103 AS_KUDO_KIND_HI_DPI_ICON, /* Since: 0.3.1 */ 104 /*< private >*/ 105 AS_KUDO_KIND_LAST 106 } AsKudoKind; 107 108 /** 109 * AsUrgencyKind: 110 * @AS_URGENCY_KIND_UNKNOWN: Urgency invalid or not known 111 * @AS_URGENCY_KIND_LOW: Low urgency release 112 * @AS_URGENCY_KIND_MEDIUM: Medium urgency release 113 * @AS_URGENCY_KIND_HIGH: High urgency release 114 * @AS_URGENCY_KIND_CRITICAL: Critically urgent release 115 * 116 * The urgency of a release. 117 **/ 118 typedef enum { 119 AS_URGENCY_KIND_UNKNOWN, /* Since: 0.5.1 */ 120 AS_URGENCY_KIND_LOW, /* Since: 0.5.1 */ 121 AS_URGENCY_KIND_MEDIUM, /* Since: 0.5.1 */ 122 AS_URGENCY_KIND_HIGH, /* Since: 0.5.1 */ 123 AS_URGENCY_KIND_CRITICAL, /* Since: 0.5.1 */ 124 /*< private >*/ 125 AS_URGENCY_KIND_LAST 126 } AsUrgencyKind; 127 128 /** 129 * AsSizeKind: 130 * @AS_SIZE_KIND_UNKNOWN: Not known 131 * @AS_SIZE_KIND_INSTALLED: Installed size 132 * @AS_SIZE_KIND_DOWNLOAD: Download size 133 * 134 * The release size kind. 135 **/ 136 typedef enum { 137 AS_SIZE_KIND_UNKNOWN, /* Since: 0.5.2 */ 138 AS_SIZE_KIND_INSTALLED, /* Since: 0.5.2 */ 139 AS_SIZE_KIND_DOWNLOAD, /* Since: 0.5.2 */ 140 /*< private >*/ 141 AS_SIZE_KIND_LAST 142 } AsSizeKind; 143 144 const gchar *as_size_kind_to_string (AsSizeKind size_kind); 145 AsSizeKind as_size_kind_from_string (const gchar *size_kind); 146 147 const gchar *as_urgency_kind_to_string (AsUrgencyKind urgency_kind); 148 AsUrgencyKind as_urgency_kind_from_string (const gchar *urgency_kind); 149 150 const gchar *as_url_kind_to_string (AsUrlKind url_kind); 151 AsUrlKind as_url_kind_from_string (const gchar *url_kind); 152 153 const gchar *as_kudo_kind_to_string (AsKudoKind kudo_kind); 154 AsKudoKind as_kudo_kind_from_string (const gchar *kudo_kind); 155 156 /* deprecated */ 157 G_GNUC_BEGIN_IGNORE_DEPRECATIONS 158 const gchar *as_id_kind_to_string (AsIdKind id_kind) 159 G_DEPRECATED_FOR(as_app_kind_to_string); 160 AsIdKind as_id_kind_from_string (const gchar *id_kind) 161 G_DEPRECATED_FOR(as_app_kind_from_string); 162 G_GNUC_END_IGNORE_DEPRECATIONS 163 164 G_END_DECLS 165