| 230 PurpleDebugUi * |
230 PurpleDebugUi * |
| 231 purple_debug_get_ui(void) { |
231 purple_debug_get_ui(void) { |
| 232 return debug_ui; |
232 return debug_ui; |
| 233 } |
233 } |
| 234 |
234 |
| 235 gboolean |
|
| 236 purple_debug_ui_is_enabled(PurpleDebugUi *ui, PurpleDebugLevel level, |
|
| 237 const gchar *category) |
|
| 238 { |
|
| 239 PurpleDebugUiInterface *iface = NULL; |
|
| 240 |
|
| 241 g_return_val_if_fail(PURPLE_IS_DEBUG_UI(ui), FALSE); |
|
| 242 |
|
| 243 iface = PURPLE_DEBUG_UI_GET_IFACE(ui); |
|
| 244 if(iface != NULL && iface->is_enabled != NULL) { |
|
| 245 return iface->is_enabled(ui, level, category); |
|
| 246 } |
|
| 247 |
|
| 248 return FALSE; |
|
| 249 } |
|
| 250 |
|
| 251 void |
|
| 252 purple_debug_ui_print(PurpleDebugUi *ui, PurpleDebugLevel level, |
|
| 253 const gchar *category, const gchar *arg_s) |
|
| 254 { |
|
| 255 PurpleDebugUiInterface *iface = NULL; |
|
| 256 |
|
| 257 g_return_if_fail(PURPLE_IS_DEBUG_UI(ui)); |
|
| 258 |
|
| 259 if(!purple_debug_ui_is_enabled(ui, level, category)) { |
|
| 260 return; |
|
| 261 } |
|
| 262 |
|
| 263 iface = PURPLE_DEBUG_UI_GET_IFACE(ui); |
|
| 264 if(iface != NULL && iface->print != NULL) { |
|
| 265 iface->print(ui, level, category, arg_s); |
|
| 266 } |
|
| 267 } |
|
| 268 |
|
| 269 G_DEFINE_INTERFACE(PurpleDebugUi, purple_debug_ui, G_TYPE_OBJECT); |
|
| 270 |
|
| 271 static void |
|
| 272 purple_debug_ui_default_init(PurpleDebugUiInterface *iface) { |
|
| 273 } |
|
| 274 |
|
| 275 void |
235 void |
| 276 purple_debug_init(void) { |
236 purple_debug_init(void) { |
| 277 /* Read environment variables once per init */ |
237 /* Read environment variables once per init */ |
| 278 if(g_getenv("PURPLE_UNSAFE_DEBUG")) { |
238 if(g_getenv("PURPLE_UNSAFE_DEBUG")) { |
| 279 purple_debug_set_unsafe(TRUE); |
239 purple_debug_set_unsafe(TRUE); |