1 
2 /* nautilus-program-choosing.h - functions for selecting and activating
3                                  programs for opening/viewing particular files.
4 
5    Copyright (C) 2000 Eazel, Inc.
6 
7    The Gnome Library is free software; you can redistribute it and/or
8    modify it under the terms of the GNU Library General Public License as
9    published by the Free Software Foundation; either version 2 of the
10    License, or (at your option) any later version.
11 
12    The Gnome Library is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15    Library General Public License for more details.
16 
17    You should have received a copy of the GNU Library General Public
18    License along with the Gnome Library; see the file COPYING.LIB.  If not,
19    see <http://www.gnu.org/licenses/>.
20 
21    Author: John Sullivan <sullivan@eazel.com>
22 */
23 
24 #pragma once
25 
26 #include <gtk/gtk.h>
27 #include <gio/gio.h>
28 #include "nautilus-file.h"
29 
30 typedef void (*NautilusApplicationChoiceCallback)   (GAppInfo                          *application,
31                                                      gpointer                           callback_data);
32 
33 void nautilus_launch_application                    (GAppInfo                          *application,
34                                                      GList                             *files,
35                                                      GtkWindow                         *parent_window);
36 void nautilus_launch_application_by_uri             (GAppInfo                          *application,
37                                                      GList                             *uris,
38                                                      GtkWindow                         *parent_window);
39 void nautilus_launch_application_for_mount          (GAppInfo                          *app_info,
40                                                      GMount                            *mount,
41                                                      GtkWindow                         *parent_window);
42 void nautilus_launch_application_from_command       (GdkScreen                         *screen,
43                                                      const char                        *command_string,
44                                                      gboolean                           use_terminal,
45                                                      ...) G_GNUC_NULL_TERMINATED;
46 void nautilus_launch_application_from_command_array (GdkScreen                         *screen,
47                                                      const char                        *command_string,
48                                                      gboolean                           use_terminal,
49                                                      const char * const *               parameters);
50 void nautilus_launch_desktop_file                   (GdkScreen                         *screen,
51                                                      const char                        *desktop_file_uri,
52                                                      const GList                       *parameter_uris,
53                                                      GtkWindow                         *parent_window);
54 void nautilus_launch_default_for_uri_async          (const char                        *uri,
55                                                      GtkWindow                         *parent_window,
56                                                      GCancellable                      *cancellable,
57                                                      GAsyncReadyCallback                callback,
58                                                      gpointer                           callback_data);
59 gboolean nautilus_launch_default_for_uri_finish     (GAsyncResult                      *result,
60                                                      GError                           **error);