Changeset 26 in libcf for trunk/include/cf_log.h


Ignore:
Timestamp:
02/04/13 17:00:53 (11 years ago)
Author:
cheese
Message:

#1 documentation with doxygen

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/cf_log.h

    r23 r26  
    11/**
    2  * cf_log.h
     2 * @file    cf_log.h
     3 * @author  myusgun <myusgun@gmail.com>
     4 * @version 0.1
    35 */
    46#ifndef __CF_LOG_H__
     
    1921#define CF_ERROR_LOG_NOT_INITIALIZE     CF_ERROR_LOG - 11
    2022
     23/**
     24 * 로그의 버퍼 크기를 기본 값으로 설정
     25 *
     26 * @see CF_Log_CreateCtx, CF_LOG_OPEN
     27 */
    2128#define CF_LOG_BUFFER_DEFAULT           -1
     29
     30/** 로그 기록 시 버퍼를 사용하지 않고 즉시 기록
     31 *
     32 * @see CF_Log_CreateCtx, CF_LOG_OPEN, CF_Log_Initialize
     33 */
    2234#define CF_LOG_BUFFER_NO                0
    2335
     36/**
     37 * 로그에 아이디 넘버를 부여하여 생성 <br />
     38 * 로그 기록 시, 아이디 넘버를 사용하면 해당 로그로 기록할 수 있음
     39 *
     40 * @param __id      부여할 아이디 넘버
     41 * @param __file    로그 파일 경로
     42 * @param __memsize 로그 버퍼 크기
     43 *
     44 * @see CF_Log_MapCtxID
     45 */
    2446#define CF_LOG_OPEN(__id,__file,__memsize)              \
    2547    CF_Log_MapCtxID (__id, CF_Log_CreateCtx (__file, __memsize))
    2648
     49/**
     50 * 아이디 넘버에 해당하는 로그에 쓰기
     51 *
     52 * @param __id  로그의 아이디 넘버
     53 * @param __pf  로그의 프리픽스 문자열
     54 * @param __fmt 포맷 스트링
     55 * @param ...   가변 인자
     56 *
     57 * @see CF_Log_GetMappedCtx
     58 */
    2759#define CF_LOG_WRITE(__id,__pf,__fmt,...)               \
    2860    CF_Log_Write (CF_Log_GetMappedCtx (__id),__pf,__fmt,##__VA_ARGS__)
    2961
    30 #define CF_LOG_CLOSE    CF_Log_UnmapCtxID
    31 
     62/**
     63 * 아이디 넘버에 해당하는 로그를 닫고 해제
     64 *
     65 * @param __id 로그의 아이디 넘버
     66 *
     67 * @see CF_Log_UnmapCtxID
     68 */
     69#define CF_LOG_CLOSE(__id)      CF_Log_UnmapCtxID (__id)
     70
     71/** 로그 컨텍스트 */
    3272typedef void *  CF_Log_Ctx;
    3373
     
    3676#endif
    3777
     78/**
     79 * 로그를 사용하기 위해 초기화
     80 *
     81 * @return 성공 시, CF_OK; 실패 시, 오류 코드
     82 *
     83 * @param logPool 아이디 넘버 최대 값
     84 */
    3885CF_EXPORT int
    3986CF_Log_Initialize       (const int logPool);
    4087
     88/**
     89 * 로그가 모두 사용된 후 자원 해제
     90 *
     91 * @return CF_OK 반환
     92 */
    4193CF_EXPORT int
    4294CF_Log_Finalize         (void);
    4395
     96/**
     97 * 로그 컨텍스트 생성
     98 *
     99 * @return 성공 시, 로그 컨텍스트; 실패 시, NULL
     100 *
     101 * @param path      로그 파일 경로
     102 * @param memsize   로그 버퍼 크기
     103 *
     104 * @see CF_LOG_BUFFER_DEFAULT, CF_LOG_BUFFER_NO
     105 */
    44106CF_EXPORT CF_Log_Ctx
    45107CF_Log_CreateCtx        (const char * path,
    46108                         const int  memsize);
    47109
     110/**
     111 * 로그 컨텍스트 해제
     112 *
     113 * @return 성공 시, CF_OK; 실패 시, 오류 코드
     114 *
     115 * @param ctx 로그 컨텍스트
     116 */
    48117CF_EXPORT int
    49118CF_Log_DestroyCtx       (CF_Log_Ctx ctx);
    50119
     120/**
     121 * 로그 컨텍스트에 멀티쓰레드 모드 설정
     122 *
     123 * @return 성공 시, CF_OK; 실패 시, 오류 코드
     124 *
     125 * @param ctx 로그 컨텍스트
     126 */
    51127CF_EXPORT int
    52128CF_Log_SetMultiThread   (CF_Log_Ctx ctx);
    53129
     130/**
     131 * 로그 컨텍스트에 멀티쓰레드 모드 설정 해제
     132 *
     133 * @return 성공 시, CF_OK; 실패 시, 오류 코드
     134 *
     135 * @param ctx 로그 컨텍스트
     136 */
    54137CF_EXPORT int
    55138CF_Log_UnsetMultiThread (CF_Log_Ctx ctx);
    56139
     140/**
     141 * 로그 컨텍스트에 따라 로그 쓰기
     142 *
     143 * @return 성공 시, CF_OK; 실패 시, 오류 코드
     144 *
     145 * @param ctx       로그 컨텍스트
     146 * @param prefix    로그의 프리픽스 문자열
     147 * @param fmt       포맷 스트링
     148 * @param ...       가변 인자
     149 */
    57150CF_EXPORT int
    58151CF_Log_Write            (CF_Log_Ctx ctx,
     
    60153                         const char * fmt, ...);
    61154
     155/**
     156 * 로그 버퍼의 데이터를 즉시 로그 파일에 쓰기
     157 *
     158 * @return 성공 시, CF_OK; 실패 시, 오류 코드
     159 *
     160 * @param ctx 로그 컨텍스트
     161 */
    62162CF_EXPORT int
    63163CF_Log_Flush            (CF_Log_Ctx ctx);
    64164
     165/**
     166 * 로그 컨텍스트에 아이디 넘버 할당<br />
     167 * 로그 기록 시, 아이디 넘버를 사용하면 해당 로그로 기록할 수 있음
     168 *
     169 * @return 성공 시, CF_OK; 실패 시, 오류 코드
     170 *
     171 * @param mapid 부여할 아이디 넘버
     172 * @param ctx   로그 컨텍스트
     173 *
     174 * @remark 반드시 먼저 초기화 해야하며, 초기화 시에 주어진 번호보다 작은 아이디 넘버를 사용해야 함
     175 *
     176 * @see CF_LOG_OPEN, CF_Log_CreateCtx
     177 */
    65178CF_EXPORT int
    66179CF_Log_MapCtxID         (const int          mapid,
    67180                         const CF_Log_Ctx   ctx);
    68181
     182/**
     183 * 아이디 넘버에 해당하는 로그를 닫고 해당하는 컨텍스트를 해제
     184 *
     185 * @return 성공 시, CF_OK; 실패 시, 오류 코드
     186 *
     187 * @param mapid 로그의 아이디 넘버
     188 *
     189 * @remark 아이디 넘버에 해당하는 컨텍스트가 해제되므로 주의
     190 *
     191 * @see CF_LOG_CLOSE, CF_Log_DestroyCtx
     192 */
    69193CF_EXPORT int
    70194CF_Log_UnmapCtxID       (const int mapid);
    71195
     196/**
     197 * 아이디 넘버에 해당하는 로그 컨텍스트를 얻기
     198 *
     199 * @return 성공 시, 로그 컨텍스트; 실패 시, NULL
     200 *
     201 * @param mapid 로그의 아이디 넘버
     202 */
    72203CF_EXPORT CF_Log_Ctx
    73204CF_Log_GetMappedCtx     (const int mapid);
Note: See TracChangeset for help on using the changeset viewer.