3 #ifndef _LIBGNOMEVFSMM_ASYNC_HANDLE_H
4 #define _LIBGNOMEVFSMM_ASYNC_HANDLE_H
26 #include <libgnomevfs/gnome-vfs-async-ops.h>
27 #include <libgnomevfs/gnome-vfs-file-info.h>
48 #ifndef DOXYGEN_SHOULD_SKIP_THIS
49 struct FileInfoResultTraits
52 typedef const GnomeVFSGetFileInfoResult* CType;
53 typedef GnomeVFSGetFileInfoResult* CTypeNonConst;
55 static CType to_c_type (
const CppType& obj) {
return obj.
gobj(); }
56 static CType to_c_type (
const CType& obj) {
return obj; }
57 static CppType to_cpp_type (
const CType& obj) {
return CppType(const_cast<CTypeNonConst>(obj),
true); }
58 static void release_c_type (
const CType&) {}
60 #endif //DOXYGEN_SHOULD_SKIP_THIS
64 #ifndef DOXYGEN_SHOULD_SKIP_THIS
65 struct FindDirectoryResultTraits
68 typedef const GnomeVFSFindDirectoryResult* CType;
69 typedef GnomeVFSFindDirectoryResult* CTypeNonConst;
71 static CType to_c_type (
const CppType& obj) {
return obj.
gobj(); }
72 static CType to_c_type (
const CType& obj) {
return obj; }
73 static CppType to_cpp_type (
const CType& obj) {
return CppType(const_cast<CTypeNonConst>(obj),
true); }
74 static void release_c_type (
const CType&) {}
76 #endif //DOXYGEN_SHOULD_SKIP_THIS
85 #ifndef DOXYGEN_SHOULD_SKIP_THIS
86 typedef Handle CppObjectType;
87 typedef GnomeVFSAsyncHandle BaseObjectType;
97 typedef sigc::slot<void, const Async::Handle&, Result>
SlotOpen;
100 void open(
const Glib::ustring& text_uri,
OpenMode open_mode,
int priority,
const SlotOpen& slot);
101 void open(
const Glib::RefPtr<Uri>& uri,
OpenMode open_mode,
int priority,
const SlotOpen& slot);
107 void create(
const Glib::ustring& text_uri,
OpenMode open_mode,
bool exclusive, guint perm,
int priority,
const SlotOpen& slot);
108 void create(
const Glib::RefPtr<Uri>& uri,
OpenMode open_mode,
bool exclusive, guint perm,
int priority,
const SlotOpen& slot);
119 typedef sigc::slot<void, const Async::Handle&, Result, gpointer, FileSize, FileSize>
SlotRead;
120 void read(gpointer buffer, guint bytes,
const SlotRead& slot);
122 typedef sigc::slot<void, const Async::Handle&, Result, gconstpointer, FileSize, FileSize>
SlotWrite;
123 void write(gconstpointer buffer, guint bytes,
const SlotWrite& slot);
125 typedef sigc::slot<void, const Async::Handle&, ListHandleFileInfoResults >
SlotGetFileInfo;
128 typedef sigc::slot<void, const Async::Handle&, Result, const Glib::RefPtr<FileInfo>& >
SlotSetFileInfo;
131 typedef sigc::slot<void, const Async::Handle&, Result, Glib::ListHandle<Glib::RefPtr<FileInfo> >,
int>
SlotLoadDirectory;
136 #ifdef GLIBMM_EXCEPTIONS_ENABLED
142 typedef sigc::slot<void, const Async::Handle&, ListHandleFindDirectoryResult >
SlotFindDirectory;
160 #ifndef DOXYGEN_SHOULD_SKIP_THIS
161 void assign_gobj(GnomeVFSAsyncHandle* src);