| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #ifndef __CCONSOLEHANDLER_H__
- #define __CCONSOLEHANDLER_H__
- #ifndef _WIN32
- #define WORD std::string
- #endif
- #ifndef _WIN32
- #define _kill_thread(a,b) pthread_cancel(a);
- #else
- #define _kill_thread(a,b) TerminateThread(a,b);
- #endif
- namespace boost
- {
- template<typename signature>
- class function;
- }
- class DLL_EXPORT CConsoleHandler
- {
- public:
- boost::function<void(const std::string &)> *cb;
- int curLvl;
- int run();
- void setColor(int level);
- CConsoleHandler();
- ~CConsoleHandler();
- #ifndef _WIN32
- static void killConsole(pthread_t hThread); //for windows only, use native handle to the thread
- #else
- static void killConsole(void *hThread); //for windows only, use native handle to the thread
- #endif
- template<typename T> void print(const T &data, int level)
- {
- setColor(level);
- std::cout << data << std::flush;
- setColor(-1);
- }
- };
- #endif // __CCONSOLEHANDLER_H__
|