glib/gio/gnativevolumemonitor.h
Alexander Larsson 28d1c8e0ad Make g_io_modules_load_all_in_directory not unuse loaded modules so that
2007-12-19  Alexander Larsson  <alexl@redhat.com>

        * giomodule.c:
	Make g_io_modules_load_all_in_directory not unuse
	loaded modules so that users of it can do stuff
	before unloading.
	Init internal "module" types.
	Initialize static prio and name for types so that
	we don't have to load modules to get it.
	
        * gnativevolumemonitor.h:
	* gvolumemonitor.h:
	Move is_supported to parent class so that
	non-native monitors can avoid being initialized
	too. (For instance GDaemonVolumeMonitor if we're
	not using GDaemonVfs.)
	
        * glocaldirectorymonitor.[ch]:
        * glocalfilemonitor.[ch]:
	* gunionvolumemonitor.c:
        * gunixvolumemonitor.c:
        * gvfs.c:
	Find plugins using the static prio+name to
	avoid unnecessarily loading the modules.


svn path=/trunk/; revision=6159
2007-12-19 16:08:55 +00:00

38 lines
1.2 KiB
C

#ifndef __G_NATIVE_VOLUME_MONITOR_H__
#define __G_NATIVE_VOLUME_MONITOR_H__
#include <glib-object.h>
#include <gio/gvolumemonitor.h>
G_BEGIN_DECLS
#define G_TYPE_NATIVE_VOLUME_MONITOR (g_native_volume_monitor_get_type ())
#define G_NATIVE_VOLUME_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_NATIVE_VOLUME_MONITOR, GNativeVolumeMonitor))
#define G_NATIVE_VOLUME_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_NATIVE_VOLUME_MONITOR, GNativeVolumeMonitorClass))
#define G_IS_NATIVE_VOLUME_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_NATIVE_VOLUME_MONITOR))
#define G_IS_NATIVE_VOLUME_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_NATIVE_VOLUME_MONITOR))
typedef struct _GNativeVolumeMonitor GNativeVolumeMonitor;
typedef struct _GNativeVolumeMonitorClass GNativeVolumeMonitorClass;
struct _GNativeVolumeMonitor {
GVolumeMonitor parent_instance;
};
struct _GNativeVolumeMonitorClass {
GVolumeMonitorClass parent_class;
int priority;
char *name;
GMount * (*get_mount_for_mount_path) (const char *mount_path,
GCancellable *cancellable);
};
GType g_native_volume_monitor_get_type (void) G_GNUC_CONST;
G_END_DECLS
#endif /* __G_NATIVE_VOLUME_MONITOR_H__ */