CMS 3D CMS Logo

IgQtAppCrashAlertService Class Reference

#include <Iguana/Studio/interface/IgQtAppCrashAlertService.h>

Inheritance diagram for IgQtAppCrashAlertService:

IgStateElement

List of all members.

Public Member Functions

virtual void addUnwind (lat::Callback action)
virtual bool hasCrashed (void)
 IgQtAppCrashAlertService (IgState *state, QWidget *mainWindow)
virtual void removeUnwind (lat::Callback action)
 ~IgQtAppCrashAlertService (void)

Private Member Functions

 IG_DECLARE_STATE_ELEMENT (IgQtAppCrashAlertService)
 IgQtAppCrashAlertService (const IgQtAppCrashAlertService &)
IgQtAppCrashAlertServiceoperator= (const IgQtAppCrashAlertService &)

Private Attributes

QWidget * m_mainWindow
QWidget * m_popup
IgStatem_state
std::list< lat::Callbackm_unwinds


Detailed Description

Definition at line 21 of file IgQtAppCrashAlertService.h.


Constructor & Destructor Documentation

IgQtAppCrashAlertService::IgQtAppCrashAlertService ( IgState state,
QWidget *  mainWindow 
)

Definition at line 22 of file IgQtAppCrashAlertService.cc.

References ASSERT, m_state, and IgState::put().

00024     : m_state (state),
00025       m_mainWindow (mainWindow),
00026       m_popup (0)
00027 {
00028     ASSERT (state);
00029     ASSERT (mainWindow);
00030 
00031     m_state->put (s_key, this);
00032 
00033     // FIXME: Install crash handlers, main loop return etc.  For more
00034     // comments, see comments in beginning of `iguana'.
00035 
00036     // FIXME: Hook into some existing base application crash service
00037     // already installed by `iguana'.  The unwind mechanism should
00038     // come from there, and we only put up an alert here.
00039 
00040     // FIXME: Create a popup dialog for the crash alert.  On crash,
00041     // just bring it up.
00042 }

IgQtAppCrashAlertService::~IgQtAppCrashAlertService ( void   ) 

Definition at line 44 of file IgQtAppCrashAlertService.cc.

References ASSERT, IgState::detach(), m_mainWindow, m_popup, and m_state.

00045 {
00046     ASSERT (m_state);
00047     ASSERT (m_mainWindow);
00048     // ASSERT (m_popup);
00049     m_state->detach (s_key);
00050     delete m_popup;
00051 }

IgQtAppCrashAlertService::IgQtAppCrashAlertService ( const IgQtAppCrashAlertService  )  [private]


Member Function Documentation

void IgQtAppCrashAlertService::addUnwind ( lat::Callback  action  )  [virtual]

Definition at line 60 of file IgQtAppCrashAlertService.cc.

References m_unwinds.

00061 {
00062     m_unwinds.push_front (action);
00063 }

bool IgQtAppCrashAlertService::hasCrashed ( void   )  [virtual]

Definition at line 54 of file IgQtAppCrashAlertService.cc.

References lat::Signal::crashed().

00055 {
00056     return lat::Signal::crashed ();
00057 }

IgQtAppCrashAlertService::IG_DECLARE_STATE_ELEMENT ( IgQtAppCrashAlertService   )  [private]

IgQtAppCrashAlertService& IgQtAppCrashAlertService::operator= ( const IgQtAppCrashAlertService  )  [private]

void IgQtAppCrashAlertService::removeUnwind ( lat::Callback  action  )  [virtual]

Definition at line 66 of file IgQtAppCrashAlertService.cc.

References find(), and m_unwinds.

00067 {
00068     m_unwinds.erase (std::find (m_unwinds.begin (), m_unwinds.end (), action));
00069 }


Member Data Documentation

QWidget* IgQtAppCrashAlertService::m_mainWindow [private]

Definition at line 34 of file IgQtAppCrashAlertService.h.

Referenced by ~IgQtAppCrashAlertService().

QWidget* IgQtAppCrashAlertService::m_popup [private]

Definition at line 35 of file IgQtAppCrashAlertService.h.

Referenced by ~IgQtAppCrashAlertService().

IgState* IgQtAppCrashAlertService::m_state [private]

Definition at line 33 of file IgQtAppCrashAlertService.h.

Referenced by IgQtAppCrashAlertService(), and ~IgQtAppCrashAlertService().

std::list<lat::Callback> IgQtAppCrashAlertService::m_unwinds [private]

Definition at line 36 of file IgQtAppCrashAlertService.h.

Referenced by addUnwind(), and removeUnwind().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:25:26 2009 for CMSSW by  doxygen 1.5.4