00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef jdb_handler_queue_h 00004 #define jdb_handler_queue_h 00005 00006 // 00007 // INTERFACE definition follows 00008 // 00009 00010 00011 // XXX If there is a constructor needed for this class make sure that it is 00012 // called with a priority higher than JDB_MODULE_INIT_PRIO! 00013 00014 class Jdb_handler 00015 { 00016 friend class Jdb_handler_queue; 00017 00018 public: 00019 Jdb_handler( void (*handler)() ) : handler(handler), next(0) {} 00020 void execute() { handler(); } 00021 00022 private: 00023 void (*handler)(); 00024 Jdb_handler *next; 00025 }; 00026 00027 class Jdb_handler_queue 00028 { 00029 private: 00030 Jdb_handler *first; 00031 00032 public: 00033 inline void add(Jdb_handler *handler); 00034 00035 void execute() const; 00036 }; 00037 00038 // 00039 // IMPLEMENTATION of inline functions (and needed classes) 00040 // 00041 00042 00043 00044 00045 inline void 00046 Jdb_handler_queue::add(Jdb_handler *handler) 00047 { 00048 handler->next = first; 00049 first = handler; 00050 } 00051 00052 #endif // jdb_handler_queue_h