Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members

file-info.h

Go to the documentation of this file.
00001 // -*- c++ -*- 00002 // Generated by gtkmmproc -- DO NOT MODIFY! 00003 #ifndef _LIBGNOMEVFSMM_FILE_INFO_H 00004 #define _LIBGNOMEVFSMM_FILE_INFO_H 00005 00006 #include <glibmm.h> 00007 00008 /* $Id: file-info.hg,v 1.11 2004/04/07 17:39:05 murrayc Exp $ */ 00009 // -*- C++ -*- // this is for the .hg, I realize gensig puts one in 00010 00011 /* Copyright 2003 gnome-vfsmm Development Team 00012 * 00013 * This library is free software; you can redistribute it and/or 00014 * modify it under the terms of the GNU Library General Public 00015 * License as published by the Free Software Foundation; either 00016 * version 2 of the License, or (at your option) any later version. 00017 * 00018 * This library is distributed in the hope that it will be useful, 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00021 * Library General Public License for more details. 00022 * 00023 * You should have received a copy of the GNU Library General Public 00024 * License along with this library; if not, write to the Free 00025 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00026 */ 00027 00028 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 /* DOXYGEN_SHOULD_SKIP_THIS */ 00046 00047 static Glib::RefPtr<FileInfo> create(); 00048 00049 // For use with Glib::RefPtr<> only. 00050 void reference() const; 00051 void unreference() const; 00052 00054 GnomeVFSFileInfo* gobj(); 00055 00057 const GnomeVFSFileInfo* gobj() const; 00058 00060 GnomeVFSFileInfo* gobj_copy() const; 00061 00062 protected: 00063 // Do not derive this. Gnome::Vfs::FileInfo can neither be constructed nor deleted. 00064 FileInfo(); 00065 void operator delete(void*, size_t); 00066 00067 private: 00068 // noncopyable 00069 FileInfo(const FileInfo&); 00070 FileInfo& operator=(const FileInfo&); 00071 00072 00073 public: 00074 00075 00078 void clear(); 00079 00083 Glib::ustring get_mime_type() const; 00084 00088 Glib::RefPtr<FileInfo> duplicate(); 00089 00090 00094 std::string get_name() const; 00095 00096 /* Fields which are actually valid in this structure. */ 00097 //GnomeVFSFileInfoFields valid_fields; 00098 00102 FileType get_type() const; 00103 00107 FilePermissions get_permissions() const; 00108 00112 FileFlags get_flags() const; 00113 00114 /* These are only valid if `is_local' is TRUE (see below). */ 00115 //dev_t device; 00116 //GnomeVFSInodeNumber inode; 00117 00118 00122 guint get_link_count() const; 00123 00127 guint get_uid() const; 00128 00132 guint get_gid() const; 00133 00138 FileSize get_size() const; 00139 00144 FileSize get_block_count() const; 00145 00150 guint get_io_block_size() const; 00151 00155 time_t get_access_time() const; 00156 00160 time_t get_modification_time() const; 00161 00165 time_t get_creation_time() const; 00166 00170 std::string get_symlink_name() const; 00171 00176 bool is_symlink() const; 00177 00178 00179 }; 00180 00181 } // namespace Vfs 00182 } // namespace Gnome 00183 00184 00185 namespace Gnome 00186 { 00187 00188 namespace Vfs 00189 { 00190 00196 bool operator==(const FileInfo& lhs, const FileInfo& rhs); 00197 00203 bool operator!=(const FileInfo& lhs, const FileInfo& rhs); 00204 00205 00206 } // namespace Vfs 00207 00208 } // namespace Gnome 00209 00210 00211 namespace Glib 00212 { 00213 00219 Glib::RefPtr<Gnome::Vfs::FileInfo> wrap(GnomeVFSFileInfo* object, bool take_copy = false); 00220 00221 } // namespace Glib 00222 00223 #endif /* _LIBGNOMEVFSMM_FILE_INFO_H */ 00224

Generated on Wed Jul 28 11:18:56 2004 for libgnomevfsmm by doxygen 1.3.7