|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2017 [email protected]
4: //
5:
6: #pragma once
7:
8: #include "fixedqueue.h"
9: #include <mutex>
10:
11: // ログキュー
12: class Logger
13: {
14: public:
15: Logger();
16: virtual ~Logger();
17:
18: // ログ書き込み
19: void Write(const char *);
20:
21: // ログ読み出し
22: bool Read(char *, int);
23:
24: // 標準出力にも出すかどうか
25: void UseStdout(bool val) { use_stdout = val; }
26:
27: private:
28: // パイプ
29: FixedQueue<uint8, 65536> pipe {};
30:
31: // 1行ずつの読み書き動作をアトミックにするための排他制御
32: std::mutex mtx {};
33:
34: // 標準出力にも出すかどうか
35: bool use_stdout = false;
36: };
37:
1.1.1.2 ! root 38: extern std::unique_ptr<Logger> gLogger;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.