Elm  1.0
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CrashHandler.h
1 /*
2  * $Id$
3  * Copyright (c) 2007, IRIT - UPS
4  *
5  * CrashHandler class interface
6  */
7 #ifndef ELM_DEBUG_CRASH_HANDLER_H
8 #define ELM_DEBUG_CRASH_HANDLER_H
9 
10 #include <elm/types.h>
11 
12 namespace elm {
13 
14 // CrashHandler class
15 class CrashHandler {
16 public:
17  static const t::uint32
18  DEBUG = 0x01,
19  INT = 0x02;
20  typedef t::uint32 mode_t;
21 
22  static void set(CrashHandler *handler, mode_t mode);
23  static inline CrashHandler *get(void) { return current_handler; }
24  static inline mode_t mode(void) { return _mode; }
25  static void crash(void);
27 
28  virtual void setup(void);
29  virtual void handle(void);
30  virtual void cleanup(void);
31 
32 protected:
33  inline CrashHandler(void) { }
34  virtual ~CrashHandler(void) { }
35 
36 private:
37  static mode_t _mode;
38  static CrashHandler *current_handler;
39 };
40 
41 // NoCrashHandler class
43 public:
44  virtual void setup(void) { }
45  virtual void handle(void) { }
46  virtual void cleanup(void) { }
47 };
48 
49 } // elm
50 
51 #endif // ELM_DEBUG_CRASH_HANDLER_H
virtual void cleanup(void)
Definition: CrashHandler.h:46
static const t::uint32 DEBUG
Definition: CrashHandler.h:18
Definition: CrashHandler.h:15
virtual void handle(void)
Definition: debug_CrashHandler.cpp:142
CrashHandler(void)
Definition: CrashHandler.h:33
virtual void setup(void)
Definition: CrashHandler.h:44
static void set(CrashHandler *handler, mode_t mode)
Definition: debug_CrashHandler.cpp:64
static const t::uint32 INT
Definition: CrashHandler.h:19
virtual ~CrashHandler(void)
Definition: CrashHandler.h:34
virtual void handle(void)
Definition: CrashHandler.h:45
static void crash(void)
Definition: debug_CrashHandler.cpp:86
virtual void setup(void)
Definition: debug_CrashHandler.cpp:106
t::uint32 mode_t
Definition: CrashHandler.h:20
static mode_t mode(void)
Definition: CrashHandler.h:24
static CrashHandler DEFAULT
Definition: CrashHandler.h:26
uint32_t uint32
Definition: int.h:35
Definition: CrashHandler.h:42
virtual void cleanup(void)
Definition: debug_CrashHandler.cpp:150