| 374 return NULL; |
377 return NULL; |
| 375 |
378 |
| 376 if (user_data != NULL) |
379 if (user_data != NULL) |
| 377 *user_data = cpar->help_data; |
380 *user_data = cpar->help_data; |
| 378 return cpar->help_cb; |
381 return cpar->help_cb; |
| |
382 } |
| |
383 |
| |
384 void |
| |
385 purple_request_cpar_set_extra_actions(PurpleRequestCommonParameters *cpar, ...) |
| |
386 { |
| |
387 va_list args; |
| |
388 GSList *extra = NULL, *it; |
| |
389 |
| |
390 it = cpar->extra_actions; |
| |
391 while (it != NULL) { |
| |
392 gchar *label = it->data; |
| |
393 |
| |
394 g_free(label); |
| |
395 it = g_slist_next(it); |
| |
396 if (it == NULL) |
| |
397 break; |
| |
398 it = g_slist_next(it); |
| |
399 } |
| |
400 |
| |
401 va_start(args, cpar); |
| |
402 |
| |
403 while (TRUE) { |
| |
404 const gchar *label; |
| |
405 PurpleRequestFieldsCb cb; |
| |
406 |
| |
407 label = va_arg(args, const gchar*); |
| |
408 if (label == NULL) |
| |
409 break; |
| |
410 cb = va_arg(args, PurpleRequestFieldsCb); |
| |
411 |
| |
412 extra = g_slist_append(extra, g_strdup(label)); |
| |
413 extra = g_slist_append(extra, cb); |
| |
414 } |
| |
415 |
| |
416 va_end(args); |
| |
417 |
| |
418 cpar->extra_actions = extra; |
| |
419 } |
| |
420 |
| |
421 GSList * |
| |
422 purple_request_cpar_get_extra_actions(PurpleRequestCommonParameters *cpar) |
| |
423 { |
| |
424 return cpar->extra_actions; |
| 379 } |
425 } |
| 380 |
426 |
| 381 PurpleRequestFields * |
427 PurpleRequestFields * |
| 382 purple_request_fields_new(void) |
428 purple_request_fields_new(void) |
| 383 { |
429 { |