void finch_debug_init() { /* Xerox */ #define REGISTER_G_LOG_HANDLER(name) \ g_log_set_handler((name), G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL \ | G_LOG_FLAG_RECURSION, \ purple_glib_log_handler, NULL) /* Register the glib log handlers. */ REGISTER_G_LOG_HANDLER(NULL); REGISTER_G_LOG_HANDLER("GLib"); REGISTER_G_LOG_HANDLER("GModule"); REGISTER_G_LOG_HANDLER("GLib-GObject"); REGISTER_G_LOG_HANDLER("GThread"); REGISTER_G_LOG_HANDLER("Gnt"); #ifdef USE_GSTREAMER REGISTER_G_LOG_HANDLER("GStreamer"); #endif REGISTER_G_LOG_HANDLER("stderr"); g_set_print_handler(print_stderr); /* Redirect the debug messages to stderr */ if (!purple_debug_is_enabled()) handle_fprintf_stderr(FALSE); purple_prefs_add_none(PREF_ROOT); purple_prefs_add_string(PREF_ROOT "/filter", ""); purple_prefs_add_none(PREF_ROOT "/size"); purple_prefs_add_int(PREF_ROOT "/size/width", 60); purple_prefs_add_int(PREF_ROOT "/size/height", 15); if (purple_debug_is_enabled()) g_timeout_add(0, start_with_debugwin, NULL); }
void sipe_backend_debug(sipe_debug_level level, const gchar *format, ...) { va_list ap; va_start(ap, format); if (purple_debug_is_enabled()) { /* purple_debug doesn't have a vprintf-like API call :-( */ gchar *msg = g_strdup_vprintf(format, ap); switch (level) { case SIPE_DEBUG_LEVEL_INFO: purple_debug_info("sipe", "%s\n", msg); break; case SIPE_DEBUG_LEVEL_WARNING: purple_debug_warning("sipe", "%s\n", msg); break; case SIPE_DEBUG_LEVEL_ERROR: purple_debug_error("sipe", "%s\n", msg); break; case SIPE_DEBUG_LEVEL_FATAL: purple_debug_fatal("sipe", "%s\n", msg); break; } g_free(msg); } va_end(ap); }
static void handle_next_queued_request(void) { PurpleDnsQueryData *query_data; PurpleDnsQueryResolverProcess *resolver; if (queued_requests == NULL) /* No more DNS queries, yay! */ return; query_data = queued_requests->data; queued_requests = g_slist_delete_link(queued_requests, queued_requests); /* * If we have any children, attempt to have them perform the DNS * query. If we're able to send the query then resolver will be * set to the PurpleDnsQueryResolverProcess. Otherwise, resolver * will be NULL and we'll need to create a new DNS request child. */ while (free_dns_children != NULL) { resolver = free_dns_children->data; free_dns_children = g_slist_remove(free_dns_children, resolver); if (send_dns_request_to_child(query_data, resolver)) /* We found an acceptable child, yay */ break; } /* We need to create a new DNS request child */ if (query_data->resolver == NULL) { if (number_of_dns_children >= MAX_DNS_CHILDREN) { /* Apparently all our children are busy */ queued_requests = g_slist_prepend(queued_requests, query_data); return; } resolver = purple_dnsquery_resolver_new(purple_debug_is_enabled()); if (resolver == NULL) { purple_dnsquery_failed(query_data, _("Unable to create new resolver process\n")); return; } if (!send_dns_request_to_child(query_data, resolver)) { purple_dnsquery_failed(query_data, _("Unable to send request to resolver process\n")); return; } } query_data->resolver->inpa = purple_input_add(query_data->resolver->fd_out, PURPLE_INPUT_READ, host_resolved, query_data); }
void sipe_backend_debug(sipe_debug_level level, const gchar *format, ...) { va_list ap; va_start(ap, format); if (purple_debug_is_enabled()) { /* purple_debug doesn't have a vprintf-like API call :-( */ gchar *msg = g_strdup_vprintf(format, ap); sipe_backend_debug_literal(level, msg); g_free(msg); } va_end(ap); }
void sipe_backend_debug_literal(sipe_debug_level level, const gchar *msg) { if (purple_debug_is_enabled()) { /* purple_debug doesn't have a vprintf-like API call :-( */ switch (level) { case SIPE_DEBUG_LEVEL_INFO: purple_debug_info("sipe", "%s\n", msg); break; case SIPE_DEBUG_LEVEL_WARNING: purple_debug_warning("sipe", "%s\n", msg); break; case SIPE_DEBUG_LEVEL_ERROR: purple_debug_error("sipe", "%s\n", msg); break; case SIPE_DEBUG_LEVEL_FATAL: purple_debug_fatal("sipe", "%s\n", msg); break; } } }
gboolean sipe_backend_debug_enabled(void) { return purple_debug_is_enabled(); }