JunkBox_Lib++ (for Windows) 1.10.1
Loading...
Searching...
No Matches
LogRingBuffer.h
Go to the documentation of this file.
1#ifndef __JBXL_CPP_LOG_RING_BUFFER_H__
2#define __JBXL_CPP_LOG_RING_BUFFER_H__
3
10#include "xtools.h"
11
12//
13namespace jbxl {
14
15
16// kindData
17#define LOG_RB_UNKNOWN_DATA 0
18#define LOG_RB_TEXT_DATA 1
19#define LOG_RB_TEXT_HALF_DATA 2
20#define LOG_RB_BINARY_DATA 3
21#define LOG_RB_BINHEX_DATA 4
22
23// inputSrc
24#define LOG_RB_MESG 0
25#define LOG_RB_MESSAGE 0
26#define LOG_RB_INFO 1
27#define LOG_RB_INFORMATION 1
28#define LOG_RB_DEBUG 2
29#define LOG_RB_WARN 3
30#define LOG_RB_WARNING 3
31#define LOG_RB_ERR 4
32#define LOG_RB_ERROR 4
33
34
36{
37public:
38 CLogRingBuffer(int size) { init(size);}
39 virtual ~CLogRingBuffer(void);
40
41public:
42 int init(int size);
43 void clear(void);
44 void putRingBuffer(Buffer buf, int input=LOG_RB_MESG, int kind=LOG_RB_UNKNOWN_DATA);
45 void rewriteBinHexRingBuffer(int n, int input);
46 void putRingFormat(int input, char* fmt, ...);
47 void putRingFormat(int input, char* fmt, va_list args);
48
49 Buffer getRingBuffer(void); // バッファの先頭を読み込む.データポインタを移動させる.
50 Buffer getRingBuffer(int pos); // バッファの位置を指定して読み込む.データポインタの移動無し.
51
52 int getMaxBufSize(void) { return maxBufSize;}
53 int getMaxLineX(void) { return maxLineX;}
54 int getMaxLineY(void) { return maxLineY;}
55 int getTotalSize(void) { return tlDataSize;}
56 int getLastPosition(void) { return wPos;}
57
58 int getLengthX(int n) { if(n<0) n+=maxBufSize; return (int)strlen((const char*)pBuf[n%maxBufSize].buf);}
59 int getKindData(int n) { if(n<0) n+=maxBufSize; return kindData[n%maxBufSize];}
60
61public:
63
64protected:
65 int maxBufSize; // Buffer の数.ラインの数.
67
68 int maxLineX; // コンテキストのXサイズ
69 int maxLineY; // コンテキストのYサイズ
70 int indentSize; //
71
72 int rPos;
73 int wPos;
74
75 int* kindData; //
76 int* inputSrc; //
77};
78
79
80} // namespace
81
82#endif
83
#define LOG_RB_MESG
#define LOG_RB_UNKNOWN_DATA
void putRingFormat(int input, char *fmt,...)
void putRingBuffer(Buffer buf, int input=LOG_RB_MESG, int kind=LOG_RB_UNKNOWN_DATA)
virtual ~CLogRingBuffer(void)
void rewriteBinHexRingBuffer(int n, int input)
Definition Brep.h:29
汎用拡張ツールヘッダ