comparison libpurple/protocols/qq/group_internal.c @ 24023:d4e0b7c484b1

2008.09.11 - csyfek <csyfek(at)gmail.com> * Commit to Pidgin 2008.09.05 - ccpaging <ccpaging(at)gmail.com> * Filter chars 0x01-0x20 in nickname 2008.09.05 - ccpaging <ccpaging(at)gmail.com> * Fixed compilation even pidgin-udp-patch not applied * Place and analysis 'before login packet' after login. packages will be updated slowly and server may send lots of 'server command packet', while 'before login packet' is placed after 'finished update'
author SHiNE CsyFeK <csyfek@gmail.com>
date Thu, 11 Sep 2008 13:34:33 +0000
parents 147ada94a1d8
children 22745e6a3136
comparison
equal deleted inserted replaced
24022:5f964757f517 24023:d4e0b7c484b1
141 g_hash_table_insert(components, g_strdup(QQ_ROOM_KEY_DESC_UTF8), g_strdup(group->desc_utf8)); 141 g_hash_table_insert(components, g_strdup(QQ_ROOM_KEY_DESC_UTF8), g_strdup(group->desc_utf8));
142 return components; 142 return components;
143 } 143 }
144 144
145 /* create a qq_group from hashtable */ 145 /* create a qq_group from hashtable */
146 qq_group *qq_group_from_hashtable(PurpleConnection *gc, GHashTable *data) 146 qq_group *qq_room_create_by_hashtable(PurpleConnection *gc, GHashTable *data)
147 { 147 {
148 qq_data *qd; 148 qq_data *qd;
149 qq_group *group; 149 qq_group *group;
150 150
151 g_return_val_if_fail(data != NULL, NULL); 151 g_return_val_if_fail(data != NULL, NULL);
166 group->category = qq_string_to_dec_value(g_hash_table_lookup(data, QQ_ROOM_KEY_CATEGORY)); 166 group->category = qq_string_to_dec_value(g_hash_table_lookup(data, QQ_ROOM_KEY_CATEGORY));
167 group->auth_type = qq_string_to_dec_value(g_hash_table_lookup(data, QQ_ROOM_KEY_AUTH_TYPE)); 167 group->auth_type = qq_string_to_dec_value(g_hash_table_lookup(data, QQ_ROOM_KEY_AUTH_TYPE));
168 group->title_utf8 = g_strdup(g_hash_table_lookup(data, QQ_ROOM_KEY_TITLE_UTF8)); 168 group->title_utf8 = g_strdup(g_hash_table_lookup(data, QQ_ROOM_KEY_TITLE_UTF8));
169 group->desc_utf8 = g_strdup(g_hash_table_lookup(data, QQ_ROOM_KEY_DESC_UTF8)); 169 group->desc_utf8 = g_strdup(g_hash_table_lookup(data, QQ_ROOM_KEY_DESC_UTF8));
170 group->my_role_desc = get_role_desc(group); 170 group->my_role_desc = get_role_desc(group);
171 group->is_got_info = FALSE;
171 172
172 qd->groups = g_list_append(qd->groups, group); 173 qd->groups = g_list_append(qd->groups, group);
173
174 return group; 174 return group;
175 } 175 }
176 176
177 /* refresh group local subscription */ 177 /* refresh group local subscription */
178 void qq_group_refresh(PurpleConnection *gc, qq_group *group) 178 void qq_group_refresh(PurpleConnection *gc, qq_group *group)
190 } 190 }
191 191
192 if (chat == NULL) { 192 if (chat == NULL) {
193 return; 193 return;
194 } 194 }
195 195
196 /* we have a local record, update its info */ 196 /* we have a local record, update its info */
197 /* if there is title_utf8, we update the group name */ 197 /* if there is title_utf8, we update the group name */
198 if (group->title_utf8 != NULL && strlen(group->title_utf8) > 0) 198 if (group->title_utf8 != NULL && strlen(group->title_utf8) > 0)
199 purple_blist_alias_chat(chat, group->title_utf8); 199 purple_blist_alias_chat(chat, group->title_utf8);
200 g_hash_table_replace(chat->components, 200 g_hash_table_replace(chat->components,