• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdecore
 

tdecore

Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
KTempDir Class Reference

#include <ktempdir.h>

Public Member Functions

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

Static Public Member Functions

static bool removeDir (const TQString &path)
 

Protected Member Functions

bool create (const TQString &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 TDEStandardDirs

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::KTempDir ( TQString  directoryPrefix = TQString::null,
int  mode = 0700 
)

Creates a temporary directory with the name: <directoryPrefix><six letters>

The default directoryPrefix is "$TDEHOME/tmp-$HOST/appname"

Parameters
directoryPrefixthe prefix of the file name, or TQString::null for the default value
modethe 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::~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

◆ create()

bool KTempDir::create ( const TQString &  directoryPrefix,
int  mode 
)
protected

Creates a "random" directory with specified mode.

Parameters
directoryPrefixto use when creating temp directory (the rest is generated randomly)
modedirectory permissions
Returns
bool true upon sucess

Definition at line 72 of file ktempdir.cpp.

◆ existing()

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.

◆ name()

TQString KTempDir::name ( ) const

Returns the full path and name of the directory, including a trailing '/'.

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

Definition at line 122 of file ktempdir.cpp.

◆ qDir()

TQDir * KTempDir::qDir ( )

Returns the TQDir* of the temporary directory.

Returns
TQDir 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.

◆ removeDir()

bool KTempDir::removeDir ( const TQString &  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 TDEIO::NetAccess::del is recommended instead, especially as it has user feedback for long operations.
Parameters
pathPath 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.

◆ setAutoDelete()

void KTempDir::setAutoDelete ( bool  autoDelete)
inline

Turn automatic deletion on or off.

Automatic deletion is off by default.

Parameters
autoDeletetrue to turn automatic deletion on

Definition at line 85 of file ktempdir.h.

◆ setError()

void KTempDir::setError ( int  error)
inlineprotected

Sets the errno value.

Parameters
errorthe value to set the status to.

Definition at line 161 of file ktempdir.h.

◆ status()

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.

◆ unlink()

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

tdecore

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

tdecore

Skip menu "tdecore"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdecore by doxygen 1.9.4
This website is maintained by Timothy Pearson.