// Created: 29/01/98
// RCS-ID: $Id$
// Copyright: (c) 1998 Julian Smart
-// Licence: wxWindows license
+// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __FILEFNH__
#pragma interface "filefn.h"
#endif
-#include "wx/list.h"
+#include <wx/list.h>
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+// define off_t
+#include <sys/types.h>
+
+#ifdef _MSC_VER
+ #define off_t _off_t
+#endif
+
+typedef enum {
+ wxFromStart,
+ wxFromCurrent,
+ wxFromEnd
+} wxSeekMode;
+
+// ----------------------------------------------------------------------------
+// functions
+// ----------------------------------------------------------------------------
bool WXDLLEXPORT wxFileExists(const wxString& filename);
#define FileExists wxFileExists
// Strip the extension, in situ
void WXDLLEXPORT wxStripExtension(char *buffer);
+void WXDLLEXPORT wxStripExtension(wxString& buffer);
// Get a temporary filename, opening and closing the file.
char* WXDLLEXPORT wxGetTempFileName(const wxString& prefix, char *buf = NULL);
#define PATH_SEP PATH_SEP_DOS
#endif // Unix/Windows
+// this is useful for wxString::IsSameAs(): to compare two file names use
+// filename1.IsSameAs(filename2, wxARE_FILENAMES_CASE_SENSITIVE)
+#ifdef __UNIX__
+ #define wxARE_FILENAMES_CASE_SENSITIVE TRUE
+#else // Windows
+ #define wxARE_FILENAMES_CASE_SENSITIVE FALSE
+#endif // Unix/Windows
+
// is the char a path separator?
inline bool wxIsPathSeparator(char c)
{ return c == FILE_SEP_PATH_DOS || c == FILE_SEP_PATH_UNIX; }
// does the string ends with path separator?
bool WXDLLEXPORT wxEndsWithPathSeparator(const char *pszFileName);
+// split the full path into path (including drive for DOS), name and extension
+// (understands both '/' and '\\')
+void WXDLLEXPORT wxSplitPath(const char *pszFileName,
+ wxString *pstrPath,
+ wxString *pstrName,
+ wxString *pstrExt);
+
// find a file in a list of directories, returns false if not found
bool WXDLLEXPORT wxFindFileInPath(wxString *pStr, const char *pszPath, const char *pszFile);
+// ----------------------------------------------------------------------------
+// classes
+// ----------------------------------------------------------------------------
+
// Path searching
class WXDLLEXPORT wxPathList: public wxStringList
{