]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/filefn.h
support for iPhone callbacks
[wxWidgets.git] / interface / wx / filefn.h
index 4d2ac750a709688e97e8961d2b89be35bf8882a4..4464a3651ec9e4f3cbaf7c48b297ec725a0e0511 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxPathList and file functions
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxPathList and file functions
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -24,6 +24,9 @@
 class wxPathList : public wxArrayString
 {
 public:
 class wxPathList : public wxArrayString
 {
 public:
+    /**
+        Standard constructor.
+    */
     wxPathList();
 
     /**
     wxPathList();
 
     /**
@@ -110,9 +113,9 @@ const int wxInvalidOffset = -1;
 /**
     The type used to store and provide byte offsets or byte sizes for files or streams.
 
 /**
     The type used to store and provide byte offsets or byte sizes for files or streams.
 
-    It is type-defined as @c off_t on POSIX platforms
-    (see http://www.gnu.org/software/libc/manual/html_node/File-Position-Primitive.html)
-    or to @c wxLongLong_t on Windows when @c wxHAS_HUGE_FILES is defined.
+    This type is usually just a synonym for @c off_t but can be defined as
+    @c wxLongLong_t if @c wxHAS_HUGE_FILES is defined but @c off_t is only 32
+    bits.
 */
 typedef off_t wxFileOffset;
 
 */
 typedef off_t wxFileOffset;
 
@@ -177,16 +180,22 @@ int wxParseCommonDialogsFilter(const wxString& wildCard,
     Converts a DOS to a Unix filename by replacing backslashes with forward
     slashes.
 
     Converts a DOS to a Unix filename by replacing backslashes with forward
     slashes.
 
+    @deprecated
+        Construct a wxFileName with wxPATH_DOS and then use
+        wxFileName::GetFullPath(wxPATH_UNIX) instead.
+
     @header{wx/filefn.h}
 */
 void wxDos2UnixFilename(wxChar* s);
 
 /**
     @header{wx/filefn.h}
 */
 void wxDos2UnixFilename(wxChar* s);
 
 /**
-    @warning This function is deprecated, use wxFileName instead.
-
     Converts a Unix to a DOS filename by replacing forward slashes with
     backslashes.
 
     Converts a Unix to a DOS filename by replacing forward slashes with
     backslashes.
 
+    @deprecated
+        Construct a wxFileName with wxPATH_UNIX and then use
+        wxFileName::GetFullPath(wxPATH_DOS) instead.
+
     @header{wx/filefn.h}
 */
 void wxUnix2DosFilename(wxChar* s);
     @header{wx/filefn.h}
 */
 void wxUnix2DosFilename(wxChar* s);
@@ -199,8 +208,8 @@ void wxUnix2DosFilename(wxChar* s);
 bool wxDirExists(const wxString& dirname);
 
 /**
 bool wxDirExists(const wxString& dirname);
 
 /**
-    @warning This function is obsolete, please use wxFileName::SplitPath()
-             instead.
+    @deprecated
+        This function is obsolete, please use wxFileName::SplitPath() instead.
 
     This function splits a full file name into components: the path (including
     possible disk/drive specification under Windows), the base name, and the
 
     This function splits a full file name into components: the path (including
     possible disk/drive specification under Windows), the base name, and the
@@ -239,9 +248,10 @@ time_t wxFileModificationTime(const wxString& filename);
 /**
     Renames @a file1 to @e file2, returning @true if successful.
 
 /**
     Renames @a file1 to @e file2, returning @true if successful.
 
-    If @a overwrite parameter is @true (default), the destination file is
-    overwritten if it exists, but if @a overwrite is @false, the functions
-    fails in this case.
+    If @a file2 is a directory, @a file1 is moved into it (@a overwrite is
+    ignored in this case). Otherwise, if @a file2 is an existing file, it is
+    overwritten if @a overwrite is @true (default) and the function fails if @a
+    overwrite is @false.
 
     @header{wx/filefn.h}
 */
 
     @header{wx/filefn.h}
 */
@@ -283,7 +293,7 @@ bool wxMatchWild(const wxString& pattern,
                   bool dot_special);
 
 /**
                   bool dot_special);
 
 /**
-    @warning This function is deprecated, use wxGetCwd() instead.
+    @deprecated This function is deprecated, use wxGetCwd() instead.
 
     Copies the current working directory into the buffer if supplied, or copies
     the working directory into new storage (which you must delete yourself) if
 
     Copies the current working directory into the buffer if supplied, or copies
     the working directory into new storage (which you must delete yourself) if
@@ -312,7 +322,7 @@ wxString wxPathOnly(const wxString& path);
 bool wxIsWild(const wxString& pattern);
 
 /**
 bool wxIsWild(const wxString& pattern);
 
 /**
-    Returns @true if the argument is an absolute filename, i.e. with a slash
+    Returns @true if the argument is an absolute filename, i.e.\ with a slash
     or drive name at the beginning.
 
     @header{wx/filefn.h}
     or drive name at the beginning.
 
     @header{wx/filefn.h}
@@ -352,6 +362,59 @@ bool wxConcatFiles(const wxString& file1,
 */
 bool wxRemoveFile(const wxString& file);
 
 */
 bool wxRemoveFile(const wxString& file);
 
+/**
+    File permission bit names.
+
+    We define these constants in wxWidgets because S_IREAD &c are not standard.
+    However, we do assume that the values correspond to the Unix umask bits.
+*/
+enum wxPosixPermissions
+{
+    /// Standard POSIX names for these permission flags with "wx" prefix.
+    //@{
+    wxS_IRUSR = 00400,
+    wxS_IWUSR = 00200,
+    wxS_IXUSR = 00100,
+
+    wxS_IRGRP = 00040,
+    wxS_IWGRP = 00020,
+    wxS_IXGRP = 00010,
+
+    wxS_IROTH = 00004,
+    wxS_IWOTH = 00002,
+    wxS_IXOTH = 00001,
+    //@}
+
+    /// Longer but more readable synonyms for the constants above.
+    //@{
+    wxPOSIX_USER_READ = wxS_IRUSR,
+    wxPOSIX_USER_WRITE = wxS_IWUSR,
+    wxPOSIX_USER_EXECUTE = wxS_IXUSR,
+
+    wxPOSIX_GROUP_READ = wxS_IRGRP,
+    wxPOSIX_GROUP_WRITE = wxS_IWGRP,
+    wxPOSIX_GROUP_EXECUTE = wxS_IXGRP,
+
+    wxPOSIX_OTHERS_READ = wxS_IROTH,
+    wxPOSIX_OTHERS_WRITE = wxS_IWOTH,
+    wxPOSIX_OTHERS_EXECUTE = wxS_IXOTH,
+    //@}
+
+    /// Default mode for the new files: allow reading/writing them to everybody but
+    /// the effective file mode will be set after ANDing this value with umask and
+    /// so won't include wxS_IW{GRP,OTH} for the default 022 umask value
+    wxS_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | \
+                   wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | \
+                   wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE),
+
+    /// Default mode for the new directories (see wxFileName::Mkdir): allow
+    /// reading/writing/executing them to everybody, but just like wxS_DEFAULT
+    /// the effective directory mode will be set after ANDing this value with umask
+    wxS_DIR_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | wxPOSIX_USER_EXECUTE | \
+                       wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | wxPOSIX_GROUP_EXECUTE | \
+                       wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE | wxPOSIX_OTHERS_EXECUTE)
+};
+
 /**
     Makes the directory @a dir, returning @true if successful.
 
 /**
     Makes the directory @a dir, returning @true if successful.
 
@@ -360,7 +423,7 @@ bool wxRemoveFile(const wxString& file);
 
     @header{wx/filefn.h}
 */
 
     @header{wx/filefn.h}
 */
-bool wxMkdir(const wxString& dir, int perm = 0777);
+bool wxMkdir(const wxString& dir, int perm = wxS_DIR_DEFAULT);
 
 /**
     Removes the directory @a dir, returning @true if successful. Does not work
 
 /**
     Removes the directory @a dir, returning @true if successful. Does not work
@@ -416,9 +479,25 @@ wxString wxFindNextFile();
 */
 wxString wxFindFirstFile(const wxString& spec, int flags = 0);
 
 */
 wxString wxFindFirstFile(const wxString& spec, int flags = 0);
 
+/**
+    Parameter indicating how file offset should be interpreted.
+
+    This is used by wxFFile::Seek() and wxFile::Seek().
+
+    @header{wx/filefn.h}
+*/
+enum wxSeekMode
+{
+    wxFromStart,        ///< Seek from the file beginning.
+    wxFromCurrent,      ///< Seek from the current position.
+    wxFromEnd           ///< Seek from end of the file.
+};
+
 /**
     File kind enumerations returned from wxGetFileKind().
 
 /**
     File kind enumerations returned from wxGetFileKind().
 
+    Also used by wxFFile::GetKind() and wxFile::GetKind().
+
     @header{wx/filefn.h}
 */
 enum wxFileKind
     @header{wx/filefn.h}
 */
 enum wxFileKind
@@ -446,8 +525,8 @@ wxFileKind wxGetFileKind(FILE* fp);
 /** @addtogroup group_funcmacro_file */
 //@{
 /**
 /** @addtogroup group_funcmacro_file */
 //@{
 /**
-    @warning This function is obsolete, please use wxFileName::SplitPath()
-             instead.
+    @deprecated
+        This function is obsolete, please use wxFileName::SplitPath() instead.
 
     Returns the filename for a full path. The second form returns a pointer to
     temporary storage that should not be deallocated.
 
     Returns the filename for a full path. The second form returns a pointer to
     temporary storage that should not be deallocated.
@@ -461,8 +540,8 @@ char* wxFileNameFromPath(char* path);
 /** @addtogroup group_funcmacro_file */
 //@{
 /**
 /** @addtogroup group_funcmacro_file */
 //@{
 /**
-    @warning This function is obsolete, please use
-             wxFileName::CreateTempFileName() instead.
+    @deprecated
+        This function is obsolete, please use wxFileName::CreateTempFileName() instead.
 
     @header{wx/filefn.h}
 */
 
     @header{wx/filefn.h}
 */