35 lines
740 B
C
35 lines
740 B
C
|
#pragma once
|
||
|
|
||
|
#include <string>
|
||
|
|
||
|
namespace logger {
|
||
|
|
||
|
// settings
|
||
|
extern bool BLOCKING;
|
||
|
extern bool COLOR;
|
||
|
|
||
|
enum Style {
|
||
|
DEFAULT = 0,
|
||
|
GREY = 1,
|
||
|
YELLOW = 2,
|
||
|
RED = 3
|
||
|
};
|
||
|
|
||
|
void start();
|
||
|
void stop();
|
||
|
void push(std::string data, Style color, bool terminate = false);
|
||
|
|
||
|
// log hooks
|
||
|
typedef bool (*LogHook_t)(void *user, const std::string &data, Style style, std::string &out);
|
||
|
void hook_add(LogHook_t hook, void *user);
|
||
|
void hook_remove(LogHook_t hook, void *user);
|
||
|
|
||
|
class PCBIDFilter {
|
||
|
public:
|
||
|
PCBIDFilter();
|
||
|
~PCBIDFilter();
|
||
|
private:
|
||
|
static bool filter(void *user, const std::string &data, Style style, std::string &out);
|
||
|
};
|
||
|
}
|