• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KDECore

KTempDir Class Reference

Create a unique directory for temporary use. More...

#include <KTempDir>

List of all members.

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)

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(KStandardDirs::locateLocal("tmp", prefix));

KTempDir does not create any missing directories, but KStandardDirs::locateLocal() does.

See also:
KStandardDirs
KTemporaryFile
Author:
Joseph Wenninger <jowenn@kde.org>

Definition at line 52 of file ktempdir.h.


Constructor & Destructor Documentation

KTempDir::KTempDir ( const QString &  directoryPrefix = QString(),
int  mode = 0700 
) [explicit]

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 third for other users not in the file's group, with the same values.

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


Member Function Documentation

bool KTempDir::autoRemove (  )  const
Returns:
whether auto remove is active
See also:
setAutoRemove

Definition at line 166 of file ktempdir.cpp.

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:
true upon success

Definition at line 81 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 156 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 151 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.)
Todo:
decide how and where this function should be defined in KDE4

Definition at line 238 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 161 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 146 of file ktempdir.cpp.

void KTempDir::unlink (  ) 

Deletes the directory recursively.

Definition at line 171 of file ktempdir.cpp.


The documentation for this class was generated from the following files:
  • ktempdir.h
  • ktempdir.cpp

KDECore

Skip menu "KDECore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal