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
00047 PVOLUMEMANAGER new_VolumeManager(const char *config);
00048
00049
00053 struct VOLUMEMANAGER_ {
00054
00055 PHASHMAP phm;
00056 char *base;
00057 char *config;
00065 int (*init) (PVOLUMEMANAGER pvm);
00066
00071 void (*destroy) (PVOLUMEMANAGER pvm);
00072
00077 void (*rescan) (PVOLUMEMANAGER pvm);
00078
00085 char *(*get_mntpnt) (PVOLUMEMANAGER pvm, const char *udi);
00086
00094 int (*contains) (PVOLUMEMANAGER pvm, const char *udi);
00095
00103 void (*foreach_mounted) (PVOLUMEMANAGER pvm,
00104 int (*func)(void *data, void *userdata),
00105 void *userdata);
00106
00115 void (*add_volume) (PVOLUMEMANAGER pvm, const char *udi);
00116
00125 void (*remove_volume) (PVOLUMEMANAGER pvm, const char *udi);
00126
00136 void (*new_volume_capability) (PVOLUMEMANAGER pvm, const char *udi, const char *capability);
00137
00147 void (*add_volume_property) (PVOLUMEMANAGER pvm, const char *udi, const char *property);
00148
00158 void (*remove_volume_property) (PVOLUMEMANAGER pvm, const char *udi, const char *property);
00159
00169 void (*change_volume_property) (PVOLUMEMANAGER pvm, const char *udi, const char *property);
00170
00171 };
00172
00173
00174 #if defined(__cplusplus)
00175 }
00176 #endif
00177
00178 #endif