From a366b6f2d5cabcf04bad84ef40589eada2d7d4f6 Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Wed, 9 Apr 2014 18:59:20 -0400 Subject: [PATCH] tests: expand 'apps' tool Add modes to output the applications found for get_default_, get_recommended_, get_fallback_ and get_all_for_type(). https://bugzilla.gnome.org/show_bug.cgi?id=728040 --- gio/tests/apps.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gio/tests/apps.c b/gio/tests/apps.c index d790249..6597966 100644 --- a/gio/tests/apps.c +++ b/gio/tests/apps.c @@ -8,6 +8,18 @@ print (const gchar *str) g_print ("%s\n", str ? str : "nil"); } +static void +print_app_list (GList *list) +{ + while (list) + { + GAppInfo *info = list->data; + print (g_app_info_get_id (info)); + list = g_list_delete_link (list, list); + g_object_unref (info); + } +} + int main (int argc, char **argv) { @@ -53,6 +65,40 @@ main (int argc, char **argv) g_object_unref (info); } } + else if (g_str_equal (argv[1], "default-for-type")) + { + GAppInfo *info; + + info = g_app_info_get_default_for_type (argv[2], FALSE); + + if (info) + { + print (g_app_info_get_id (info)); + g_object_unref (info); + } + } + else if (g_str_equal (argv[1], "recommended-for-type")) + { + GList *list; + + list = g_app_info_get_recommended_for_type (argv[2]); + print_app_list (list); + } + else if (g_str_equal (argv[1], "all-for-type")) + { + GList *list; + + list = g_app_info_get_all_for_type (argv[2]); + print_app_list (list); + } + + else if (g_str_equal (argv[1], "fallback-for-type")) + { + GList *list; + + list = g_app_info_get_fallback_for_type (argv[2]); + print_app_list (list); + } return 0; } -- 2.7.4