[glib/wip/mimeinfo: 3/4] tests: expand 'apps' tool



commit 98f478c13e43185468ed2d0b7029e9387620627e
Author: Ryan Lortie <desrt desrt ca>
Date:   Wed Apr 9 18:59:20 2014 -0400

    tests: expand 'apps' tool
    
    Add modes to output the applications found for get_default_,
    get_recommended_, get_fallback_ and get_all_for_type().

 gio/tests/apps.c |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)
---
diff --git a/gio/tests/apps.c b/gio/tests/apps.c
index d790249..305cde5 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,39 @@ 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;
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]