summaryrefslogtreecommitdiff
path: root/libappstream-glib/as-utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'libappstream-glib/as-utils.h')
-rw-r--r--libappstream-glib/as-utils.h27
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);