2008-02-29 Cosimo Cecchi <cosimoc@gnome.org>
[nautilus.git] / libnautilus-private / nautilus-autorun.h
blob0037a5bfd19e3d0edd3436e9579cb0a9a8abd924
1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
3 /*
4 * Nautilus
6 * Copyright (C) 2008 Red Hat, Inc.
8 * Nautilus is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 * Author: David Zeuthen <davidz@redhat.com>
25 /* TODO:
27 * - automount all user-visible media on startup
28 * - but avoid doing autorun for these
29 * - unmount all the media we've automounted on shutdown
30 * - finish x-content / * types
31 * - finalize the semi-spec
32 * - add probing/sniffing code
33 * - clean up code
34 * - implement missing features
35 * - "Open Folder when mounted"
36 * - Autorun spec (e.g. $ROOT/.autostart)
40 #ifndef NAUTILUS_AUTORUN_H
41 #define NAUTILUS_AUTORUN_H
43 #include <gtk/gtkvbox.h>
44 #include <eel/eel-background.h>
45 #include <libnautilus-private/nautilus-file.h>
47 void _g_mount_guess_content_type_async (GMount *mount,
48 gboolean force_rescan,
49 GCancellable *cancellable,
50 GAsyncReadyCallback callback,
51 gpointer user_data);
53 char ** _g_mount_guess_content_type_finish (GMount *mount,
54 GAsyncResult *result,
55 GError **error);
57 char ** _g_mount_guess_content_type (GMount *mount,
58 gboolean force_rescan,
59 GError **error);
62 typedef void (*NautilusAutorunComboBoxChanged) (gboolean selected_ask,
63 gboolean selected_ignore,
64 gboolean selected_open_folder,
65 GAppInfo *selected_app,
66 gpointer user_data);
68 typedef void (*NautilusAutorunOpenWindow) (GMount *mount, gpointer user_data);
70 void nautilus_autorun_prepare_combo_box (GtkWidget *combo_box,
71 const char *x_content_type,
72 gboolean include_ask,
73 gboolean update_settings,
74 NautilusAutorunComboBoxChanged changed_cb,
75 gpointer user_data);
77 void nautilus_autorun_set_preferences (const char *x_content_type, gboolean pref_ask, gboolean pref_ignore, gboolean pref_open_folder);
78 void nautilus_autorun_get_preferences (const char *x_content_type, gboolean *pref_ask, gboolean *pref_ignore, gboolean *pref_open_folder);
80 void nautilus_autorun (GMount *mount, NautilusAutorunOpenWindow open_window_func, gpointer user_data);
82 char **nautilus_autorun_get_x_content_types_for_mount (GMount *mount,
83 gboolean force_rescan);
85 void nautilus_autorun_launch_for_mount (GMount *mount, GAppInfo *app_info);
87 void nautilus_inhibit_autorun_for_volume (GVolume *volume);
88 void nautilus_inhibit_autorun_for_file (GFile *file);
90 #endif /* NAUTILUS_AUTORUN_H */