kio Library API Documentation

KShred Class Reference

Erase a file in a way that makes recovery impossible -- well, no guarentee of that, but at least as difficult as reasonably possible. More...

#include <kshred.h>

Inheritance diagram for KShred:

QObject List of all members.

Signals

void processedSize (KIO::filesize_t bytes)
void infoMessage (const QString &message)

Public Methods

 KShred (QString fileName)
 ~KShred ()
bool fill1s ()
bool fill0s ()
bool fillbyte (unsigned int byte)
bool fillrandom ()
bool fillpattern (unsigned char *pattern, unsigned int size)
bool shred ()

Static Public Methods

bool shred (QString fileName)

Detailed Description

Erase a file in a way that makes recovery impossible -- well, no guarentee of that, but at least as difficult as reasonably possible.

For this, KShred write several times over the existing file, using different patterns, before deleting it.

Author:
Andreas F. Pour <bugs@mieterra.com> , David Faure <faure@kde.org> (integration into KDE and progress signal)

Definition at line 45 of file kshred.h.


Constructor & Destructor Documentation

KShred::KShred QString    fileName
 

Initialize the class using the name of the file to 'shred'.

Parameters:
fileName  fully qualified name of the file to shred.

Definition at line 31 of file kshred.cpp.

References QString::isEmpty(), QString::local8Bit(), QFile::open(), QFile::setName(), and QFile::size().


Member Function Documentation

bool KShred::fill1s  
 

Writes all 1's over the entire file and flushes the file buffers.

Returns:
true on success, false on error (invalid filename or write error)

Definition at line 68 of file kshred.cpp.

References fillbyte().

bool KShred::fill0s  
 

Writes all 0's over the entire file and flushes the file buffers.

Returns:
true on success, false on error (invalid filename or write error)

Definition at line 75 of file kshred.cpp.

References fillbyte().

bool KShred::fillbyte unsigned int    byte
 

Writes the specified byte over the entire file and flushes the file buffers.

Parameters:
byte  the value to write over every byte of the file
Returns:
true on success, false on error (invalid filename or write error)

Definition at line 82 of file kshred.cpp.

Referenced by fill0s(), fill1s(), and shred().

bool KShred::fillrandom  
 

Writes random bites over the entire file and flushes the file buffers.

Returns:
true on success, false on error (invalid filename or write error)

Definition at line 122 of file kshred.cpp.

Referenced by shred().

bool KShred::fillpattern unsigned char *    pattern,
unsigned int    size
 

Writes the specified byte array over the entire file and flushes the file buffers.

Parameters:
pattern  the value to write over the entire file
size  the length of the 'pattern' byte array
Returns:
true on success, false on error (invalid filename or write error)

Definition at line 103 of file kshred.cpp.

Referenced by shred().

bool KShred::shred  
 

Shreds a file by writing a series of values over it (uses fill0s, then fill1s, then fillrandom, then fillbyte with 0101..., then fillbyte with 1010....

Returns:
true on success, false on error (invalid filename or write error)

Definition at line 207 of file kshred.cpp.

References QString::arg(), fillbyte(), fillpattern(), fillrandom(), infoMessage(), processedSize(), and QFile::remove().

Referenced by shred().

bool KShred::shred QString    fileName [static]
 

The simplest method to shred a file.

No need to create an instance of the class.

Parameters:
fileName  fully qualified name of the file to shred.

Definition at line 149 of file kshred.cpp.

References QString::isEmpty(), and shred().

void KShred::processedSize KIO::filesize_t    bytes [signal]
 

Shows progress of the shredding.

Parameters:
bytes  the number of bytes written to the file

Referenced by shred().

void KShred::infoMessage const QString   message [signal]
 

Shows a message in the progress dialog.

Parameters:
message  the message to display

Referenced by shred().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kio Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sun May 16 22:03:35 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003