kdecore Library API Documentation

KTempDir Class Reference

The KTempDir class creates a unique directory for temporary use. More...

#include <ktempdir.h>

List of all members.

Public Member Functions

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

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 <jowenn@kde.org>

Definition at line 52 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 57 of file ktempdir.cpp.

KTempDir::~KTempDir  ) 
 

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

Definition at line 105 of file ktempdir.cpp.

References unlink().


Member Function Documentation

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 84 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 112 of file ktempdir.cpp.

QString KTempDir::name  )  const
 

Returns the full path and name of the directory.

Returns:
The name of the file, or QString::null if creating the directory has failed or the directory has been unlinked

Definition at line 118 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 130 of file ktempdir.cpp.

void KTempDir::unlink  ) 
 

Deletes the directory recursively.

Definition at line 137 of file ktempdir.cpp.

References KProcess::quote().

Referenced by ~KTempDir().

bool KTempDir::existing  )  const
 

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

Definition at line 124 of file ktempdir.cpp.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdecore Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Mar 3 19:22:57 2005 by doxygen 1.3.6 written by Dimitri van Heesch, © 1997-2003