kdecore Library API Documentation

KCrash Class Reference

This class handles segmentation-faults. More...

#include <kcrash.h>

List of all members.

Public Types

typedef void(* HandlerType )(int)
 This function type is a pointer to a crash handler function.


Static Public Member Functions

void defaultCrashHandler (int signal)
 The default crash handler.

void setCrashHandler (HandlerType handler=defaultCrashHandler)
 Install a function to be called in case a SIGSEGV is caught.

HandlerType crashHandler ()
 Returns the installed crash handler.

void setEmergencySaveFunction (HandlerType saveFunction=(HandlerType) 0)
 Installs a function which should try to save the applications data.

HandlerType emergencySaveFunction ()
 Return the currently set emergency save function.

void setApplicationPath (QString path)
 Sets the application path which should be passed to Dr.

void setApplicationName (QString name)
 Sets the application name name which should be passed to Dr.


Static Protected Attributes

HandlerType _crashHandler = 0
 Pointer to the crash handler.

HandlerType _emergencySaveFunction = 0
 Pointer to the emergency save function.


Detailed Description

This class handles segmentation-faults.

By default it displays a message-box saying the application crashed. This default can be overridden by setting a custom crash handler with setCrashHandler(). If a function is specified with setEmergencySaveFunction() it will be called by the default crash handler, giving the application a chance to save its data.

Definition at line 36 of file kcrash.h.


Member Typedef Documentation

typedef void(* KCrash::HandlerType)(int)
 

This function type is a pointer to a crash handler function.

The function's argument is the number of the signal.

Definition at line 53 of file kcrash.h.

Referenced by crashHandler(), emergencySaveFunction(), setCrashHandler(), and setEmergencySaveFunction().


Member Function Documentation

void KCrash::defaultCrashHandler int  signal  )  [static]
 

The default crash handler.

Parameters:
signal the signal number

Definition at line 108 of file kcrash.cpp.

References _emergencySaveFunction, KInstance::aboutData(), KAboutData::bugAddress(), KStdAction::close(), DCOPClient::emergencyClose(), KNotifyClient::instance(), QString::isNull(), KAboutData::programName(), QCString::setNum(), QString::utf8(), and KAboutData::version().

Referenced by setEmergencySaveFunction().

void KCrash::setCrashHandler HandlerType  handler = defaultCrashHandler  )  [static]
 

Install a function to be called in case a SIGSEGV is caught.

Parameters:
HandlerType handler can be one of
  • null in which case signal-catching is disabled (by calling signal(SIGSEGV, SIG_DFL))
  • if handler is omitted the default crash handler is installed.
  • an user defined function in the form: static (if in a class) void myCrashHandler(int);
handler the crash handler

Definition at line 77 of file kcrash.cpp.

References _crashHandler, and HandlerType.

HandlerType KCrash::crashHandler  )  [inline, static]
 

Returns the installed crash handler.

Returns:
the crash handler

Definition at line 72 of file kcrash.h.

References _crashHandler, and HandlerType.

void KCrash::setEmergencySaveFunction HandlerType  saveFunction = (HandlerType) 0  )  [static]
 

Installs a function which should try to save the applications data.

It is the crash handler´s responsibility to call this function. Therefore, if no crash handler is set, the default crash handler is installed to ensure the save function is called.

Parameters:
saveFunction the handler to install

Definition at line 61 of file kcrash.cpp.

References _crashHandler, _emergencySaveFunction, defaultCrashHandler(), and HandlerType.

HandlerType KCrash::emergencySaveFunction  )  [inline, static]
 

Return the currently set emergency save function.

Returns:
the emergency save function

Definition at line 86 of file kcrash.h.

References _emergencySaveFunction, and HandlerType.

void KCrash::setApplicationPath QString  path  )  [inline, static]
 

Sets the application path which should be passed to Dr.

Konqi, our nice crash display application.

Parameters:
path the application path.

Definition at line 93 of file kcrash.h.

References QString::local8Bit().

void KCrash::setApplicationName QString  name  )  [inline, static]
 

Sets the application name name which should be passed to Dr.

Konqi, our nice crash display application.

Parameters:
name the name of the application, as shown in Dr. Konqi

Definition at line 100 of file kcrash.h.

References KStdAction::name().


Member Data Documentation

KCrash::HandlerType KCrash::_crashHandler = 0 [static, protected]
 

Pointer to the crash handler.

Definition at line 53 of file kcrash.cpp.

Referenced by crashHandler(), setCrashHandler(), and setEmergencySaveFunction().

KCrash::HandlerType KCrash::_emergencySaveFunction = 0 [static, protected]
 

Pointer to the emergency save function.

Definition at line 52 of file kcrash.cpp.

Referenced by defaultCrashHandler(), emergencySaveFunction(), and setEmergencySaveFunction().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 12:48:34 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001