00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef _LIBGNOMEVFSMM_DIRECTORYHANDLE_H
00022
#define _LIBGNOMEVFSMM_DIRECTORYHANDLE_H
00023
00024
#include <glibmm.h>
00025
00026
#include <libgnomevfsmm/uri.h>
00027
#include <libgnomevfsmm/file-info.h>
00028
#include <libgnomevfsmm/enums.h>
00029
#include <libgnomevfsmm/exception.h>
00030
#include <libgnomevfs/gnome-vfs-directory.h>
00031
00032
00033
#ifndef DOXYGEN_SHOULD_SKIP_THIS
00034
typedef struct GnomeVFSDirectoryHandle GnomeVFSDirectoryHandle;
00035
#endif
00036
00037
namespace Gnome
00038 {
00039
00040
namespace Vfs
00041 {
00042
00043 class DirectoryHandle
00044 {
00045
public:
00046
DirectoryHandle();
00047
virtual ~DirectoryHandle();
00048
00049
00051 typedef SigC::Slot4<bool, const Glib::ustring&, const Glib::RefPtr<const FileInfo>&,
bool,
bool&>
SlotVisit;
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
static void visit(
const Glib::ustring& uri, FileInfoOptions info_options, DirectoryVisitOptions visit_options,
const SlotVisit& slot)
throw(
exception);
00062
static void visit(
const Glib::RefPtr<const Uri>& uri, FileInfoOptions info_options, DirectoryVisitOptions visit_options,
const SlotVisit& slot)
throw(
exception);
00063
00064
static void visit_files(
const Glib::ustring& uri,
const Glib::ListHandle<Glib::ustring>& file_list, FileInfoOptions info_options, DirectoryVisitOptions visit_options,
const SlotVisit& slot)
throw(
exception);
00065
static void visit_files(
const Glib::RefPtr<const Uri>& uri,
const Glib::ListHandle<Glib::ustring> & file_list, FileInfoOptions info_options, DirectoryVisitOptions visit_options,
const SlotVisit& slot)
throw(
exception);
00066
00067
static void list_load(
const Glib::ListHandle<Glib::ustring>& list,
const Glib::ustring& text_uri, FileInfoOptions info_options)
throw(
exception);
00068
00069
void open(
const Glib::ustring& text_uri, FileInfoOptions options = FILE_INFO_DEFAULT)
throw(
exception);
00070
void open(
const Glib::RefPtr<const Uri>& uri, FileInfoOptions options = FILE_INFO_DEFAULT)
throw(
exception);
00071
00072
void close() throw(
exception);
00073
00074 Glib::RefPtr<
FileInfo> read_next(
bool& file_exists) throw(exception);
00075
00076
00077 GnomeVFSDirectoryHandle* gobj();
00078 const GnomeVFSDirectoryHandle* gobj() const;
00079
00080
00081 protected:
00082
00083 GnomeVFSDirectoryHandle* gobj_;
00084 };
00085
00086 }
00087 }
00088
00089
00090
00091
00092 #endif
00093