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::slot<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