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 Member Functions

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

Static Public Member Functions

static 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 endl(), and kdError().


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 fillbyte(), fillpattern(), fillrandom(), infoMessage(), and processedSize().

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 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.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sun Jan 15 13:33:36 2006 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003