Author: schubi2 Date: Tue Nov 27 10:53:27 2007 New Revision: 7932 URL: http://svn.opensuse.org/viewcvs/zypp?rev=7932&view=rev Log: adding a callback definition for logging Modified: trunk/sat-solver/src/sat_debug.c trunk/sat-solver/src/sat_debug.h Modified: trunk/sat-solver/src/sat_debug.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/sat_debug.c?rev=7932&r1=7931&r2=7932&view=diff ============================================================================== --- trunk/sat-solver/src/sat_debug.c (original) +++ trunk/sat-solver/src/sat_debug.c Tue Nov 27 10:53:27 2007 @@ -21,7 +21,14 @@ static DebugLevel debug_level = ERROR; // log file,function,line too static int sat_log_lineNr = 0; +// Callback for logging +SatDebugFn debugCallback = NULL; +void +sat_set_debugCallback (SatDebugFn callback) +{ + debugCallback = callback; +} void sat_set_debug (DebugLevel level, int log_line_nr) @@ -48,9 +55,15 @@ if (sat_debug_level() >= level) { if (sat_log_lineNr) { char pre[MAX_OUTPUT_LEN]; - snprintf (pre, MAX_OUTPUT_LEN, "(%s, %s:%d) ", __FUNCTION__, __FILE__, __LINE__); - printf("%s", pre); + snprintf (pre, MAX_OUTPUT_LEN, "(%s, %s:%d) ", __FUNCTION__, __FILE__, __LINE__); + if (debugCallback == NULL) + printf("%s", pre); + else + debugCallback (pre); } - printf ("%s", str); + if (debugCallback == NULL) + printf ("%s", str); + else + debugCallback (str); } } Modified: trunk/sat-solver/src/sat_debug.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/sat_debug.h?rev=7932&r1=7931&r2=7932&view=diff ============================================================================== --- trunk/sat-solver/src/sat_debug.h (original) +++ trunk/sat-solver/src/sat_debug.h Tue Nov 27 10:53:27 2007 @@ -26,12 +26,15 @@ DEBUG_5 = 5 } DebugLevel; +// Callback for logging +typedef void (*SatDebugFn) (char *logString); +void sat_set_debugCallback (SatDebugFn callback); + // debug level void sat_set_debug (DebugLevel level, int log_line_nr); DebugLevel sat_debug_level (); +// logging a line void sat_debug (DebugLevel level, const char *format, ...); - - #endif /* _SAT_DEBUG_H */ -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org