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|