mirror of
https://github.com/transmission/transmission
synced 2025-03-09 13:50:00 +00:00
Make message level available to message handler callback.
This commit is contained in:
parent
0caa326038
commit
69f43ff729
2 changed files with 10 additions and 14 deletions
|
@ -66,9 +66,9 @@ tr_handle_t * tr_init();
|
||||||
* Sets the function used to display libtransmission messages. This
|
* Sets the function used to display libtransmission messages. This
|
||||||
* function must be reentrant, it may be called from different threads.
|
* function must be reentrant, it may be called from different threads.
|
||||||
* A NULL argument means to print messages to stderr. The function's
|
* A NULL argument means to print messages to stderr. The function's
|
||||||
* prototype should look like this: void myErrFunc( const char * );
|
* prototype should look like this: void myMsgFunc( int, const char * );
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
void tr_setMessageFunction( void (*func)( const char * ) );
|
void tr_setMessageFunction( void (*func)( int, const char * ) );
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* tr_setMessageLevel
|
* tr_setMessageLevel
|
||||||
|
@ -77,7 +77,7 @@ void tr_setMessageFunction( void (*func)( const char * ) );
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
#define TR_MSG_ERR 1
|
#define TR_MSG_ERR 1
|
||||||
#define TR_MSG_INF 2
|
#define TR_MSG_INF 2
|
||||||
#define TR_MSG_DBG 4
|
#define TR_MSG_DBG 3
|
||||||
void tr_setMessageLevel( int );
|
void tr_setMessageLevel( int );
|
||||||
int tr_getMessageLevel( void );
|
int tr_getMessageLevel( void );
|
||||||
|
|
||||||
|
|
|
@ -24,18 +24,18 @@
|
||||||
|
|
||||||
#include "transmission.h"
|
#include "transmission.h"
|
||||||
|
|
||||||
static void (*messageFunc)( const char * );
|
static void (*messageFunc)( int, const char * );
|
||||||
|
|
||||||
static int verboseLevel = 0;
|
static int verboseLevel = 0;
|
||||||
|
|
||||||
void tr_setMessageFunction( void (*func)( const char * ) )
|
void tr_setMessageFunction( void (*func)( int, const char * ) )
|
||||||
{
|
{
|
||||||
messageFunc = func;
|
messageFunc = func;
|
||||||
}
|
}
|
||||||
|
|
||||||
void tr_setMessageLevel( int level )
|
void tr_setMessageLevel( int level )
|
||||||
{
|
{
|
||||||
verboseLevel = level;
|
verboseLevel = MAX( 0, level );
|
||||||
}
|
}
|
||||||
|
|
||||||
int tr_getMessageLevel( void )
|
int tr_getMessageLevel( void )
|
||||||
|
@ -52,15 +52,11 @@ void tr_msg( int level, char * msg, ... )
|
||||||
{
|
{
|
||||||
char * env;
|
char * env;
|
||||||
env = getenv( "TR_DEBUG" );
|
env = getenv( "TR_DEBUG" );
|
||||||
verboseLevel = env ? atoi( env ) : -1;
|
verboseLevel = ( env ? atoi( env ) : 0 ) + 1;
|
||||||
verboseLevel = verboseLevel ? verboseLevel : -1;
|
verboseLevel = MAX( 1, verboseLevel );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( verboseLevel < 1 && level > TR_MSG_ERR )
|
if( verboseLevel < level )
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if( verboseLevel < 2 && level > TR_MSG_INF )
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -75,7 +71,7 @@ void tr_msg( int level, char * msg, ... )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
messageFunc( string );
|
messageFunc( level, string );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue