KDECore
KTempDir Class Reference
#include <KTempDir>
Detailed Description
Create a unique directory for temporary use.The KTempDir class creates a unique directory for temporary use.
This is especially useful if you need to create a directory in a world writable directory like /tmp without being vulnerable to so called symlink attacks.
KDE applications, however, shouldn't create files or directories in /tmp in the first place but use the "tmp" resource instead. The standard KTempDir constructor will do that by default.
To create a temporary directory that starts with a certain name in the "tmp" resource, one should use: KTempDir(locateLocal("tmp", prefix));
KTempDir does not create any missing directories, but locateLocal() does.
- See also:
- KStandardDirs
Definition at line 51 of file ktempdir.h.
Public Member Functions | |
bool | autoRemove () const |
bool | exists () const |
KTempDir (const QString &directoryPrefix=QString(), int mode=0700) | |
QString | name () const |
void | setAutoRemove (bool autoRemove) |
int | status () const |
void | unlink () |
~KTempDir () | |
Static Public Member Functions | |
static bool | removeDir (const QString &path) |
Protected Member Functions | |
bool | create (const QString &directoryPrefix, int mode) |
Constructor & Destructor Documentation
Creates a temporary directory with the name: <directoryPrefix><six
letters>.
The default directoryPrefix
is "$KDEHOME/tmp-$HOST/appname"
- Parameters:
-
directoryPrefix the prefix of the file name, or QString() for the default value mode the file permissions, almost always in octal. The first digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the second selects permissions for other users in the file's group, with the same values; and the fourth for other users not in the file's group, with the same values.
Definition at line 69 of file ktempdir.cpp.
KTempDir::~KTempDir | ( | ) |
The destructor deletes the directory and its contents if autoRemove is set to true.
- See also:
- setAutoRemove.
Definition at line 108 of file ktempdir.cpp.
Member Function Documentation
bool KTempDir::autoRemove | ( | ) | const |
- Returns:
- whether auto remove is active
- See also:
- setAutoRemove
Definition at line 137 of file ktempdir.cpp.
Creates a "random" directory with specified mode.
- Parameters:
-
directoryPrefix to use when creating temp directory (the rest is generated randomly) mode directory permissions
- Returns:
- true upon success
Definition at line 74 of file ktempdir.cpp.
bool KTempDir::exists | ( | ) | const |
Returns true if a temporary directory has successfully been created and has not been unlinked yet.
Definition at line 127 of file ktempdir.cpp.
QString KTempDir::name | ( | ) | const |
Returns the full path and name of the directory, including a trailing '/'.
- Returns:
- The name of the directory, or QString() if creating the directory has failed or the directory has been unlinked
Definition at line 122 of file ktempdir.cpp.
Remove a directory and all its contents.
Remove recursively a directory, even if it is not empty or contains other directories.
However the function works too when the path
given is a non-directory file. In that case it simply remove that file.
The function stops on the first error.
- Note:
- This function is more meant for removing a directory not created by the user. For user-created directories, using KIO::NetAccess::del is recommended instead, especially as it has user feedback for long operations.
- Parameters:
-
path Path of the directory to delete
- Returns:
- true if successful, otherwise false (Use errno for more details about the error.)
- Todo:
- decide how and where this function should be defined in KDE4
Definition at line 207 of file ktempdir.cpp.
void KTempDir::setAutoRemove | ( | bool | autoRemove | ) |
Turn automatic deletion of the directory on or off.
Automatic deletion is on by default.
- Parameters:
-
autoRemove toggle automatic deletion on or off
Definition at line 132 of file ktempdir.cpp.
int KTempDir::status | ( | ) | const |
Returns the status of the directory creation based on errno.
(see errno.h)
- Note:
- You should check the status after object creation to check whether the directory could be created.
- Returns:
- the errno status, 0 means ok
Definition at line 117 of file ktempdir.cpp.
void KTempDir::unlink | ( | ) |
The documentation for this class was generated from the following files: