LOG.H
[目次 | 型・クラス・構造体 | マクロ]
1|/**************************************************************************
2| 1. <<< 処理の記録 (Log) >>>
3|***************************************************************************/
4|
5|#ifndef __LOG_H
6|#define __LOG_H
7|
8|
9|/*************************************************************************
10| 2. <<< 優先ヘッダ >>>
11|**************************************************************************/
12|#ifndef USES_PRIORITY_HEADER
13|/*[START_OF_PRIORITY_HEADER]*/
14|
15|#ifndef USES_LOG
16|#define USES_LOG
17|typedef struct _Log Log;
18|#endif
19|
20|/*[END_OF_PRIORITY_HEADER]*/
21|#endif
22|
23|/* 派生属性の設定 */
24|#if defined(LOG_SOME)
25| #define LOG_OTHER
26|#endif
27|
28|/*************************************************************************
29| 3. <<< エラーコード, リターンコード >>>
30|**************************************************************************/
31|
32|#define Log_Err_Some 0
33|
34|
35|/*--------------------------------------------------------------*/
36|/*4. <<< Interface Area -------------------------------------- >>> */
37|/*--------------------------------------------------------------*/
38|
39|#ifdef __cplusplus
40|extern "C" {
41|#endif
42|
43|
44|/**************************************************************************
45| 5. <<< [Log] 処理の記録 >>>
46|【補足】
47|・処理中にユーザに知らせるべき情報や、進捗状況など、printf で
48| よく行われる文字列形式の出力を、環境に依存しないように
49| 出力装置を選択できるクラスです。
50|・デバッグ用(プログラマ向け)の出力には、Errors_printf をお使い下さい。
51|・出力装置には、コンソール、ファイル、メモリ、エディット・コントロールがあります。
52|***************************************************************************/
53|struct _Log {
54| void* mem;
55| char* mem_over;
56| char* mem_p;
57|
58| int console;
59|
60| #ifdef USES_FILEX
61| FILE* file;
62| #endif
63|
64| #ifdef FOR_WIN32
65| //CEdit* edit;
66| #endif
67|
68| ERRORS_INITCHK_VAR
69|};
70|
71|void Log_init( Log* );
72|void Log_finish( Log* );
73|void Log_print( Log*, const char* title );
74|
75|void Log_setMemory( Log*, void* mem, int mem_size );
76|void Log_setConsole( Log*, int sw );
77|#ifdef USES_FILEX
78| void Log_setFile( Log*, const char* path );
79|#endif
80|#ifdef FOR_WIN32
81| //void Log_setEditCtrl( Log*, CEdit* edit );
82|#endif
83|
84|void Log_printf( Log*, ... );
85|void Log_claer( Log* );
86|
87|#define Log_StdOut 0x001
88|#define Log_StdOut_RetBefore 0x002
89|#define Log_StdOut_RetAfter 0x004
90|#define Log_StdErr 0x100
91|
92|#ifdef __cplusplus
93|}
94|#endif
95|
96|/*--------------------------------------------------------------*/
97|/*6. <<< Mapping Area ---------------------------------------- >>> */
98|/*--------------------------------------------------------------*/
99|
100|
101|#endif /* __LOG_H */
102|
103|