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);
104 void open_as_channel(
const Glib::ustring& text_uri,
OpenMode open_mode, guint advised_block_size,
int priority,
const SlotOpenAsChannel& slot);
105 void open_as_channel(
const Glib::RefPtr<Uri>& uri,
OpenMode open_mode, guint advised_block_size,
int priority,
const SlotOpenAsChannel& 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);
110 void create_symbolic_link(
const Glib::RefPtr<Uri>& uri,
const Glib::ustring& uri_reference,
int priority,
const SlotOpen& slot);
113 void create_as_channel(
const Glib::ustring& text_uri,
OpenMode open_mode,
bool exclusive, guint perm,
int priority,
const SlotCreateAsChannel& slot);
117 void close(
const SlotClose& 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;
126 void get_file_info(
const ListHandleUris& uri_list,
FileInfoOptions options,
int priority,
const SlotGetFileInfo& slot)
const;
128 typedef sigc::slot<void, const Async::Handle&, Result, const Glib::RefPtr<FileInfo>& >
SlotSetFileInfo;
129 void set_file_info(
const Glib::RefPtr<Uri>& uri,
const Glib::RefPtr<FileInfo>& info,
SetFileInfoMask mask,
FileInfoOptions options,
int priority,
const SlotSetFileInfo& slot);
131 typedef sigc::slot<void, const Async::Handle&, Result, Glib::ListHandle<Glib::RefPtr<FileInfo> >,
int>
SlotLoadDirectory;
132 void load_directory(
const Glib::ustring& text_uri,
FileInfoOptions options, guint items_per_notification,
int priority,
const SlotLoadDirectory& slot);
133 void load_directory(
const Glib::RefPtr<Uri>& uri,
FileInfoOptions options, guint items_per_notification,
int priority,
const SlotLoadDirectory& slot);
136 #ifdef GLIBMM_EXCEPTIONS_ENABLED 139 void transfer(
const ListHandleUris& source_uri_list,
const ListHandleUris& target_uri_list,
TransferOptions xfer_options,
ErrorMode error_mode,
OverwriteMode overwrite_mode,
int priority,
const SlotTransferProgress& progress_update_callback,
const Transfer::SlotProgress& progress_sync_callback, std::auto_ptr<Gnome::Vfs::exception>& error);
142 typedef sigc::slot<void, const Async::Handle&, ListHandleFindDirectoryResult >
SlotFindDirectory;
143 void find_directory(
const ListHandleUris& near_uri_list,
FindDirectoryKind kind,
bool create_if_needed,
bool find_if_needed, guint permissions,
int priority,
const SlotFindDirectory& slot);
146 void file_control(
const Glib::ustring& operation, gpointer operation_data,
const SlotFileControl& slot);
156 GnomeVFSAsyncHandle*
gobj() {
return gobject_; }
157 const GnomeVFSAsyncHandle*
gobj()
const {
return gobject_; }
160 #ifndef DOXYGEN_SHOULD_SKIP_THIS 161 void assign_gobj(GnomeVFSAsyncHandle* src);
sigc::slot< void, const Async::Handle &, const Glib::RefPtr< Glib::IOChannel > &, Result > SlotOpenAsChannel
Definition: async-handle.h:103
sigc::slot< void, const Async::Handle &, Result, gpointer > SlotFileControl
Definition: async-handle.h:145
sigc::slot< void, const Async::Handle &, Result > SlotOpen
Definition: async-handle.h:97
SlotOpen SlotClose
Definition: async-handle.h:98
Encapsulates the details of an individual file info request that was part of a mass file info request...
Definition: async-handle-2.h:47
sigc::slot< int, const Async::Handle &, Transfer::ProgressInfo & > SlotTransferProgress
Definition: async-handle.h:135
sigc::slot< void, const Async::Handle &, Result, gconstpointer, FileSize, FileSize > SlotWrite
Definition: async-handle.h:122
This class is passed to a Async2::Handle::SlotFindDirectory by Async2::Handle::find_directory() and c...
Definition: async-handle-2.h:91
Definition: async-handle.h:82
GnomeVFSGetFileInfoResult * gobj()
Definition: async-handle-2.h:65
Glib::ListHandle< FileInfoResult, FileInfoResultTraits > ListHandleFileInfoResults
Definition: async-handle.h:62
Glib::ListHandle< Glib::RefPtr< const Uri > > ListHandleUris
Definition: async-handle.h:46
sigc::slot< void, const Async::Handle &, Result, const Glib::RefPtr< FileInfo > &> SlotSetFileInfo
Definition: async-handle.h:128
GnomeVFSFindDirectoryResult * gobj()
Definition: async-handle-2.h:109
void transfer(const Glib::ustring &source_uri, const Glib::ustring &target_uri, TransferOptions options=XFER_DEFAULT, ErrorMode error_mode=XFER_ERROR_MODE_ABORT, OverwriteMode overwrite_mode=XFER_OVERWRITE_MODE_ABORT, const SlotProgress &progress_callback=SlotProgress())
This function works exactly like transfer_list(), and is a convenience wrapper for only acting on one...
const GnomeVFSAsyncHandle * gobj() const
Definition: async-handle.h:157
GnomeVFSAsyncHandle * gobject_
Definition: async-handle.h:165
SlotOpenAsChannel SlotCreateAsChannel
Definition: async-handle.h:112
GnomeVFSAsyncHandle ** gobj_addr()
Definition: async-handle.h:158
sigc::slot< void, const Async::Handle &, Result, gpointer, FileSize, FileSize > SlotRead
Definition: async-handle.h:119
sigc::slot< bool, const ProgressInfo & > SlotProgress
For instance, int on_transfer_progress(GnomeVFSXferProgressInfo* info);.
Definition: transfer.h:46
GnomeVFSAsyncHandle * gobj()
Definition: async-handle.h:156
sigc::slot< void, const Async::Handle &, ListHandleFindDirectoryResult > SlotFindDirectory
Definition: async-handle.h:142
sigc::slot< void, const Async::Handle &, Result, Glib::ListHandle< Glib::RefPtr< FileInfo > >, int > SlotLoadDirectory
Definition: async-handle.h:131
sigc::slot< void, const Async::Handle &, ListHandleFileInfoResults > SlotGetFileInfo
Definition: async-handle.h:125
Glib::ListHandle< FindDirectoryResult, FindDirectoryResultTraits > ListHandleFindDirectoryResult
Definition: async-handle.h:78