static void search_callback_add_file_callbacks (SearchCallback *callback) { GList *file_list_copy, *list; NautilusFile *file; file_list_copy = g_list_copy (callback->file_list); for (list = file_list_copy; list != NULL; list = list->next) { file = list->data; nautilus_file_call_when_ready (file, callback->wait_for_attributes, search_callback_file_ready_callback, callback); } g_list_free (file_list_copy); }
int main (int argc, char **argv) { const char *uri; GAppInfo *default_application; GList *all_applications; NautilusFile *file; NautilusFileAttributes attributes; gtk_init (&argc, &argv); if (argc != 2) { fprintf (stderr, "Usage: %s uri\n", *argv); return 1; } uri = argv[1]; file = nautilus_file_get_by_uri (uri); attributes = nautilus_mime_actions_get_full_file_attributes (); nautilus_file_call_when_ready (file, attributes, ready_callback, NULL); while (!ready) { gtk_main_iteration (); } default_application = nautilus_mime_get_default_application_for_file (file); puts ("Default Application"); print_application (default_application); puts (""); all_applications = nautilus_mime_get_applications_for_file (file); puts ("All Applications"); print_application_list (all_applications); puts (""); return 0; }