comparison libpurple/protocols/myspace/myspace.c @ 17955:9e8943111022

Show official client build in buddy profiles.
author Jeffrey Connelly <jaconnel@calpoly.edu>
date Thu, 19 Jul 2007 04:33:40 +0000
parents 016f9b2d6ee0
children 60f40fc52aa4
comparison
equal deleted inserted replaced
17954:016f9b2d6ee0 17955:9e8943111022
1088 g_free(enclosed_raw); 1088 g_free(enclosed_raw);
1089 1089
1090 return markup; 1090 return markup;
1091 } 1091 }
1092 1092
1093 /** Record the client version in the buddy list, from an incoming message. */
1094 gboolean
1095 msim_incoming_bm_record_cv(MsimSession *session, MsimMessage *msg)
1096 {
1097 gchar *username, *cv;
1098 gboolean ret;
1099 PurpleBuddy *buddy;
1100 gchar *client_info;
1101
1102
1103 username = msim_msg_get_string(msg, "_username");
1104 cv = msim_msg_get_string(msg, "cv");
1105
1106 g_return_val_if_fail(username != NULL, FALSE);
1107 g_return_val_if_fail(cv != NULL, FALSE);
1108
1109 buddy = purple_find_buddy(session->account, username);
1110
1111 if (buddy)
1112 {
1113 client_info = g_strdup_printf("MySpaceIM build %s", cv);
1114
1115 purple_blist_node_set_string(&buddy->node, "client", client_info);
1116 /* Do not free client_info - blist owns */
1117 ret = TRUE;
1118 } else {
1119 ret = FALSE;
1120 }
1121
1122 g_free(username);
1123 g_free(cv);
1124
1125 return ret;
1126 }
1127
1093 /** Handle an incoming buddy message. */ 1128 /** Handle an incoming buddy message. */
1094 gboolean 1129 gboolean
1095 msim_incoming_bm(MsimSession *session, MsimMessage *msg) 1130 msim_incoming_bm(MsimSession *session, MsimMessage *msg)
1096 { 1131 {
1097 guint bm; 1132 guint bm;
1098 1133
1099 bm = msim_msg_get_integer(msg, "bm"); 1134 bm = msim_msg_get_integer(msg, "bm");
1100 1135
1101 if (msim_msg_get(msg, "cv")) 1136 msim_incoming_bm_record_cv(session, msg);
1102 {
1103 purple_debug_info("msim_incoming_bm", "cv=%s",
1104 msim_msg_get_string(msg, "cv"));
1105 }
1106 1137
1107 switch (bm) 1138 switch (bm)
1108 { 1139 {
1109 case MSIM_BM_STATUS: 1140 case MSIM_BM_STATUS:
1110 return msim_incoming_status(session, msg); 1141 return msim_incoming_status(session, msg);