helper function for test applications

Ralf Habacker ralf.habacker at freenet.de
Sun Mar 14 05:40:18 PDT 2010


Colin Walters schrieb:
> On Tue, Mar 9, 2010 at 4:20 PM, Ralf Habacker <ralf.habacker at freenet.de> wrote:
>   
>> The appended patch adds an internal function _dbus_set_verbose(dbus_bool_t
>> state)  which makes is possible to enable/disable verbose printing from the
>> code on places where it is really required and helps to save time.
>>     
>
> Before I get into the small scale details, I think a function like:
>
> #ifdef POSIX
> /**
>  * Enable or disable verbose logging to the given file descriptor.
>  * Only intended for debugging scenarios; verbose logging, especially
>  * if directed synchronously to a file, can be a major performance
>  * hit.
>  *
>  * @param enabled If %TRUE, enable extremely verbose logging
>  * @param fd Unix file descriptor
>  * @param flags Unused at this time
> */
> void
> dbus_set_verbose_logging (dbus_bool_t enabled, int fd, int flags);
> #else
> void
> dbus_set_verbose_logging (dbus_bool_t, HANDLE_OR_SOMETHING file, int flags);
> #endif
>
> would be better. Having it always go to stderr is a little inflexible;
>   
On Windows there is already a solution for this by a configure option, 
which send all output to the default windows debug port 
http://msdn.microsoft.com/en-us/library/aa363362%28VS.85%29.aspx. In all 
other cases stderr is sufficient. The only need is to enable/disable 
debugging in program source.
> Small scale stuff:
>
> s/noice/noise/
>   
ups,  I have overseen this
> +void _dbus_set_verbose_real (dbus_bool_t state)
>
> Indentation is wrong, void should be on its own line.  
do you have seen that all functions in dbus-internal.h are intended as 
listed above ?
> + * Implementation of dbus_set_verbose() macro if built with verbose logging
> + * enabled.
>
> "Enable or disable verbose logging to standard error."
>   
As above said this does not fit into windows, because there are more than one possible output channels. So I would change it to 

"Enable or disable verbose logging."

> * Why are we DBUS_EXPORT anything from dbus-internals.h?  It looks
> like your patch exported _dbus_is_verbose_real, but why?
>   
many dbus _dbus functions are located in the shared dbus-1 library since 
the beginning of the windows port and has to be exported from the library.
This can be done either by having a def file 
http://cgit.freedesktop.org/dbus/dbus/tree/dbus/dbus-1-symbols.def.in or 
by using the DBUS_EXPORT macro, which is introduced by the two previous 
patches, on which this patches is based.

Regards
 Ralf




More information about the dbus mailing list