]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/filefn.h
Add wxDataFormat GetMatchingPair() which wxGTK and wxMSW already had under different...
[wxWidgets.git] / include / wx / filefn.h
index ad264b723bf76238c3bf524a206b018d81df2f7a..c64db53235fc815dc5572cffcdd493d98da97e4b 100644 (file)
@@ -163,6 +163,7 @@ enum wxFileKind
 #elif (defined(__WXMSW__) || defined(__OS2__)) && !defined(__WXPALMOS__) && \
       ( \
         defined(__VISUALC__) || \
+        defined(__MINGW64__) || \
         (defined(__MINGW32__) && !defined(__WINE__) && \
                                 wxCHECK_W32API_VERSION(0, 5)) || \
         defined(__MWERKS__) || \
@@ -176,7 +177,7 @@ enum wxFileKind
     // detect compilers which have support for huge files
     #if defined(__VISUALC__)
         #define wxHAS_HUGE_FILES 1
-    #elif defined(__MINGW32__)
+    #elif defined(__MINGW32__) || defined(__MINGW64__)
         #define wxHAS_HUGE_FILES 1
     #elif defined(_LARGE_FILES)
         #define wxHAS_HUGE_FILES 1
@@ -202,7 +203,7 @@ enum wxFileKind
     // to avoid using them as they're not present in earlier versions and
     // always using the native functions spelling is easier than testing for
     // the versions
-    #if defined(__BORLANDC__) || defined(__DMC__) || defined(__WATCOMC__)
+    #if defined(__BORLANDC__) || defined(__DMC__) || defined(__WATCOMC__) || defined(__MINGW64__)
         #define wxPOSIX_IDENT(func)    ::func
     #else // by default assume MSVC-compatible names
         #define wxPOSIX_IDENT(func)    _ ## func
@@ -237,9 +238,16 @@ enum wxFileKind
     #endif
 
     #ifdef wxHAS_HUGE_FILES
-        #define   wxSeek       wxPOSIX_IDENT(lseeki64)
-        #define   wxLseek      wxPOSIX_IDENT(lseeki64)
-        #define   wxTell       wxPOSIX_IDENT(telli64)
+        #ifndef __MINGW64__
+            #define   wxSeek       wxPOSIX_IDENT(lseeki64)
+            #define   wxLseek      wxPOSIX_IDENT(lseeki64)
+            #define   wxTell       wxPOSIX_IDENT(telli64)
+        #else
+            // unfortunately, mingw-W64 is somewhat inconsistent...
+            #define   wxSeek       _lseeki64
+            #define   wxLseek      _lseeki64
+            #define   wxTell       _telli64
+        #endif
     #else // !wxHAS_HUGE_FILES
         #define   wxSeek       wxPOSIX_IDENT(lseek)
         #define   wxLseek      wxPOSIX_IDENT(lseek)
@@ -535,41 +543,51 @@ WXDLLIMPEXP_BASE wxString wxFileNameFromPath(const wxString& path);
 // Get directory
 WXDLLIMPEXP_BASE wxString wxPathOnly(const wxString& path);
 
-WXDLLIMPEXP_BASE void wxDos2UnixFilename(char *s);
-WXDLLIMPEXP_BASE void wxDos2UnixFilename(wchar_t *s);
+// all deprecated functions below are deprecated in favour of wxFileName's methods
+#if WXWIN_COMPATIBILITY_2_8
+
+wxDEPRECATED( WXDLLIMPEXP_BASE void wxDos2UnixFilename(char *s) );
+wxDEPRECATED( WXDLLIMPEXP_BASE void wxDos2UnixFilename(wchar_t *s) );
 
-WXDLLIMPEXP_BASE void wxUnix2DosFilename(char *s);
-WXDLLIMPEXP_BASE void wxUnix2DosFilename(wchar_t *s);
+wxDEPRECATED_BUT_USED_INTERNALLY(
+    WXDLLIMPEXP_BASE void wxUnix2DosFilename(char *s) );
+wxDEPRECATED_BUT_USED_INTERNALLY(
+    WXDLLIMPEXP_BASE void wxUnix2DosFilename(wchar_t *s) );
 
 // Strip the extension, in situ
-WXDLLIMPEXP_BASE void wxStripExtension(char *buffer);
-WXDLLIMPEXP_BASE void wxStripExtension(wchar_t *buffer);
-WXDLLIMPEXP_BASE void wxStripExtension(wxString& buffer);
+wxDEPRECATED( WXDLLIMPEXP_BASE void wxStripExtension(char *buffer) );
+wxDEPRECATED( WXDLLIMPEXP_BASE void wxStripExtension(wchar_t *buffer) );
+wxDEPRECATED( WXDLLIMPEXP_BASE void wxStripExtension(wxString& buffer) );
+    // DEPRECATED: construct a wxFileName, use ClearExt() and then GetFullPath()
 
 // Get a temporary filename
-WXDLLIMPEXP_BASE wxChar* wxGetTempFileName(const wxString& prefix, wxChar *buf = (wxChar *) NULL);
-WXDLLIMPEXP_BASE bool wxGetTempFileName(const wxString& prefix, wxString& buf);
+wxDEPRECATED_BUT_USED_INTERNALLY( WXDLLIMPEXP_BASE wxChar* wxGetTempFileName(const wxString& prefix, wxChar *buf = NULL) );
+wxDEPRECATED_BUT_USED_INTERNALLY( WXDLLIMPEXP_BASE bool wxGetTempFileName(const wxString& prefix, wxString& buf) );
 
 // Expand file name (~/ and ${OPENWINHOME}/ stuff)
-WXDLLIMPEXP_BASE char* wxExpandPath(char *dest, const wxString& path);
-WXDLLIMPEXP_BASE wchar_t* wxExpandPath(wchar_t *dest, const wxString& path);
-// FIXME-UTF8: add some wxString version
+wxDEPRECATED_BUT_USED_INTERNALLY( WXDLLIMPEXP_BASE char* wxExpandPath(char *dest, const wxString& path) );
+wxDEPRECATED_BUT_USED_INTERNALLY( WXDLLIMPEXP_BASE wchar_t* wxExpandPath(wchar_t *dest, const wxString& path) );
+    // DEPRECATED: use wxFileName::Normalize(wxPATH_NORM_ENV_VARS)
 
 // Contract w.r.t environment (</usr/openwin/lib, OPENWHOME> -> ${OPENWINHOME}/lib)
 // and make (if under the home tree) relative to home
 // [caller must copy-- volatile]
+wxDEPRECATED(
 WXDLLIMPEXP_BASE wxChar* wxContractPath(const wxString& filename,
                                    const wxString& envname = wxEmptyString,
-                                   const wxString& user = wxEmptyString);
+                                   const wxString& user = wxEmptyString) );
+    // DEPRECATED: use wxFileName::ReplaceEnvVariable and wxFileName::ReplaceHomeDir
 
 // Destructive removal of /./ and /../ stuff
-// FIXME-UTF8: deprecate these two (and similar)
-WXDLLIMPEXP_BASE char* wxRealPath(char *path);
-WXDLLIMPEXP_BASE wchar_t* wxRealPath(wchar_t *path);
-WXDLLIMPEXP_BASE wxString wxRealPath(const wxString& path);
+wxDEPRECATED_BUT_USED_INTERNALLY( WXDLLIMPEXP_BASE char* wxRealPath(char *path) );
+wxDEPRECATED_BUT_USED_INTERNALLY( WXDLLIMPEXP_BASE wchar_t* wxRealPath(wchar_t *path) );
+wxDEPRECATED_BUT_USED_INTERNALLY( WXDLLIMPEXP_BASE wxString wxRealPath(const wxString& path) );
+    // DEPRECATED: use wxFileName::Normalize instead
 
 // Allocate a copy of the full absolute path
-WXDLLIMPEXP_BASE wxChar* wxCopyAbsolutePath(const wxString& path);
+wxDEPRECATED( WXDLLIMPEXP_BASE wxChar* wxCopyAbsolutePath(const wxString& path) );
+    // DEPRECATED: use wxFileName::MakeAbsolute instead
+#endif
 
 // Get first file name matching given wild card.
 // Flags are reserved for future use.
@@ -605,7 +623,7 @@ WXDLLIMPEXP_BASE bool wxRenameFile(const wxString& file1, const wxString& file2,
 // copies into buf.
 // IMPORTANT NOTE getcwd is know not to work under some releases
 // of Win32s 1.3, according to MS release notes!
-wxDEPRECATED( WXDLLIMPEXP_BASE wxChar* wxGetWorkingDirectory(wxChar *buf = (wxChar *) NULL, int sz = 1000) );
+wxDEPRECATED( WXDLLIMPEXP_BASE wxChar* wxGetWorkingDirectory(wxChar *buf = NULL, int sz = 1000) );
 // new and preferred version of wxGetWorkingDirectory
 // NB: can't have the same name because of overloading ambiguity
 #endif // WXWIN_COMPATIBILITY_2_6
@@ -700,12 +718,14 @@ inline bool wxIsPathSeparator(wxChar c)
 // does the string ends with path separator?
 WXDLLIMPEXP_BASE bool wxEndsWithPathSeparator(const wxString& filename);
 
+#if WXWIN_COMPATIBILITY_2_8
 // split the full path into path (including drive for DOS), name and extension
 // (understands both '/' and '\\')
-WXDLLIMPEXP_BASE void wxSplitPath(const wxString& fileName,
-                             wxString *pstrPath,
-                             wxString *pstrName,
-                             wxString *pstrExt);
+wxDEPRECATED( WXDLLIMPEXP_BASE void wxSplitPath(const wxString& fileName,
+                                                wxString *pstrPath,
+                                                wxString *pstrName,
+                                                wxString *pstrExt) );
+#endif
 
 // find a file in a list of directories, returns false if not found
 WXDLLIMPEXP_BASE bool wxFindFileInPath(wxString *pStr, const wxString& szPath, const wxString& szFile);