00001 #ifndef _LIBGNOMEVFSMM_MONITOR_HANDLE_H
00002 #define _LIBGNOMEVFSMM_MONITOR_HANDLE_H
00003
00004 #include <glibmm.h>
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <libgnomevfsmm/enums.h>
00024 #include <libgnomevfsmm/exception.h>
00025 #include <libgnomevfs/gnome-vfs-monitor.h>
00026
00027
00028 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00029 typedef struct GnomeVFSMonitorHandle GnomeVFSMonitorHandle;
00030 #endif
00031
00032
00033 namespace Gnome
00034 {
00035
00036 namespace Vfs
00037 {
00038
00039 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00040 namespace
00041 {
00042
00043 class SignalProxy_Monitor;
00044
00045 }
00046 #endif
00047
00048 class MonitorHandle
00049 {
00050 public:
00051 MonitorHandle();
00052 virtual ~MonitorHandle();
00053
00055 typedef SigC::Slot4<void, const MonitorHandle&, const Glib::ustring&, const Glib::ustring&, MonitorEventType> SlotMonitor;
00056
00057 void add(const Glib::ustring& text_uri, MonitorType type, const SlotMonitor& slot) throw(exception);
00058 void cancel() throw(exception);
00059
00060 GnomeVFSMonitorHandle** gobj_addr();
00061 GnomeVFSMonitorHandle* gobj();
00062 const GnomeVFSMonitorHandle* gobj() const;
00063
00064 private:
00065
00066 GnomeVFSMonitorHandle* gobj_;
00067 SignalProxy_Monitor* proxy_;
00068 };
00069
00070 }
00071 }
00072
00073 #endif
00074