KTempDir Class Reference

`#include <ktempdir.h>`

## Public Member Functions

| KTempDir (QString directoryPrefix=QString::null, int mode=0700)
| ~KTempDir ()
void | setAutoDelete (bool autoDelete)
int | status () const
QString | name () const
QDir * | qDir ()
void | unlink ()
bool | existing () const

## Static Public Member Functions

static bool | removeDir (const QString &path)

## Protected Member Functions

bool | create (const QString &directoryPrefix, int mode)
void | setError (int error)

## Detailed Description

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));

KTempFile does not create any missing directories, but locateLocal() does.

See also KStandardDirs

Since
  3.2

Author
  Joseph Wenninger jowen.nosp@m.n@kd.nosp@m.e.org

Definition at line 53 of file ktempdir.h.

## Constructor & Destructor Documentation

KTempDir::KTempDir | ( | QString | directoryPrefix = `QString::null`,
|  | int | mode = `0700`
| ) |  |

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::null 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 59 of file ktempdir.cpp.

KTempDir::~KTempDir | ( |  | ) |

The destructor deletes the directory and it's contents if autoDelete is enabled.

Definition at line 106 of file ktempdir.cpp.

## Member Function Documentation

bool KTempDir::create | ( | const QString & | directoryPrefix,
|  | int | mode
| ) |  |

protected

Creates a "random" directory with specified mode.

Parameters

  directoryPrefix | to use when creating temp directory (the rest is generated randomly)
  mode | directory permissions

Returns
  bool true upon sucess

Definition at line 72 of file ktempdir.cpp.

bool KTempDir::existing | ( |  | ) | const

Returns
  true if a temporary directory has successfully been created and not been unlinked yet

Definition at line 128 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::null if creating the directory has failed or the directory has been unlinked

Definition at line 122 of file ktempdir.cpp.

QDir * KTempDir::qDir | ( |  | ) |

Returns the QDir* of the temporary directory.

Returns
  QDir directory information of the directory or 0 if their is no managed directory The caller has to free the pointer open for writing to the

Definition at line 134 of file ktempdir.cpp.

bool KTempDir::removeDir | ( | const QString & | path | ) |

static

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.)

Since
  3.5.2

Definition at line 208 of file ktempdir.cpp.

void KTempDir::setAutoDelete | ( | bool | autoDelete | ) |

inline

Turn automatic deletion on or off.

Automatic deletion is off by default.

Parameters

  autoDelete | true to turn automatic deletion on

Definition at line 85 of file ktempdir.h.

void KTempDir::setError | ( | int | error | ) |

inline protected

Sets the errno value.

Parameters

  error | the value to set the status to.

Definition at line 161 of file ktempdir.h.

int KTempDir::status | ( |  | ) | const

Returns the status of the directory creation based on errno.

(see errno.h) 0 means OK.

You should check the status after object creation to check whether a directory could be created in the first place.

Returns
  the errno status, 0 means ok

Definition at line 116 of file ktempdir.cpp.

void KTempDir::unlink | ( |  | ) |

Deletes the directory recursively.

Definition at line 141 of file ktempdir.cpp.

The documentation for this class was generated from the following files:

- ktempdir.h
- ktempdir.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys