• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /* GIO - GLib Input, Output and Streaming Library
2   *
3   * Copyright (C) 2006-2007 Red Hat, Inc.
4   *
5   * This library is free software; you can redistribute it and/or
6   * modify it under the terms of the GNU Lesser General Public
7   * License as published by the Free Software Foundation; either
8   * version 2.1 of the License, or (at your option) any later version.
9   *
10   * This library is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   * Lesser General Public License for more details.
14   *
15   * You should have received a copy of the GNU Lesser General
16   * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
17   *
18   * Author: Alexander Larsson <alexl@redhat.com>
19   */
20  
21  #ifndef __G_NATIVE_VOLUME_MONITOR_H__
22  #define __G_NATIVE_VOLUME_MONITOR_H__
23  
24  #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
25  #error "Only <gio/gio.h> can be included directly."
26  #endif
27  
28  #include <gio/gvolumemonitor.h>
29  
30  G_BEGIN_DECLS
31  
32  #define G_TYPE_NATIVE_VOLUME_MONITOR        (g_native_volume_monitor_get_type ())
33  #define G_NATIVE_VOLUME_MONITOR(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_NATIVE_VOLUME_MONITOR, GNativeVolumeMonitor))
34  #define G_NATIVE_VOLUME_MONITOR_CLASS(k)    (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_NATIVE_VOLUME_MONITOR, GNativeVolumeMonitorClass))
35  #define G_IS_NATIVE_VOLUME_MONITOR(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_NATIVE_VOLUME_MONITOR))
36  #define G_IS_NATIVE_VOLUME_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_NATIVE_VOLUME_MONITOR))
37  
38  #define G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME "gio-native-volume-monitor"
39  
40  typedef struct _GNativeVolumeMonitor      GNativeVolumeMonitor;
41  typedef struct _GNativeVolumeMonitorClass GNativeVolumeMonitorClass;
42  
43  struct _GNativeVolumeMonitor
44  {
45    GVolumeMonitor parent_instance;
46  };
47  
48  struct _GNativeVolumeMonitorClass
49  {
50    GVolumeMonitorClass parent_class;
51  
52    GMount * (* get_mount_for_mount_path) (const char   *mount_path,
53                                           GCancellable *cancellable);
54  };
55  
56  GLIB_AVAILABLE_IN_ALL
57  GType g_native_volume_monitor_get_type (void) G_GNUC_CONST;
58  
59  G_END_DECLS
60  
61  #endif /* __G_NATIVE_VOLUME_MONITOR_H__ */
62