|
|
|
/*****************************************************************
|
|
|
|
* drkonqi - The KDE Crash Handler
|
|
|
|
*
|
|
|
|
* Copyright (C) 2000-2003 Hans Petter Bieker <bieker@kde.org>
|
|
|
|
*
|
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
* modification, are permitted provided that the following conditions
|
|
|
|
* are met:
|
|
|
|
*
|
|
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer.
|
|
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
|
|
* documentation and/or other materials provided with the distribution.
|
|
|
|
*
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
|
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
|
|
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
|
|
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
|
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
*****************************************************************/
|
|
|
|
|
|
|
|
#ifndef KRASHCONF_H
|
|
|
|
#define KRASHCONF_H
|
|
|
|
|
|
|
|
#include <tdeaboutdata.h>
|
|
|
|
#include <tqstring.h>
|
|
|
|
#include <tqobject.h>
|
|
|
|
|
|
|
|
#include "krashdcopinterface.h"
|
|
|
|
|
|
|
|
class KrashConfig : public TQObject, public KrashDCOPInterface
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
KrashConfig();
|
|
|
|
virtual ~KrashConfig();
|
|
|
|
|
|
|
|
k_dcop:
|
|
|
|
virtual TQString programName() const { return m_aboutData->programName(); };
|
|
|
|
virtual TQCString appName() const { return m_aboutData->appName(); };
|
|
|
|
virtual int signalNumber() const { return m_signalnum; };
|
|
|
|
virtual int pid() const { return m_pid; };
|
|
|
|
virtual bool startedByKdeinit() const { return m_startedByKdeinit; };
|
|
|
|
virtual bool safeMode() const { return m_safeMode; };
|
|
|
|
virtual TQString signalName() const { return m_signalName; };
|
|
|
|
virtual TQString signalText() const { return m_signalText; };
|
|
|
|
virtual TQString whatToDoText() const { return m_whatToDoText; }
|
|
|
|
virtual TQString errorDescriptionText() const { return m_errorDescriptionText; };
|
|
|
|
|
|
|
|
virtual ASYNC registerDebuggingApplication(const TQString& launchName);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TQString debugger() const { return m_debugger; }
|
|
|
|
TQString debuggerBatch() const { return m_debuggerBatch; }
|
|
|
|
TQString tryExec() const { return m_tryExec; }
|
|
|
|
TQString backtraceCommand() const { return m_backtraceCommand; }
|
|
|
|
TQString removeFromBacktraceRegExp() const { return m_removeFromBacktraceRegExp; }
|
|
|
|
TQString invalidStackFrameRegExp() const { return m_invalidStackFrameRegExp; }
|
|
|
|
TQString frameRegExp() const { return m_frameRegExp; }
|
|
|
|
TQString neededInValidBacktraceRegExp() const { return m_neededInValidBacktraceRegExp; }
|
|
|
|
TQString kcrashRegExp() const { return m_kcrashRegExp; }
|
|
|
|
TQString kcrashRegExpSingle() const { return m_kcrashRegExpSingle; }
|
|
|
|
TQString threadRegExp() const { return m_threadRegExp; }
|
|
|
|
TQString infoSharedLibraryHeader() const { return m_infoSharedLibraryHeader; }
|
|
|
|
bool showBacktrace() const { return m_showbacktrace; };
|
|
|
|
bool showDebugger() const { return m_showdebugger && !m_debugger.isNull(); };
|
|
|
|
bool showBugReport() const { return m_showbugreport; };
|
|
|
|
bool disableChecks() const { return m_disablechecks; };
|
|
|
|
const TDEAboutData *aboutData() const { return m_aboutData; }
|
|
|
|
TQString execName() const { return m_execname; }
|
|
|
|
|
|
|
|
void expandString(TQString &str, bool shell, const TQString &tempFile = TQString::null) const;
|
|
|
|
|
|
|
|
void acceptDebuggingApp();
|
|
|
|
|
|
|
|
signals:
|
|
|
|
void newDebuggingApplication(const TQString& launchName);
|
|
|
|
|
|
|
|
private:
|
|
|
|
void readConfig();
|
|
|
|
|
|
|
|
private:
|
|
|
|
TDEAboutData *m_aboutData;
|
|
|
|
int m_pid;
|
|
|
|
int m_signalnum;
|
|
|
|
bool m_showdebugger;
|
|
|
|
bool m_showbacktrace;
|
|
|
|
bool m_showbugreport;
|
|
|
|
bool m_startedByKdeinit;
|
|
|
|
bool m_safeMode;
|
|
|
|
bool m_disablechecks;
|
|
|
|
TQString m_signalName;
|
|
|
|
TQString m_signalText;
|
|
|
|
TQString m_whatToDoText;
|
|
|
|
TQString m_errorDescriptionText;
|
|
|
|
TQString m_execname;
|
|
|
|
|
|
|
|
TQString m_debugger;
|
|
|
|
TQString m_debuggerBatch;
|
|
|
|
TQString m_tryExec;
|
|
|
|
TQString m_backtraceCommand;
|
|
|
|
TQString m_removeFromBacktraceRegExp;
|
|
|
|
TQString m_invalidStackFrameRegExp;
|
|
|
|
TQString m_frameRegExp;
|
|
|
|
TQString m_neededInValidBacktraceRegExp;
|
|
|
|
TQString m_kcrashRegExp;
|
|
|
|
TQString m_kcrashRegExpSingle;
|
|
|
|
TQString m_threadRegExp;
|
|
|
|
TQString m_infoSharedLibraryHeader;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|