// Name: filename.h
// Purpose: interface of wxFileName
// Author: wxWidgets team
-// RCS-ID: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
{
wxFILE_EXISTS_REGULAR = 0x0001, //!< Check for existence of a regular file
wxFILE_EXISTS_DIR = 0x0002, //!< Check for existence of a directory
- wxFILE_EXISTS_SYMLINK = 0x0004, //!< Check for existence of a symbolic link
+ /**
+ Check for existence of a symlink.
+
+ Notice that this flag also sets ::wxFILE_EXISTS_NO_FOLLOW, otherwise it
+ would never be satisfied as wxFileName::Exists() would be checking for
+ the existence of the symlink target and not the symlink itself.
+ */
+ wxFILE_EXISTS_SYMLINK = 0x1004,
wxFILE_EXISTS_DEVICE = 0x0008, //!< Check for existence of a device
wxFILE_EXISTS_FIFO = 0x0016, //!< Check for existence of a FIFO
wxFILE_EXISTS_SOCKET = 0x0032, //!< Check for existence of a socket
- wxFILE_EXISTS_ANY = 0x0FFF, //!< Check for existence of anything
wxFILE_EXISTS_NO_FOLLOW = 0x1000 //!< Don't dereference a contained symbolic link
+ wxFILE_EXISTS_ANY = 0x1FFF, //!< Check for existence of anything
};
/**
wxPathFormat format = wxPATH_NATIVE);
/**
- Appends a directory component to the path. This component should contain a
- single directory name level, i.e. not contain any path or volume separators nor
- should it be empty, otherwise the function does nothing (and generates an
- assert failure in debug build).
+ Appends a directory component to the path.
+
+ This component should contain a single directory name level, i.e. not
+ contain any path or volume separators nor should it be empty, otherwise
+ the function does nothing and returns false (and generates an assert
+ failure in debug build).
+
+ Notice that the return value is only available in wxWidgets 2.9.5 or
+ later.
*/
- void AppendDir(const wxString& dir);
+ bool AppendDir(const wxString& dir);
/**
Creates the file name from another filename object.
bool HasVolume() const;
/**
- Inserts a directory component before the zero-based position in the directory
- list. Please see AppendDir() for important notes.
+ Inserts a directory component before the zero-based position in the
+ directory list.
+
+ As with AppendDir(), @a dir must be a single directory name and the
+ function returns @false and does nothing else if it isn't.
+
+ Notice that the return value is only available in wxWidgets 2.9.5 or
+ later.
*/
- void InsertDir(size_t before, const wxString& dir);
+ bool InsertDir(size_t before, const wxString& dir);
/**
Returns @true if this filename is absolute.
*/
void SetPath(const wxString& path, wxPathFormat format = wxPATH_NATIVE);
+ /**
+ Sets permissions for this file or directory.
+
+ @param permissions
+ The new permissions: this should be a combination of
+ ::wxPosixPermissions enum elements.
+
+ @since 2.9.6
+
+ @note If this is a symbolic link and it should not be followed
+ this call will fail.
+
+ @return @true on success, @false if an error occurred (for example,
+ the file doesn't exist).
+ */
+ bool SetPermissions(int permissions)
+
/**
Sets the file creation and last access/modification times (any of the pointers
may be @NULL).
+
+ Notice that the file creation time can't be changed under Unix, so @a
+ dtCreate is ignored there (but @true is still returned). Under Windows
+ all three times can be set.
*/
bool SetTimes(const wxDateTime* dtAccess,
const wxDateTime* dtMod,