00001
00002
00003 #ifndef _LIBGNOMEVFSMM_FILE_INFO_H
00004 #define _LIBGNOMEVFSMM_FILE_INFO_H
00005
00006 #include <glibmm.h>
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include <libgnomevfs/gnome-vfs-file-info.h>
00029 #include <libgnomevfsmm/enums.h>
00030 #include <libgnomevfsmm/types.h>
00031
00032
00033 namespace Gnome
00034 {
00035
00036 namespace Vfs
00037 {
00038
00039 class FileInfo
00040 {
00041 public:
00042 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00043 typedef FileInfo CppObjectType;
00044 typedef GnomeVFSFileInfo BaseObjectType;
00045 #endif
00046
00047 static Glib::RefPtr<FileInfo> create();
00048
00049
00050 void reference() const;
00051 void unreference() const;
00052
00054 GnomeVFSFileInfo* gobj();
00055
00057 const GnomeVFSFileInfo* gobj() const;
00058
00059
00060 GnomeVFSFileInfo* gobj_copy() const;
00061
00062 protected:
00063
00064 FileInfo();
00065 void operator delete(void*, size_t);
00066
00067 private:
00068
00069 FileInfo(const FileInfo&);
00070 FileInfo& operator=(const FileInfo&);
00071
00072
00073 public:
00074
00075
00078 void clear();
00079
00082 Glib::ustring get_mime_type() const;
00083
00087 Glib::RefPtr<FileInfo> duplicate();
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00101 std::string get_name() const;
00102
00103
00104
00105
00109 FileType get_type() const;
00110
00114 FilePermissions get_permissions() const;
00115
00119 FileFlags get_flags() const;
00120
00121
00122
00123
00124
00125
00129 guint get_link_count() const;
00130
00134 guint get_uid() const;
00135
00139 guint get_gid() const;
00140
00145 FileSize get_size() const;
00146
00151 FileSize get_block_count() const;
00152
00157 guint get_io_block_size() const;
00158
00162 time_t get_access_time() const;
00163
00167 time_t get_modification_time() const;
00168
00172 time_t get_creation_time() const;
00173
00177 std::string get_symlink_name() const;
00178
00183 bool is_symlink() const;
00184
00185
00186 };
00187
00188 }
00189 }
00190
00191
00192 namespace Gnome
00193 {
00194
00195 namespace Vfs
00196 {
00197
00199 bool operator==(const FileInfo& lhs, const FileInfo& rhs);
00200
00202 bool operator!=(const FileInfo& lhs, const FileInfo& rhs);
00203
00204
00205 }
00206
00207 }
00208
00209
00210 namespace Glib
00211 {
00212
00214 Glib::RefPtr<Gnome::Vfs::FileInfo> wrap(GnomeVFSFileInfo* object, bool take_copy = false);
00215
00216 }
00217
00218 #endif
00219