diff options
Diffstat (limited to 'libappstream-glib/as-utils.h')
-rw-r--r-- | libappstream-glib/as-utils.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/libappstream-glib/as-utils.h b/libappstream-glib/as-utils.h index a8d56a0..ecb7cdd 100644 --- a/libappstream-glib/as-utils.h +++ b/libappstream-glib/as-utils.h @@ -95,6 +95,30 @@ typedef enum { AS_VERSION_PARSE_FLAG_LAST } AsVersionParseFlag; +/** + * AsUniqueIdMatchFlags: + * @AS_UNIQUE_ID_MATCH_FLAG_NONE: No flags set + * @AS_UNIQUE_ID_MATCH_FLAG_SCOPE: Scope, e.g. a #AsAppScope + * @AS_UNIQUE_ID_MATCH_FLAG_BUNDLE_KIND: Bundle kind, e.g. a #AsBundleKind + * @AS_UNIQUE_ID_MATCH_FLAG_ORIGIN: Origin + * @AS_UNIQUE_ID_MATCH_FLAG_KIND: Component kind, e.g. a #AsAppKind + * @AS_UNIQUE_ID_MATCH_FLAG_ID: Component AppStream ID + * @AS_UNIQUE_ID_MATCH_FLAG_BRANCH: Branch + * + * The flags used when matching unique IDs. + **/ +typedef enum { + AS_UNIQUE_ID_MATCH_FLAG_NONE = 0, + AS_UNIQUE_ID_MATCH_FLAG_SCOPE = 1 << 0, + AS_UNIQUE_ID_MATCH_FLAG_BUNDLE_KIND = 1 << 1, /* Since: 0.7.8 */ + AS_UNIQUE_ID_MATCH_FLAG_ORIGIN = 1 << 2, /* Since: 0.7.8 */ + AS_UNIQUE_ID_MATCH_FLAG_KIND = 1 << 3, /* Since: 0.7.8 */ + AS_UNIQUE_ID_MATCH_FLAG_ID = 1 << 4, /* Since: 0.7.8 */ + AS_UNIQUE_ID_MATCH_FLAG_BRANCH = 1 << 5, /* Since: 0.7.8 */ + /*< private >*/ + AS_UNIQUE_ID_MATCH_FLAG_LAST +} AsUniqueIdMatchFlags; + GQuark as_utils_error_quark (void); gboolean as_utils_is_stock_icon_name (const gchar *name); gboolean as_utils_is_spdx_license_id (const gchar *license_id); @@ -146,6 +170,9 @@ gchar *as_utils_unique_id_build (AsAppScope scope, const gchar *branch); gboolean as_utils_unique_id_equal (const gchar *unique_id1, const gchar *unique_id2); +gboolean as_utils_unique_id_match (const gchar *unique_id1, + const gchar *unique_id2, + AsUniqueIdMatchFlags match_flags); gboolean as_utils_unique_id_valid (const gchar *unique_id); guint as_utils_unique_id_hash (const gchar *unique_id); gchar *as_utils_appstream_id_build (const gchar *str); |