| 483 void |
480 void |
| 484 purple_request_fields_destroy(PurpleRequestFields *fields) |
481 purple_request_fields_destroy(PurpleRequestFields *fields) |
| 485 { |
482 { |
| 486 g_return_if_fail(fields != NULL); |
483 g_return_if_fail(fields != NULL); |
| 487 |
484 |
| 488 g_strfreev(fields->tab_names); |
|
| 489 g_list_free_full(fields->groups, |
485 g_list_free_full(fields->groups, |
| 490 (GDestroyNotify)purple_request_field_group_destroy); |
486 (GDestroyNotify)purple_request_field_group_destroy); |
| 491 g_list_free(fields->required_fields); |
487 g_list_free(fields->required_fields); |
| 492 g_list_free(fields->validated_fields); |
488 g_list_free(fields->validated_fields); |
| 493 g_list_free(fields->autosensitive_fields); |
489 g_list_free(fields->autosensitive_fields); |
| 541 g_return_val_if_fail(fields != NULL, NULL); |
537 g_return_val_if_fail(fields != NULL, NULL); |
| 542 |
538 |
| 543 return fields->groups; |
539 return fields->groups; |
| 544 } |
540 } |
| 545 |
541 |
| 546 void |
|
| 547 purple_request_fields_set_tab_names(PurpleRequestFields *fields, |
|
| 548 const gchar **tab_names) |
|
| 549 { |
|
| 550 guint i, tab_count; |
|
| 551 gchar **new_names; |
|
| 552 |
|
| 553 g_return_if_fail(fields != NULL); |
|
| 554 |
|
| 555 tab_count = (tab_names != NULL) ? g_strv_length((gchar **)tab_names) : 0; |
|
| 556 new_names = (tab_count > 0) ? g_new0(gchar*, tab_count + 1) : NULL; |
|
| 557 for (i = 0; i < tab_count; i++) |
|
| 558 new_names[i] = g_strdup(tab_names[i]); |
|
| 559 |
|
| 560 g_strfreev(fields->tab_names); |
|
| 561 fields->tab_names = new_names; |
|
| 562 } |
|
| 563 |
|
| 564 const gchar ** |
|
| 565 purple_request_fields_get_tab_names(const PurpleRequestFields *fields) |
|
| 566 { |
|
| 567 g_return_val_if_fail(fields != NULL, NULL); |
|
| 568 |
|
| 569 return (const gchar **)fields->tab_names; |
|
| 570 } |
|
| 571 |
|
| 572 gboolean |
542 gboolean |
| 573 purple_request_fields_exists(const PurpleRequestFields *fields, const char *id) |
543 purple_request_fields_exists(const PurpleRequestFields *fields, const char *id) |
| 574 { |
544 { |
| 575 g_return_val_if_fail(fields != NULL, FALSE); |
545 g_return_val_if_fail(fields != NULL, FALSE); |
| 576 g_return_val_if_fail(id != NULL, FALSE); |
546 g_return_val_if_fail(id != NULL, FALSE); |
| 811 group = g_new0(PurpleRequestFieldGroup, 1); |
781 group = g_new0(PurpleRequestFieldGroup, 1); |
| 812 |
782 |
| 813 group->title = g_strdup(title); |
783 group->title = g_strdup(title); |
| 814 |
784 |
| 815 return group; |
785 return group; |
| 816 } |
|
| 817 |
|
| 818 void |
|
| 819 purple_request_field_group_set_tab(PurpleRequestFieldGroup *group, guint tab_no) |
|
| 820 { |
|
| 821 g_return_if_fail(group != NULL); |
|
| 822 |
|
| 823 group->tab_no = tab_no; |
|
| 824 } |
|
| 825 |
|
| 826 guint |
|
| 827 purple_request_field_group_get_tab(const PurpleRequestFieldGroup *group) |
|
| 828 { |
|
| 829 return group->tab_no; |
|
| 830 } |
786 } |
| 831 |
787 |
| 832 void |
788 void |
| 833 purple_request_field_group_destroy(PurpleRequestFieldGroup *group) |
789 purple_request_field_group_destroy(PurpleRequestFieldGroup *group) |
| 834 { |
790 { |