Changeset 372 for cpp/frams/mhandlers/mhandlers.h
- Timestamp:
- 04/22/15 04:14:59 (8 years ago)
- Location:
- cpp/frams/mhandlers
- Files:
-
- 1 copied
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
cpp/frams/mhandlers/mhandlers.h
r371 r372 3 3 // See LICENSE.txt for details. 4 4 5 #ifndef _ ERRMANAGER_H_6 #define _ ERRMANAGER_H_5 #ifndef _MHANDLERS_H_ 6 #define _MHANDLERS_H_ 7 7 8 8 #include <frams/util/list.h> 9 9 #include <frams/util/sstring.h> 10 #include <common/ framsg.h>10 #include <common/hmessage.h> 11 11 #include <common/threads.h> 12 12 13 class ErrorHandlerBase;13 class MessageHandlerBase; 14 14 15 class ErrorManager15 class MessageHandlerManager 16 16 { 17 friend class ErrorHandlerBase;18 SListTempl< ErrorHandlerBase*> handlers;17 friend class MessageHandlerBase; 18 SListTempl<MessageHandlerBase*> handlers; 19 19 void send(int level, const char *o, const char *m, const char *bl, int w); 20 20 public: 21 int find( ErrorHandlerBase *r) { return handlers.find(r); }22 int add( ErrorHandlerBase *r);21 int find(MessageHandlerBase *r) { return handlers.find(r); } 22 int add(MessageHandlerBase *r); 23 23 void remove(int i); 24 void remove( ErrorHandlerBase *r);24 void remove(MessageHandlerBase *r); 25 25 void removeAll(); 26 26 void send(const char *o, const char *m, const char *bl, int w) … … 28 28 send(handlers.size() - 1, o, m, bl, w); 29 29 } 30 ~ ErrorManager() { removeAll(); }30 ~MessageHandlerManager() { removeAll(); } 31 31 }; 32 32 33 extern THREAD_LOCAL_DECL( ErrorManager, errmgr_instance);33 extern THREAD_LOCAL_DECL(MessageHandlerManager, message_handler_manager_instance); 34 34 35 35 //////////////////////////////////////// 36 36 37 class ErrorHandlerBase37 class MessageHandlerBase 38 38 { 39 friend class ErrorManager;39 friend class MessageHandlerManager; 40 40 protected: 41 ErrorManager* mgr;41 MessageHandlerManager* mgr; 42 42 int options; 43 43 … … 46 46 enum HandlerOptions 47 47 { 48 DontBlock = 1, CannotBeBlocked = 2, DontEnable = 4, Paused = 848 DontBlock = 1, CannotBeBlocked = 2, Enable = 4, Paused = 8 49 49 }; 50 50 51 void FMprintf(const char *o, const char *m, int w, const char *bl, ...);51 void Hprintf(const char *o, const char *m, int w, const char *bl, ...); 52 52 void send(const char *o, const char *m, const char *bl, int w); 53 53 … … 59 59 void resume(); 60 60 61 ErrorHandlerBase(int opts = 0) :mgr(0), options(opts)61 MessageHandlerBase(int opts = 0) :mgr(0), options(opts) 62 62 { 63 if ( !(options&DontEnable)) enable();63 if (options&Enable) enable(); 64 64 } 65 virtual ~ ErrorHandlerBase()65 virtual ~MessageHandlerBase() 66 66 { 67 67 disable(); … … 73 73 /////////////////////////////////////////// 74 74 75 class ErrorHandler : public ErrorHandlerBase75 class MessageHandlerToMemory : public MessageHandlerBase 76 76 { 77 77 protected: … … 81 81 public: 82 82 83 void reset() { maxlevel = FMLV_INFO - 1; errcount = warncount = storcount = infocount = 0; msgs = 0; }83 void reset() { maxlevel = HMLV_INFO - 1; errcount = warncount = storcount = infocount = 0; msgs = 0; } 84 84 85 85 enum Options2 … … 95 95 const SString& getMessages() { return msgs; } 96 96 97 ErrorHandler(int opts = 0, int store = FMLV_ERROR) :ErrorHandlerBase(opts), storlevel(store)97 MessageHandlerToMemory(int opts = 0, int minimal_level_to_store = HMLV_ERROR) :MessageHandlerBase(opts), storlevel(minimal_level_to_store) 98 98 { 99 99 reset(); … … 103 103 }; 104 104 105 class ErrorRedirector : public ErrorHandlerBase105 class RedirectingMessageHandler : public MessageHandlerBase 106 106 { 107 ErrorManager *other_mgr;107 MessageHandlerManager *other_mgr; 108 108 public: 109 ErrorRedirector(ErrorManager *om)110 : ErrorHandlerBase(), other_mgr(om) {}109 RedirectingMessageHandler(MessageHandlerManager *om,int opts=0) 110 :MessageHandlerBase(opts), other_mgr(om) {} 111 111 112 112 void handle(const char *o, const char *m, const char *bl, int w)
Note: See TracChangeset
for help on using the changeset viewer.