%% options copyright owner = Dirk Krause copyright year = 2011-2014 license = bsd %% header #ifdef __cplusplus extern "C" { #endif /** Write one-part log message. @param psrc Source structure. @param scope Scope flag. @param ll Log level. @param i1 Index of message in message array. */ void dkct_to_log_1(DKCT_SRC *psrc, int scope, int ll, size_t i1); /** Write three-parts log message. @param psrc Source structure. @param scope Scope flag. @param ll Log level. @param i1 Index of first message part in message array. @param i2 Index of third message part in message array. @param text Second message part. */ void dkct_to_log_3( DKCT_SRC *psrc, int scope, int ll, size_t i1, size_t i2, char const *text ); /** Write three-parts log message. @param psrc Source structure. @param scope Scope flag. @param ll Log level. @param i1 Index of first message part in message array. @param i2 Index of third message part in message array. @param text Second message part. */ void dkct_to_log_dk_3( DKCT_SRC *psrc, int scope, int ll, size_t i1, size_t i2, dkChar const *text ); /** Write five-parts log message. @param psrc Source structure. @param scope Scope flag. @param ll Log level. @param i1 Index of first message part in message array. @param i2 Index of third message part in message array. @param i3 Index of fifth message part in message array. @param t1 Second message part. @param t2 Fourth message part. */ void dkct_to_log_5( DKCT_SRC *psrc, int scope, int ll, size_t i1, size_t i2, size_t i3, char const *t1, char const *t2 ); #ifdef __cplusplus } #endif %% module #if DK3_USE_WX #include "dkwxtrace.h" #else #include "dkct.h" #endif #if DK3_USE_WX static void dkct_to_log_lineno(DKCT_SRC *psrc) { char buffer[64]; if(psrc->sfn) { if(psrc->lineno) { if(psrc->pComm) { (psrc->pComm)->addCharText(psrc->sfn); sprintf(buffer, ":%lu: ", psrc->lineno); (psrc->pComm)->addCharText(buffer); } } } } #endif void dkct_to_log_1(DKCT_SRC *psrc, int scope, int ll, size_t i1) { if(scope) { dk3app_set_source_line(psrc->app, psrc->lineno); dk3app_log_1(psrc->app, ll, psrc->msg, i1); } #if DK3_USE_WX if(psrc->pComm) { dkct_to_log_lineno(psrc); (psrc->pComm)->addDkText((psrc->msg)[i1]); (psrc->pComm)->nl(); (psrc->pComm)->setLogLevel(ll); } #endif } void dkct_to_log_3( DKCT_SRC *psrc, int scope, int ll, size_t i1, size_t i2, char const *text ) { dkChar b3[DK3_MAX_PATH]; if(scope) { dk3app_set_source_line(psrc->app, psrc->lineno); if(dk3str_c8_to_str_simple_app(b3,DK3_SIZEOF(b3,dkChar),text,psrc->app)) { dk3app_log_3(psrc->app, ll, psrc->msg, i1, i2, b3); } } #if DK3_USE_WX if(psrc->pComm) { dkct_to_log_lineno(psrc); (psrc->pComm)->addDkText((psrc->msg)[i1]); if(text) { (psrc->pComm)->addCharText(text); } (psrc->pComm)->addDkText((psrc->msg)[i2]); (psrc->pComm)->nl(); (psrc->pComm)->setLogLevel(ll); } #endif } void dkct_to_log_5( DKCT_SRC *psrc, int scope, int ll, size_t i1, size_t i2, size_t i3, char const *t1, char const *t2 ) { dkChar b1[DK3_MAX_PATH]; dkChar b2[DK3_MAX_PATH]; if(scope) { dk3app_set_source_line(psrc->app, psrc->lineno); if(dk3str_c8_to_str_simple_app(b1,DK3_SIZEOF(b1,dkChar),t1,psrc->app)) { if(dk3str_c8_to_str_simple_app(b2,DK3_SIZEOF(b2,dkChar),t2,psrc->app)) { dk3app_log_5(psrc->app, ll, psrc->msg, i1, i2, i3, b1, b2); } } } #if DK3_USE_WX if(psrc->pComm) { dkct_to_log_lineno(psrc); (psrc->pComm)->addDkText((psrc->msg)[i1]); if(t1) { (psrc->pComm)->addCharText(t1); } (psrc->pComm)->addDkText((psrc->msg)[i2]); if(t2) { (psrc->pComm)->addCharText(t2); } (psrc->pComm)->addDkText((psrc->msg)[i3]); (psrc->pComm)->nl(); (psrc->pComm)->setLogLevel(ll); } #endif } void dkct_to_log_dk_3( DKCT_SRC *psrc, int scope, int ll, size_t i1, size_t i2, dkChar const *text ) { if(scope) { dk3app_set_source_line(psrc->app, psrc->lineno); dk3app_log_3(psrc->app, ll, psrc->msg, i1, i2, text); } #if DK3_USE_WX if(psrc->pComm) { dkct_to_log_lineno(psrc); (psrc->pComm)->addDkText((psrc->msg)[i1]); if(text) { (psrc->pComm)->addDkText(text); } (psrc->pComm)->addDkText((psrc->msg)[i2]); (psrc->pComm)->nl(); (psrc->pComm)->setLogLevel(ll); } #endif } /* vim: set ai sw=2 : */