// time functions
- // set the file creation and last access/mod times
+ // set the file last access/mod and creation times
// (any of the pointers may be NULL)
- bool SetTimes(const wxDateTime *dtCreate,
- const wxDateTime *dtAccess,
- const wxDateTime *dtMod);
+ bool SetTimes(const wxDateTime *dtAccess,
+ const wxDateTime *dtMod,
+ const wxDateTime *dtCreate);
// set the access and modification times to the current moment
bool Touch();
- // return the last access, last modification and last change times
+ // return the last access, last modification and create times
// (any of the pointers may be NULL)
bool GetTimes(wxDateTime *dtAccess,
wxDateTime *dtMod,
- wxDateTime *dtChange) const;
+ wxDateTime *dtCreate) const;
// convenience wrapper: get just the last mod time of the file
wxDateTime GetModificationTime() const
static bool IsCaseSensitive( wxPathFormat format = wxPATH_NATIVE );
// is this filename absolute?
- bool IsAbsolute() const
- { return !m_relative; }
+ bool IsAbsolute(wxPathFormat format = wxPATH_NATIVE) const;
// is this filename relative?
- bool IsRelative() const
- { return m_relative; }
-
- // forcibly set the flag
- void SetAbsolute()
- { m_relative = FALSE; }
- void SetRelative()
- { m_relative = TRUE; }
+ bool IsRelative(wxPathFormat format = wxPATH_NATIVE) const
+ { return !IsAbsolute(format); }
// Information about path format
- // get the string separating the volume from the path for this format
+ // get the string separating the volume from the path for this format,
+ // return an empty string if this format doesn't support the notion of
+ // volumes at all
static wxString GetVolumeSeparator(wxPathFormat format = wxPATH_NATIVE);
// get the string of path separators for this format
static wxString GetPathSeparators(wxPathFormat format = wxPATH_NATIVE);
+ // get the canonical path separator for this format
+ static wxChar GetPathSeparator(wxPathFormat format = wxPATH_NATIVE)
+ { return GetPathSeparators(format)[0u]; }
+
// is the char a path separator for this format?
static bool IsPathSeparator(wxChar ch, wxPathFormat format = wxPATH_NATIVE);
- // FIXME: what exactly does this do?
- bool IsWild( wxPathFormat format = wxPATH_NATIVE );
-
// Dir accessors
void AppendDir( const wxString &dir );
void PrependDir( const wxString &dir );
// Return the long form of the path (returns identity on non-Windows platforms)
wxString GetLongPath() const;
+ // Is this a file or directory (not necessarily an existing one)
+ bool IsDir() const { return m_name.empty() && m_ext.empty(); }
+
// various helpers
// get the canonical path format for this platform
// the file name and extension (empty for directories)
wxString m_name,
m_ext;
-
- // is the path relative
+
+ // when m_dirs is empty it may mean either that we have no path at all or
+ // that our path is '/', i.e. the root directory
+ //
+ // we use m_relative to distinguish between these two cases, it will be
+ // TRUE in the former and FALSE in the latter
+ //
+ // NB: the path is not absolute just because m_relative is FALSE, it still
+ // needs the drive (i.e. volume) in some formats (Windows)
bool m_relative;
};