00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __MNTD_VOLUME_MANAGER_H__
00027 #define __MNTD_VOLUME_MANAGER_H__
00028
00029 #include <glib.h>
00030 #include <dbus/dbus.h>
00031
00032 #include "mntd_volume_manager_types.h"
00033 #include "mntd_volume_types.h"
00034 #include "mntd_volume_hash.h"
00035
00036 #if defined(__cplusplus)
00037 extern "C" {
00038 #endif
00039
00040
00048 PVOLUMEMANAGER new_VolumeManager(const char *base, const char *prefix);
00049
00050
00054 struct VOLUMEMANAGER_ {
00055
00056 PHASHMAP phm;
00057 char *base;
00058 char *prefix;
00066 int (*init) (PVOLUMEMANAGER pvm);
00067
00072 void (*destroy) (PVOLUMEMANAGER pvm);
00073
00078 void (*rescan) (PVOLUMEMANAGER pvm);
00079
00086 char *(*get_mntpnt) (PVOLUMEMANAGER pvm, const char *udi);
00087
00094 int (*contains) (PVOLUMEMANAGER pvm, const char *udi);
00095
00102 void (*foreach_mounted) (PVOLUMEMANAGER pvm,
00103 int (*func)(void *data, void *userdata),
00104 void *userdata);
00105
00113 void (*add_volume) (PVOLUMEMANAGER pvm, const char *udi);
00114
00122 void (*remove_volume) (PVOLUMEMANAGER pvm, const char *udi);
00123
00131 int (*remount) (PVOLUMEMANAGER pvm, const char *udi, int flag);
00132
00133 };
00134
00135
00136 #if defined(__cplusplus)
00137 }
00138 #endif
00139
00140 #endif