comparison libpurple/status.c @ 32407:d3e36e7af9e7

Hide PurpleValue.
author masca@cpw.pidgin.im
date Thu, 25 Aug 2011 04:15:16 +0000
parents 80eabeb5b794
children ac6353ffa129 d2fe5f01635b
comparison
equal deleted inserted replaced
32406:77a59b2615d0 32407:d3e36e7af9e7
761 continue; 761 continue;
762 } 762 }
763 763
764 specified_attr_ids = g_list_prepend(specified_attr_ids, (gpointer)id); 764 specified_attr_ids = g_list_prepend(specified_attr_ids, (gpointer)id);
765 765
766 if (value->type == PURPLE_TYPE_STRING) 766 if (purple_value_get_type(value) == PURPLE_TYPE_STRING)
767 { 767 {
768 const gchar *string_data = l->data; 768 const gchar *string_data = l->data;
769 l = l->next; 769 l = l->next;
770 if (purple_strequal(string_data, value->data.string_data)) 770 if (purple_strequal(string_data, purple_value_get_string(value)))
771 continue; 771 continue;
772 purple_status_set_attr_string(status, id, string_data); 772 purple_status_set_attr_string(status, id, string_data);
773 changed = TRUE; 773 changed = TRUE;
774 } 774 }
775 else if (value->type == PURPLE_TYPE_INT) 775 else if (purple_value_get_type(value) == PURPLE_TYPE_INT)
776 { 776 {
777 int int_data = GPOINTER_TO_INT(l->data); 777 int int_data = GPOINTER_TO_INT(l->data);
778 l = l->next; 778 l = l->next;
779 if (int_data == value->data.int_data) 779 if (int_data == purple_value_get_int(value))
780 continue; 780 continue;
781 purple_status_set_attr_int(status, id, int_data); 781 purple_status_set_attr_int(status, id, int_data);
782 changed = TRUE; 782 changed = TRUE;
783 } 783 }
784 else if (value->type == PURPLE_TYPE_BOOLEAN) 784 else if (purple_value_get_type(value) == PURPLE_TYPE_BOOLEAN)
785 { 785 {
786 gboolean boolean_data = GPOINTER_TO_INT(l->data); 786 gboolean boolean_data = GPOINTER_TO_INT(l->data);
787 l = l->next; 787 l = l->next;
788 if (boolean_data == value->data.boolean_data) 788 if (boolean_data == purple_value_get_boolean(value))
789 continue; 789 continue;
790 purple_status_set_attr_boolean(status, id, boolean_data); 790 purple_status_set_attr_boolean(status, id, boolean_data);
791 changed = TRUE; 791 changed = TRUE;
792 } 792 }
793 else 793 else
807 l = l->next; 807 l = l->next;
808 808
809 if (!g_list_find_custom(specified_attr_ids, attr->id, (GCompareFunc)strcmp)) { 809 if (!g_list_find_custom(specified_attr_ids, attr->id, (GCompareFunc)strcmp)) {
810 PurpleValue *default_value; 810 PurpleValue *default_value;
811 default_value = purple_status_attr_get_value(attr); 811 default_value = purple_status_attr_get_value(attr);
812 if (default_value->type == PURPLE_TYPE_STRING) { 812 if (purple_value_get_type(default_value) == PURPLE_TYPE_STRING) {
813 const char *cur = purple_status_get_attr_string(status, attr->id); 813 const char *cur = purple_status_get_attr_string(status, attr->id);
814 const char *def = purple_value_get_string(default_value); 814 const char *def = purple_value_get_string(default_value);
815 if ((cur == NULL && def == NULL) 815 if ((cur == NULL && def == NULL)
816 || (cur != NULL && def != NULL 816 || (cur != NULL && def != NULL
817 && !strcmp(cur, def))) { 817 && !strcmp(cur, def))) {
818 continue; 818 continue;
819 } 819 }
820 820
821 purple_status_set_attr_string(status, attr->id, def); 821 purple_status_set_attr_string(status, attr->id, def);
822 } else if (default_value->type == PURPLE_TYPE_INT) { 822 } else if (purple_value_get_type(default_value) == PURPLE_TYPE_INT) {
823 int cur = purple_status_get_attr_int(status, attr->id); 823 int cur = purple_status_get_attr_int(status, attr->id);
824 int def = purple_value_get_int(default_value); 824 int def = purple_value_get_int(default_value);
825 if (cur == def) 825 if (cur == def)
826 continue; 826 continue;
827 827
828 purple_status_set_attr_int(status, attr->id, def); 828 purple_status_set_attr_int(status, attr->id, def);
829 } else if (default_value->type == PURPLE_TYPE_BOOLEAN) { 829 } else if (purple_value_get_type(default_value) == PURPLE_TYPE_BOOLEAN) {
830 gboolean cur = purple_status_get_attr_boolean(status, attr->id); 830 gboolean cur = purple_status_get_attr_boolean(status, attr->id);
831 gboolean def = purple_value_get_boolean(default_value); 831 gboolean def = purple_value_get_boolean(default_value);
832 if (cur == def) 832 if (cur == def)
833 continue; 833 continue;
834 834