kdecore Library: KCrash Class Reference (kdecore Library)

| # kdecore Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KCrash Class Reference

This class handles segmentation-faults. More...

`#include <kcrash.h>`

List of all members.

## Public Types
typedef void(* | HandlerType )(int)
## Static Public Member Functions
static void | defaultCrashHandler (int signal)
static void | setCrashHandler (HandlerType handler=defaultCrashHandler)
static HandlerType | crashHandler ()
static void | setEmergencySaveFunction (HandlerType saveFunction=(HandlerType) 0)
static HandlerType | emergencySaveFunction ()
static void | setSafer (bool on)
static void | setApplicationPath (QString path)
static void | setApplicationName (QString name)
## Static Protected Attributes
static HandlerType | _crashHandler = 0
static HandlerType | _emergencySaveFunction = 0

## 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 37 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 55 of file kcrash.h.

## Member Function Documentation

void KCrash::defaultCrashHandler | ( | int | signal | ) | `[static]`

  | The default crash handler. Parameters:
  | signal | the signal number
Definition at line 113 of file kcrash.cpp. References _emergencySaveFunction, KInstance::aboutData(), KAboutData::bugAddress(), DCOPClient::emergencyClose(), 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:
  | handler | 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 80 of file kcrash.cpp. References _crashHandler.

static HandlerType KCrash::crashHandler | ( |  | ) | `[inline, static]`

| Returns the installed crash handler. Returns: the crash handler Definition at line 74 of file kcrash.h.

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 64 of file kcrash.cpp. References _crashHandler, _emergencySaveFunction, and defaultCrashHandler().

static HandlerType KCrash::emergencySaveFunction | ( |  | ) | `[inline, static]`

| Return the currently set emergency save function. Returns: the emergency save function Definition at line 88 of file kcrash.h.

static void KCrash::setSafer | ( | bool | on | ) | `[inline, static]`

| Set whether to start drkonqi without arbitrary disk access. Definition at line 93 of file kcrash.h.

static 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 100 of file kcrash.h. References QString::local8Bit().

static 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 108 of file kcrash.h. References QString::local8Bit().

## Member Data Documentation

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

| Pointer to the crash handler. Definition at line 55 of file kcrash.cpp. Referenced by setCrashHandler(), and setEmergencySaveFunction().

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

| Pointer to the emergency save function. Definition at line 54 of file kcrash.cpp. Referenced by defaultCrashHandler(), and setEmergencySaveFunction().

The documentation for this class was generated from the following files:

- kcrash.h
- kcrash.cpp

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:18:34 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003