libgnomevfsmm 2.26.0
directory-handle.h
Go to the documentation of this file.
1/* $Id: directory-handle.h 2019 2009-01-27 08:29:42Z murrayc $ */
2
3/* Copyright 2003 gnome-vfsmm Development Team
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free
17 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20
21#ifndef _LIBGNOMEVFSMM_DIRECTORYHANDLE_H
22#define _LIBGNOMEVFSMM_DIRECTORYHANDLE_H
23
24#include <glibmm.h>
25
26#include <libgnomevfsmm/uri.h>
28#include <libgnomevfsmm/enums.h>
30#include <libgnomevfs/gnome-vfs-directory.h>
31
32
33#ifndef DOXYGEN_SHOULD_SKIP_THIS
34typedef struct GnomeVFSDirectoryHandle GnomeVFSDirectoryHandle;
35#endif /* DOXYGEN_SHOULD_SKIP_THIS */
36
37namespace Gnome
38{
39
40namespace Vfs
41{
42
44{
45public:
48
49
51 typedef sigc::slot<bool, const Glib::ustring&, const Glib::RefPtr<const FileInfo>&, bool, bool&> SlotVisit;
52
53 /*
54 typedef gboolean (* GnomeVFSDirectoryVisitFunc) (const gchar *rel_path,
55 GnomeVFSFileInfo *info,
56 gboolean recursing_will_loop,
57 gpointer data,
58 gboolean *recurse);
59 */
60
61#ifdef GLIBMM_EXCEPTIONS_ENABLED
62 static void visit(const Glib::ustring& uri, FileInfoOptions info_options, DirectoryVisitOptions visit_options, const SlotVisit& slot) throw(exception);
63 static void visit(const Glib::RefPtr<const Uri>& uri, FileInfoOptions info_options, DirectoryVisitOptions visit_options, const SlotVisit& slot) throw(exception);
64
65 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);
66 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);
67
68 static void list_load(const Glib::ListHandle<Glib::ustring>& list, const Glib::ustring& text_uri, FileInfoOptions info_options) throw(exception);
69
70 void open(const Glib::ustring& text_uri, FileInfoOptions options = FILE_INFO_DEFAULT) throw(exception);
71 void open(const Glib::RefPtr<const Uri>& uri, FileInfoOptions options = FILE_INFO_DEFAULT) throw(exception);
72
73 void close() throw(exception);
74
75 Glib::RefPtr<FileInfo> read_next(bool& file_exists) throw(exception);
76
79 Glib::RefPtr<FileInfo> read_next() throw(exception);
80#else
81 static void visit(const Glib::ustring& uri, FileInfoOptions info_options, DirectoryVisitOptions visit_options, const SlotVisit& slot, std::auto_ptr<Gnome::Vfs::exception>& error);
82 static void visit(const Glib::RefPtr<const Uri>& uri, FileInfoOptions info_options, DirectoryVisitOptions visit_options, const SlotVisit& slot, std::auto_ptr<Gnome::Vfs::exception>& error);
83
84 static void visit_files(const Glib::ustring& uri, const Glib::ListHandle<Glib::ustring>& file_list, FileInfoOptions info_options, DirectoryVisitOptions visit_options, const SlotVisit& slot, std::auto_ptr<Gnome::Vfs::exception>& error);
85 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, std::auto_ptr<Gnome::Vfs::exception>& error);
86
87 static void list_load(const Glib::ListHandle<Glib::ustring>& list, const Glib::ustring& text_uri, FileInfoOptions info_options, std::auto_ptr<Gnome::Vfs::exception>& error);
88
89 void open(const Glib::ustring& text_uri, FileInfoOptions options, std::auto_ptr<Gnome::Vfs::exception>& error);
90 void open(const Glib::RefPtr<const Uri>& uri, FileInfoOptions options, std::auto_ptr<Gnome::Vfs::exception>& error);
91
92 void close(std::auto_ptr<Gnome::Vfs::exception>& error);
93
94 Glib::RefPtr<FileInfo> read_next(bool& file_exists, std::auto_ptr<Gnome::Vfs::exception>& error);
95
98 Glib::RefPtr<FileInfo> read_next(std::auto_ptr<Gnome::Vfs::exception>& error);
99#endif //GLIBMM_EXCEPTIONS_ENABLED
100
101 GnomeVFSDirectoryHandle* gobj();
102 const GnomeVFSDirectoryHandle* gobj() const;
103
104
105protected:
106
107 GnomeVFSDirectoryHandle* gobj_;
108};
109
110} // namespace Vfs
111} // namespace Gnome
112
113
114
115
116#endif /* _LIBGNOMEVFSMM_DIRECTORYHANDLE_H */
117
Definition: directory-handle.h:44
GnomeVFSDirectoryHandle * gobj_
Definition: directory-handle.h:107
static void list_load(const Glib::ListHandle< Glib::ustring > &list, const Glib::ustring &text_uri, FileInfoOptions info_options)
const GnomeVFSDirectoryHandle * gobj() const
void open(const Glib::ustring &text_uri, FileInfoOptions options=FILE_INFO_DEFAULT)
static void visit(const Glib::RefPtr< const Uri > &uri, FileInfoOptions info_options, DirectoryVisitOptions visit_options, const SlotVisit &slot)
static void visit_files(const Glib::ustring &uri, const Glib::ListHandle< Glib::ustring > &file_list, FileInfoOptions info_options, DirectoryVisitOptions visit_options, const SlotVisit &slot)
void open(const Glib::RefPtr< const Uri > &uri, FileInfoOptions options=FILE_INFO_DEFAULT)
Glib::RefPtr< FileInfo > read_next()
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)
sigc::slot< bool, const Glib::ustring &, const Glib::RefPtr< const FileInfo > &, bool, bool & > SlotVisit
e.g. bool on_visit(const Glib::ustring& rel_path, const Glib::RefPtr<const FileInfo>& info,...
Definition: directory-handle.h:51
static void visit(const Glib::ustring &uri, FileInfoOptions info_options, DirectoryVisitOptions visit_options, const SlotVisit &slot)
GnomeVFSDirectoryHandle * gobj()
Definition: file-info.h:43
Definition: exception.h:34
FileInfoOptions
Definition: enums.h:55
DirectoryVisitOptions
Definition: enums.h:268
@ FILE_INFO_DEFAULT
Definition: enums.h:56
Definition: address.h:120
Definition: address.h:37