libgnomevfsmm 2.26.0
async-handle-2.h
Go to the documentation of this file.
1// -*- c++ -*-
2// Generated by gtkmmproc -- DO NOT MODIFY!
3#ifndef _LIBGNOMEVFSMM_ASYNC_HANDLE_2_H
4#define _LIBGNOMEVFSMM_ASYNC_HANDLE_2_H
5
6
7#include <glibmm.h>
8
9// -*- c++ -*-
10/* Copyright 2003, 2006 gnome-vfsmm Development Team
11 *
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation; either
15 * version 2.1 of the License, or (at your option) any later version.
16 *
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
21 *
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this library; if not, write to the Free
24 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 */
26
27#include <libgnomevfs/gnome-vfs-async-ops.h>
28#include <libgnomevfs/gnome-vfs-file-info.h>
29
30#include <libgnomevfsmm/enums.h>
32#include <libgnomevfsmm/uri.h>
34
35
36namespace Gnome
37{
38
39namespace Vfs
40{
41
48{
49 public:
50#ifndef DOXYGEN_SHOULD_SKIP_THIS
51 typedef FileInfoResult CppObjectType;
52 typedef GnomeVFSGetFileInfoResult BaseObjectType;
53#endif /* DOXYGEN_SHOULD_SKIP_THIS */
54
56
57 // Use make_a_copy=true when getting it directly from a struct.
58 explicit FileInfoResult(GnomeVFSGetFileInfoResult* castitem, bool make_a_copy = false);
59
62
64
65 GnomeVFSGetFileInfoResult* gobj() { return gobject_; }
66 const GnomeVFSGetFileInfoResult* gobj() const { return gobject_; }
67
69 GnomeVFSGetFileInfoResult* gobj_copy() const;
70
71protected:
72 GnomeVFSGetFileInfoResult* gobject_;
73
74private:
75
76
77public:
78
79 Glib::RefPtr<Uri> get_uri() const;
81 Glib::RefPtr<FileInfo> get_file_info() const;
82
83
84};
85
86
92{
93 public:
94#ifndef DOXYGEN_SHOULD_SKIP_THIS
95 typedef FindDirectoryResult CppObjectType;
96 typedef GnomeVFSFindDirectoryResult BaseObjectType;
97#endif /* DOXYGEN_SHOULD_SKIP_THIS */
98
100
101 // Use make_a_copy=true when getting it directly from a struct.
102 explicit FindDirectoryResult(GnomeVFSFindDirectoryResult* castitem, bool make_a_copy = false);
103
106
108
109 GnomeVFSFindDirectoryResult* gobj() { return gobject_; }
110 const GnomeVFSFindDirectoryResult* gobj() const { return gobject_; }
111
113 GnomeVFSFindDirectoryResult* gobj_copy() const;
114
115protected:
116 GnomeVFSFindDirectoryResult* gobject_;
117
118private:
119
120
121 Glib::RefPtr<Uri> get_uri() const;
122 Result get_result() const;
123
124
125};
126
127
134{
138
139
143namespace Async2
144{
145
146typedef Glib::ListHandle< Glib::RefPtr<const Uri> > ListHandleUris;
147
148#ifndef DOXYGEN_SHOULD_SKIP_THIS
149struct FileInfoResultTraits
150{
151 typedef FileInfoResult CppType;
152 typedef const GnomeVFSGetFileInfoResult* CType;
153 typedef GnomeVFSGetFileInfoResult* CTypeNonConst;
154
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&) {}
159};
160#endif //DOXYGEN_SHOULD_SKIP_THIS
161
162typedef Glib::ListHandle< FileInfoResult, FileInfoResultTraits > ListHandleFileInfoResults;
163
164#ifndef DOXYGEN_SHOULD_SKIP_THIS
165struct FindDirectoryResultTraits
166{
167 typedef FindDirectoryResult CppType;
168 typedef const GnomeVFSFindDirectoryResult* CType;
169 typedef GnomeVFSFindDirectoryResult* CTypeNonConst;
170
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&) {}
175};
176#endif //DOXYGEN_SHOULD_SKIP_THIS
177
178typedef Glib::ListHandle< FindDirectoryResult, FindDirectoryResultTraits > ListHandleFindDirectoryResult;
179
180
181//The default constructor creates a null handle. Use an open*() method before anything else.
183{
184 public:
185#ifndef DOXYGEN_SHOULD_SKIP_THIS
186 typedef Handle CppObjectType;
187 typedef GnomeVFSAsyncHandle BaseObjectType;
188#endif /* DOXYGEN_SHOULD_SKIP_THIS */
189
190private:
191
192
193public:
196
197 typedef sigc::slot<void, const Async2::Handle&, Result> SlotOpen;
199
200 //This is our C++ equivalent for GNOME_VFS_PRIORITY_MIN, GNOME_VFS_PRIORITY_MAX, and GNOME_VFS_PRIORITY_DEFAULT:
205 {
208 PRIORITY_MAX = 10
209 };
210
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);
213
214 typedef sigc::slot<void, const Async2::Handle&, const Glib::RefPtr<Glib::IOChannel>&, Result> SlotOpenAsChannel;
215 void open_as_channel(const Glib::ustring& text_uri, OpenMode open_mode, guint advised_block_size, int priority, const SlotOpenAsChannel& slot);
216 void open_as_channel(const Glib::RefPtr<Uri>& uri, OpenMode open_mode, guint advised_block_size, int priority, const SlotOpenAsChannel& slot);
217
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);
220
221 void create_symbolic_link(const Glib::RefPtr<Uri>& uri, const Glib::ustring& uri_reference, int priority, const SlotOpen& slot);
222
224 void create_as_channel(const Glib::ustring& text_uri, OpenMode open_mode, bool exclusive, guint perm, int priority, const SlotCreateAsChannel& slot);
225 //gnome_vfs_async_create_uri_as_channel() is declared, but not defined in gnome-vfs.
226 //void create_as_channel(const Glib::RefPtr<Uri> uri, OpenMode open_mode, bool exclusive, guint perm, int priority, const SlotCreateAsChannel& slot);
227
228 void close(const SlotClose& slot);
229
230 typedef sigc::slot<void, const Async2::Handle&, Result, gpointer, FileSize, FileSize> SlotRead;
231 void read(gpointer buffer, guint bytes, const SlotRead& slot);
232
233 typedef sigc::slot<void, const Async2::Handle&, Result, gconstpointer, FileSize, FileSize> SlotWrite;
234 void write(gconstpointer buffer, guint bytes, const SlotWrite& slot);
235
236 typedef sigc::slot<void, const Async2::Handle&, ListHandleFileInfoResults > SlotGetFileInfo;
237 void get_file_info(const ListHandleUris& uri_list, FileInfoOptions options, int priority, const SlotGetFileInfo& slot) const;
238
239 typedef sigc::slot<void, const Async2::Handle&, Result, const Glib::RefPtr<FileInfo>& > SlotSetFileInfo;
240 void set_file_info(const Glib::RefPtr<Uri>& uri, const Glib::RefPtr<FileInfo>& info, SetFileInfoMask mask, FileInfoOptions options, int priority, const SlotSetFileInfo& slot);
241
242 typedef sigc::slot<void, const Async2::Handle&, Result, Glib::ListHandle<Glib::RefPtr<FileInfo> >, int> SlotLoadDirectory;
243 void load_directory(const Glib::ustring& text_uri, FileInfoOptions options, guint items_per_notification, int priority, const SlotLoadDirectory& slot);
244 void load_directory(const Glib::RefPtr<Uri>& uri, FileInfoOptions options, guint items_per_notification, int priority, const SlotLoadDirectory& slot);
245
246 typedef sigc::slot<int, const Async2::Handle&, Transfer2::ProgressInfo&> SlotTransferProgress;
247
248#ifdef GLIBMM_EXCEPTIONS_ENABLED
249 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 Transfer2::SlotProgress& progress_sync_callback);
250#else
251 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 Transfer2::SlotProgress& progress_sync_callback, std::auto_ptr<Gnome::Vfs::exception>& error);
252#endif
253
254 typedef sigc::slot<void, const Async2::Handle&, ListHandleFindDirectoryResult > SlotFindDirectory;
255 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);
256
257 typedef sigc::slot<void, const Async2::Handle&, Result, gpointer> SlotFileControl;
258 void file_control(const Glib::ustring& operation, gpointer operation_data, const SlotFileControl& slot);
259
260
266 void cancel();
267
268 GnomeVFSAsyncHandle* gobj() { return gobject_; }
269 const GnomeVFSAsyncHandle* gobj() const { return gobject_; }
270 GnomeVFSAsyncHandle** gobj_addr() { return &gobject_; }
271
272#ifndef DOXYGEN_SHOULD_SKIP_THIS
273 void assign_gobj(GnomeVFSAsyncHandle* src);
274#endif
275
276protected:
277 GnomeVFSAsyncHandle* gobject_;
278
279private:
280 Handle(const Handle&);
281 Handle& operator=(const Handle&);
282
283
284};
285
286} // namespace Async2
287} // namespace Vfs
288} // namespace Gnome
289
290#ifndef DOXYGEN_SHOULD_SKIP_THIS
291namespace Glib
292{
293
294template <>
295class Value<Gnome::Vfs::FindDirectoryKind> : public Glib::Value_Flags<Gnome::Vfs::FindDirectoryKind>
296{
297public:
298 static GType value_type() G_GNUC_CONST;
299};
300
301} // namespace Glib
302#endif /* DOXYGEN_SHOULD_SKIP_THIS */
303
304
305namespace Glib
306{
307
316Gnome::Vfs::FileInfoResult wrap(GnomeVFSGetFileInfoResult* object, bool take_copy = false);
317
318} // namespace Glib
319
320
321namespace Glib
322{
323
332Gnome::Vfs::FindDirectoryResult wrap(GnomeVFSFindDirectoryResult* object, bool take_copy = false);
333
334} // namespace Glib
335
336
337#endif /* _LIBGNOMEVFSMM_ASYNC_HANDLE_2_H */
338
Definition: async-handle-2.h:183
const GnomeVFSAsyncHandle * gobj() const
Definition: async-handle-2.h:269
SlotOpenAsChannel SlotCreateAsChannel
Definition: async-handle-2.h:223
void read(gpointer buffer, guint bytes, const SlotRead &slot)
sigc::slot< void, const Async2::Handle &, Result, const Glib::RefPtr< FileInfo > & > SlotSetFileInfo
Definition: async-handle-2.h:239
void close(const SlotClose &slot)
GnomeVFSAsyncHandle * gobject_
Definition: async-handle-2.h:277
SlotOpen SlotClose
Definition: async-handle-2.h:198
sigc::slot< void, const Async2::Handle &, const Glib::RefPtr< Glib::IOChannel > &, Result > SlotOpenAsChannel
Definition: async-handle-2.h:214
sigc::slot< void, const Async2::Handle &, ListHandleFileInfoResults > SlotGetFileInfo
Definition: async-handle-2.h:236
sigc::slot< void, const Async2::Handle &, Result > SlotOpen
Definition: async-handle-2.h:197
void write(gconstpointer buffer, guint bytes, const SlotWrite &slot)
GnomeVFSAsyncHandle ** gobj_addr()
Definition: async-handle-2.h:270
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 Transfer2::SlotProgress &progress_sync_callback)
void cancel()
Cancel an asynchronous operation and close all its callbacks.
sigc::slot< void, const Async2::Handle &, Result, Glib::ListHandle< Glib::RefPtr< FileInfo > >, int > SlotLoadDirectory
Definition: async-handle-2.h:242
void open(const Glib::ustring &text_uri, OpenMode open_mode, int priority, const SlotOpen &slot)
void set_file_info(const Glib::RefPtr< Uri > &uri, const Glib::RefPtr< FileInfo > &info, SetFileInfoMask mask, FileInfoOptions options, int priority, const SlotSetFileInfo &slot)
void load_directory(const Glib::RefPtr< Uri > &uri, FileInfoOptions options, guint items_per_notification, int priority, const SlotLoadDirectory &slot)
GnomeVFSAsyncHandle * gobj()
Definition: async-handle-2.h:268
void open_as_channel(const Glib::ustring &text_uri, OpenMode open_mode, guint advised_block_size, int priority, const SlotOpenAsChannel &slot)
sigc::slot< void, const Async2::Handle &, Result, gpointer > SlotFileControl
Definition: async-handle-2.h:257
Priority
Possible pre-set values for a job's priority.
Definition: async-handle-2.h:205
@ PRIORITY_MAX
The default job priority.
Definition: async-handle-2.h:208
@ PRIORITY_DEFAULT
The minimuum priority a job can have.
Definition: async-handle-2.h:206
@ PRIORITY_MIN
The maximuum priority a job can have.
Definition: async-handle-2.h:207
void create_symbolic_link(const Glib::RefPtr< Uri > &uri, const Glib::ustring &uri_reference, int priority, const SlotOpen &slot)
sigc::slot< void, const Async2::Handle &, Result, gpointer, FileSize, FileSize > SlotRead
Definition: async-handle-2.h:230
sigc::slot< int, const Async2::Handle &, Transfer2::ProgressInfo & > SlotTransferProgress
Definition: async-handle-2.h:246
void open_as_channel(const Glib::RefPtr< Uri > &uri, OpenMode open_mode, guint advised_block_size, int priority, const SlotOpenAsChannel &slot)
sigc::slot< void, const Async2::Handle &, Result, gconstpointer, FileSize, FileSize > SlotWrite
Definition: async-handle-2.h:233
void open(const Glib::RefPtr< Uri > &uri, OpenMode open_mode, int priority, const SlotOpen &slot)
void load_directory(const Glib::ustring &text_uri, FileInfoOptions options, guint items_per_notification, int priority, const SlotLoadDirectory &slot)
sigc::slot< void, const Async2::Handle &, ListHandleFindDirectoryResult > SlotFindDirectory
Definition: async-handle-2.h:254
void create(const Glib::RefPtr< Uri > &uri, OpenMode open_mode, bool exclusive, guint perm, int priority, const SlotOpen &slot)
void create_as_channel(const Glib::ustring &text_uri, OpenMode open_mode, bool exclusive, guint perm, int priority, const SlotCreateAsChannel &slot)
void get_file_info(const ListHandleUris &uri_list, FileInfoOptions options, int priority, const SlotGetFileInfo &slot) const
void file_control(const Glib::ustring &operation, gpointer operation_data, const SlotFileControl &slot)
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)
void create(const Glib::ustring &text_uri, OpenMode open_mode, bool exclusive, guint perm, int priority, const SlotOpen &slot)
Encapsulates the details of an individual file info request that was part of a mass file info request...
Definition: async-handle-2.h:48
GnomeVFSGetFileInfoResult * gobj_copy() const
Provides access to the underlying C instance. The caller is responsible for freeing it....
Glib::RefPtr< FileInfo > get_file_info() const
FileInfoResult & operator=(const FileInfoResult &src)
Glib::RefPtr< Uri > get_uri() const
FileInfoResult(GnomeVFSGetFileInfoResult *castitem, bool make_a_copy=false)
FileInfoResult(const FileInfoResult &src)
const GnomeVFSGetFileInfoResult * gobj() const
Definition: async-handle-2.h:66
Gnome::Vfs::FileInfoResult wrap(GnomeVFSGetFileInfoResult *object, bool take_copy=false)
A Glib::wrap() method for this object.
GnomeVFSGetFileInfoResult * gobject_
Definition: async-handle-2.h:72
GnomeVFSGetFileInfoResult * gobj()
Definition: async-handle-2.h:65
This class is passed to a Async2::Handle::SlotFindDirectory by Async2::Handle::find_directory() and c...
Definition: async-handle-2.h:92
FindDirectoryResult & operator=(const FindDirectoryResult &src)
GnomeVFSFindDirectoryResult * gobject_
Definition: async-handle-2.h:116
FindDirectoryResult(const FindDirectoryResult &src)
FindDirectoryResult(GnomeVFSFindDirectoryResult *castitem, bool make_a_copy=false)
const GnomeVFSFindDirectoryResult * gobj() const
Definition: async-handle-2.h:110
GnomeVFSFindDirectoryResult * gobj_copy() const
Provides access to the underlying C instance. The caller is responsible for freeing it....
Gnome::Vfs::FindDirectoryResult wrap(GnomeVFSFindDirectoryResult *object, bool take_copy=false)
A Glib::wrap() method for this object.
GnomeVFSFindDirectoryResult * gobj()
Definition: async-handle-2.h:109
FileInfoOptions
Definition: enums.h:55
ErrorMode
Definition: enums.h:685
OpenMode
Definition: enums.h:315
OverwriteMode
Definition: enums.h:660
FindDirectoryKind
Definition: async-handle-2.h:134
SetFileInfoMask
Definition: enums.h:504
Result
Definition: enums.h:97
TransferOptions
Definition: enums.h:599
@ DIRECTORY_KIND_TRASH
Definition: async-handle-2.h:136
@ DIRECTORY_KIND_DESKTOP
Definition: async-handle-2.h:135
Definition: address.h:120
Glib::ListHandle< FindDirectoryResult, FindDirectoryResultTraits > ListHandleFindDirectoryResult
Definition: async-handle-2.h:178
Glib::ListHandle< FileInfoResult, FileInfoResultTraits > ListHandleFileInfoResults
Definition: async-handle-2.h:162
Glib::ListHandle< Glib::RefPtr< const Uri > > ListHandleUris
Definition: async-handle-2.h:146
sigc::slot< gint, const ProgressInfo & > SlotProgress
For instance, gint on_transfer_progress(const Gnome::Vfs::Transfer::ProgressInfo& info);.
Definition: transfer-2.h:48
Definition: address.h:37