3 #ifndef _LIBGNOMEVFSMM_ASYNC_HANDLE_2_H
4 #define _LIBGNOMEVFSMM_ASYNC_HANDLE_2_H
27 #include <libgnomevfs/gnome-vfs-async-ops.h>
28 #include <libgnomevfs/gnome-vfs-file-info.h>
50 #ifndef DOXYGEN_SHOULD_SKIP_THIS
52 typedef GnomeVFSGetFileInfoResult BaseObjectType;
58 explicit FileInfoResult(GnomeVFSGetFileInfoResult* castitem,
bool make_a_copy =
false);
69 GnomeVFSGetFileInfoResult*
gobj_copy()
const;
79 Glib::RefPtr<Uri>
get_uri()
const;
94 #ifndef DOXYGEN_SHOULD_SKIP_THIS
96 typedef GnomeVFSFindDirectoryResult BaseObjectType;
102 explicit FindDirectoryResult(GnomeVFSFindDirectoryResult* castitem,
bool make_a_copy =
false);
113 GnomeVFSFindDirectoryResult*
gobj_copy()
const;
121 Glib::RefPtr<Uri> get_uri()
const;
122 Result get_result()
const;
148 #ifndef DOXYGEN_SHOULD_SKIP_THIS
149 struct FileInfoResultTraits
152 typedef const GnomeVFSGetFileInfoResult* CType;
153 typedef GnomeVFSGetFileInfoResult* CTypeNonConst;
155 static CType to_c_type (
const CppType& obj) {
return obj.
gobj(); }
156 static CType to_c_type (
const CType& obj) {
return obj; }
157 static CppType to_cpp_type (
const CType& obj) {
return CppType(const_cast<CTypeNonConst>(obj),
true); }
158 static void release_c_type (
const CType&) {}
160 #endif //DOXYGEN_SHOULD_SKIP_THIS
164 #ifndef DOXYGEN_SHOULD_SKIP_THIS
165 struct FindDirectoryResultTraits
168 typedef const GnomeVFSFindDirectoryResult* CType;
169 typedef GnomeVFSFindDirectoryResult* CTypeNonConst;
171 static CType to_c_type (
const CppType& obj) {
return obj.
gobj(); }
172 static CType to_c_type (
const CType& obj) {
return obj; }
173 static CppType to_cpp_type (
const CType& obj) {
return CppType(const_cast<CTypeNonConst>(obj),
true); }
174 static void release_c_type (
const CType&) {}
176 #endif //DOXYGEN_SHOULD_SKIP_THIS
185 #ifndef DOXYGEN_SHOULD_SKIP_THIS
186 typedef Handle CppObjectType;
187 typedef GnomeVFSAsyncHandle BaseObjectType;
197 typedef sigc::slot<void, const Async2::Handle&, Result>
SlotOpen;
211 void open(
const Glib::ustring& text_uri,
OpenMode open_mode,
int priority,
const SlotOpen& slot);
212 void open(
const Glib::RefPtr<Uri>& uri,
OpenMode open_mode,
int priority,
const SlotOpen& slot);
218 void create(
const Glib::ustring& text_uri,
OpenMode open_mode,
bool exclusive, guint perm,
int priority,
const SlotOpen& slot);
219 void create(
const Glib::RefPtr<Uri>& uri,
OpenMode open_mode,
bool exclusive, guint perm,
int priority,
const SlotOpen& slot);
230 typedef sigc::slot<void, const Async2::Handle&, Result, gpointer, FileSize, FileSize>
SlotRead;
231 void read(gpointer buffer, guint bytes,
const SlotRead& slot);
233 typedef sigc::slot<void, const Async2::Handle&, Result, gconstpointer, FileSize, FileSize>
SlotWrite;
234 void write(gconstpointer buffer, guint bytes,
const SlotWrite& slot);
236 typedef sigc::slot<void, const Async2::Handle&, ListHandleFileInfoResults >
SlotGetFileInfo;
239 typedef sigc::slot<void, const Async2::Handle&, Result, const Glib::RefPtr<FileInfo>& >
SlotSetFileInfo;
242 typedef sigc::slot<void, const Async2::Handle&, Result, Glib::ListHandle<Glib::RefPtr<FileInfo> >,
int>
SlotLoadDirectory;
248 #ifdef GLIBMM_EXCEPTIONS_ENABLED
254 typedef sigc::slot<void, const Async2::Handle&, ListHandleFindDirectoryResult >
SlotFindDirectory;
272 #ifndef DOXYGEN_SHOULD_SKIP_THIS
273 void assign_gobj(GnomeVFSAsyncHandle* src);
290 #ifndef DOXYGEN_SHOULD_SKIP_THIS
298 static GType value_type() G_GNUC_CONST;