Mercurial > pidgin.yaz
comparison src/server.c @ 7118:bf630f7dfdcd
[gaim-migrate @ 7685]
Here's a commit that I think will make faceprint happy. GaimWindow ->
GaimConvWindow, GaimIm -> GaimConvIm, GaimChat -> GaimConvChat,
GaimBlistChat -> GaimChat, and updated the API functions as well. Plugin
authors are going to hunt me down and murder me. I can feel it..
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Thu, 02 Oct 2003 02:54:07 +0000 |
| parents | 6faeeecab0dc |
| children | 1930e3d00ecd |
comparison
equal
deleted
inserted
replaced
| 7117:943085b0ff8b | 7118:bf630f7dfdcd |
|---|---|
| 256 } | 256 } |
| 257 } | 257 } |
| 258 } | 258 } |
| 259 | 259 |
| 260 int serv_send_im(GaimConnection *gc, const char *name, const char *message, | 260 int serv_send_im(GaimConnection *gc, const char *name, const char *message, |
| 261 GaimImFlags imflags) | 261 GaimConvImFlags imflags) |
| 262 { | 262 { |
| 263 GaimConversation *c; | 263 GaimConversation *c; |
| 264 int val = -EINVAL; | 264 int val = -EINVAL; |
| 265 GaimPluginProtocolInfo *prpl_info = NULL; | 265 GaimPluginProtocolInfo *prpl_info = NULL; |
| 266 | 266 |
| 270 c = gaim_find_conversation_with_account(name, gc->account); | 270 c = gaim_find_conversation_with_account(name, gc->account); |
| 271 | 271 |
| 272 if (prpl_info && prpl_info->send_im) | 272 if (prpl_info && prpl_info->send_im) |
| 273 val = prpl_info->send_im(gc, name, message, imflags); | 273 val = prpl_info->send_im(gc, name, message, imflags); |
| 274 | 274 |
| 275 if (!(imflags & GAIM_IM_AUTO_RESP)) | 275 if (!(imflags & GAIM_CONV_IM_AUTO_RESP)) |
| 276 serv_touch_idle(gc); | 276 serv_touch_idle(gc); |
| 277 | 277 |
| 278 if (gc->away && | 278 if (gc->away && |
| 279 (gc->flags & GAIM_CONNECTION_AUTO_RESP) && | 279 (gc->flags & GAIM_CONNECTION_AUTO_RESP) && |
| 280 gaim_prefs_get_bool("/core/away/auto_response/enabled") && | 280 gaim_prefs_get_bool("/core/away/auto_response/enabled") && |
| 283 struct last_auto_response *lar; | 283 struct last_auto_response *lar; |
| 284 lar = get_last_auto_response(gc, name); | 284 lar = get_last_auto_response(gc, name); |
| 285 lar->sent = time(NULL); | 285 lar->sent = time(NULL); |
| 286 } | 286 } |
| 287 | 287 |
| 288 if (c && gaim_im_get_type_again_timeout(GAIM_IM(c))) | 288 if (c && gaim_conv_im_get_type_again_timeout(GAIM_CONV_IM(c))) |
| 289 gaim_im_stop_type_again_timeout(GAIM_IM(c)); | 289 gaim_conv_im_stop_type_again_timeout(GAIM_CONV_IM(c)); |
| 290 | 290 |
| 291 return val; | 291 return val; |
| 292 } | 292 } |
| 293 | 293 |
| 294 void serv_get_info(GaimConnection *g, const char *name) | 294 void serv_get_info(GaimConnection *g, const char *name) |
| 833 /* | 833 /* |
| 834 * woo. i'm actually going to comment this function. isn't that fun. make | 834 * woo. i'm actually going to comment this function. isn't that fun. make |
| 835 * sure to follow along, kids | 835 * sure to follow along, kids |
| 836 */ | 836 */ |
| 837 void serv_got_im(GaimConnection *gc, const char *who, const char *msg, | 837 void serv_got_im(GaimConnection *gc, const char *who, const char *msg, |
| 838 GaimImFlags imflags, time_t mtime) | 838 GaimConvImFlags imflags, time_t mtime) |
| 839 { | 839 { |
| 840 GaimConversation *cnv; | 840 GaimConversation *cnv; |
| 841 GaimMessageFlags msgflags; | 841 GaimMessageFlags msgflags; |
| 842 char *message, *name; | 842 char *message, *name; |
| 843 char *angel, *buffy; | 843 char *angel, *buffy; |
| 890 * prpls don't have to know about GAIM_MESSAGE_* (though some do anyway). | 890 * prpls don't have to know about GAIM_MESSAGE_* (though some do anyway). |
| 891 * We also need to preserve the flag that tells the UI to look for the | 891 * We also need to preserve the flag that tells the UI to look for the |
| 892 * associated images. | 892 * associated images. |
| 893 */ | 893 */ |
| 894 msgflags = GAIM_MESSAGE_RECV; | 894 msgflags = GAIM_MESSAGE_RECV; |
| 895 if (imflags & GAIM_IM_AUTO_RESP) | 895 if (imflags & GAIM_CONV_IM_AUTO_RESP) |
| 896 msgflags |= GAIM_MESSAGE_AUTO_RESP; | 896 msgflags |= GAIM_MESSAGE_AUTO_RESP; |
| 897 if (imflags & GAIM_IM_IMAGES) | 897 if (imflags & GAIM_CONV_IM_IMAGES) |
| 898 msgflags |= GAIM_MESSAGE_IMAGES; | 898 msgflags |= GAIM_MESSAGE_IMAGES; |
| 899 | 899 |
| 900 /* | 900 /* |
| 901 * Alright. Two cases for how to handle this. Either we're away or | 901 * Alright. Two cases for how to handle this. Either we're away or |
| 902 * we're not. If we're not, then it's easy. If we are, then there | 902 * we're not. If we're not, then it's easy. If we are, then there |
| 970 * while away), and then write it to the convo window. | 970 * while away), and then write it to the convo window. |
| 971 */ | 971 */ |
| 972 if (cnv == NULL) | 972 if (cnv == NULL) |
| 973 cnv = gaim_conversation_new(GAIM_CONV_IM, gc->account, name); | 973 cnv = gaim_conversation_new(GAIM_CONV_IM, gc->account, name); |
| 974 | 974 |
| 975 gaim_im_write(GAIM_IM(cnv), NULL, message, msgflags, mtime); | 975 gaim_conv_im_write(GAIM_CONV_IM(cnv), NULL, message, msgflags, mtime); |
| 976 } | 976 } |
| 977 | 977 |
| 978 /* | 978 /* |
| 979 * Regardless of whether we queue it or not, we should send an | 979 * Regardless of whether we queue it or not, we should send an |
| 980 * auto-response. That is, of course, unless the horse.... no wait. | 980 * auto-response. That is, of course, unless the horse.... no wait. |
| 1016 } | 1016 } |
| 1017 lar->sent = t; | 1017 lar->sent = t; |
| 1018 | 1018 |
| 1019 /* apply default fonts and colors */ | 1019 /* apply default fonts and colors */ |
| 1020 tmpmsg = stylize(gc->away, MSG_LEN); | 1020 tmpmsg = stylize(gc->away, MSG_LEN); |
| 1021 serv_send_im(gc, name, gaim_str_sub_away_formatters(tmpmsg, alias), GAIM_IM_AUTO_RESP); | 1021 serv_send_im(gc, name, gaim_str_sub_away_formatters(tmpmsg, alias), GAIM_CONV_IM_AUTO_RESP); |
| 1022 if (!cnv && awayqueue && | 1022 if (!cnv && awayqueue && |
| 1023 gaim_prefs_get_bool("/gaim/gtk/away/queue_messages")) { | 1023 gaim_prefs_get_bool("/gaim/gtk/away/queue_messages")) { |
| 1024 | 1024 |
| 1025 struct queued_message *qm; | 1025 struct queued_message *qm; |
| 1026 | 1026 |
| 1030 qm->account = gc->account; | 1030 qm->account = gc->account; |
| 1031 qm->tm = mtime; | 1031 qm->tm = mtime; |
| 1032 qm->flags = GAIM_MESSAGE_SEND | GAIM_MESSAGE_AUTO_RESP; | 1032 qm->flags = GAIM_MESSAGE_SEND | GAIM_MESSAGE_AUTO_RESP; |
| 1033 message_queue = g_slist_append(message_queue, qm); | 1033 message_queue = g_slist_append(message_queue, qm); |
| 1034 } else if (cnv != NULL) | 1034 } else if (cnv != NULL) |
| 1035 gaim_im_write(GAIM_IM(cnv), NULL, gaim_str_sub_away_formatters(tmpmsg, alias), | 1035 gaim_conv_im_write(GAIM_CONV_IM(cnv), NULL, gaim_str_sub_away_formatters(tmpmsg, alias), |
| 1036 GAIM_MESSAGE_SEND | GAIM_MESSAGE_AUTO_RESP, mtime); | 1036 GAIM_MESSAGE_SEND | GAIM_MESSAGE_AUTO_RESP, mtime); |
| 1037 | 1037 |
| 1038 g_free(tmpmsg); | 1038 g_free(tmpmsg); |
| 1039 } else { | 1039 } else { |
| 1040 /* | 1040 /* |
| 1066 } | 1066 } |
| 1067 else { | 1067 else { |
| 1068 if (cnv == NULL) | 1068 if (cnv == NULL) |
| 1069 cnv = gaim_conversation_new(GAIM_CONV_IM, gc->account, name); | 1069 cnv = gaim_conversation_new(GAIM_CONV_IM, gc->account, name); |
| 1070 | 1070 |
| 1071 gaim_im_write(GAIM_IM(cnv), NULL, message, msgflags, mtime); | 1071 gaim_conv_im_write(GAIM_CONV_IM(cnv), NULL, message, msgflags, mtime); |
| 1072 gaim_window_flash(gaim_conversation_get_window(cnv)); | 1072 gaim_conv_window_flash(gaim_conversation_get_window(cnv)); |
| 1073 } | 1073 } |
| 1074 } | 1074 } |
| 1075 | 1075 |
| 1076 g_free(name); | 1076 g_free(name); |
| 1077 g_free(message); | 1077 g_free(message); |
| 1235 void serv_got_typing(GaimConnection *gc, const char *name, int timeout, | 1235 void serv_got_typing(GaimConnection *gc, const char *name, int timeout, |
| 1236 GaimTypingState state) { | 1236 GaimTypingState state) { |
| 1237 | 1237 |
| 1238 GaimBuddy *b; | 1238 GaimBuddy *b; |
| 1239 GaimConversation *cnv = gaim_find_conversation_with_account(name, gc->account); | 1239 GaimConversation *cnv = gaim_find_conversation_with_account(name, gc->account); |
| 1240 GaimIm *im; | 1240 GaimConvIm *im; |
| 1241 | 1241 |
| 1242 if (!cnv) | 1242 if (!cnv) |
| 1243 return; | 1243 return; |
| 1244 | 1244 |
| 1245 im = GAIM_IM(cnv); | 1245 im = GAIM_CONV_IM(cnv); |
| 1246 | 1246 |
| 1247 gaim_conversation_set_account(cnv, gc->account); | 1247 gaim_conversation_set_account(cnv, gc->account); |
| 1248 gaim_im_set_typing_state(im, state); | 1248 gaim_conv_im_set_typing_state(im, state); |
| 1249 gaim_im_update_typing(im); | 1249 gaim_conv_im_update_typing(im); |
| 1250 | 1250 |
| 1251 b = gaim_find_buddy(gc->account, name); | 1251 b = gaim_find_buddy(gc->account, name); |
| 1252 | 1252 |
| 1253 if (b != NULL) | 1253 if (b != NULL) |
| 1254 { | 1254 { |
| 1263 "buddy-typing-stopped", cnv); | 1263 "buddy-typing-stopped", cnv); |
| 1264 } | 1264 } |
| 1265 } | 1265 } |
| 1266 | 1266 |
| 1267 if (timeout > 0) | 1267 if (timeout > 0) |
| 1268 gaim_im_start_typing_timeout(im, timeout); | 1268 gaim_conv_im_start_typing_timeout(im, timeout); |
| 1269 } | 1269 } |
| 1270 | 1270 |
| 1271 void serv_got_typing_stopped(GaimConnection *gc, const char *name) { | 1271 void serv_got_typing_stopped(GaimConnection *gc, const char *name) { |
| 1272 | 1272 |
| 1273 GaimConversation *c = gaim_find_conversation_with_account(name, gc->account); | 1273 GaimConversation *c = gaim_find_conversation_with_account(name, gc->account); |
| 1274 GaimIm *im; | 1274 GaimConvIm *im; |
| 1275 GaimBuddy *b; | 1275 GaimBuddy *b; |
| 1276 | 1276 |
| 1277 if (!c) | 1277 if (!c) |
| 1278 return; | 1278 return; |
| 1279 | 1279 |
| 1280 im = GAIM_IM(c); | 1280 im = GAIM_CONV_IM(c); |
| 1281 | 1281 |
| 1282 if (im->typing_state == GAIM_NOT_TYPING) | 1282 if (im->typing_state == GAIM_NOT_TYPING) |
| 1283 return; | 1283 return; |
| 1284 | 1284 |
| 1285 gaim_im_stop_typing_timeout(im); | 1285 gaim_conv_im_stop_typing_timeout(im); |
| 1286 gaim_im_set_typing_state(im, GAIM_NOT_TYPING); | 1286 gaim_conv_im_set_typing_state(im, GAIM_NOT_TYPING); |
| 1287 gaim_im_update_typing(im); | 1287 gaim_conv_im_update_typing(im); |
| 1288 | 1288 |
| 1289 b = gaim_find_buddy(gc->account, name); | 1289 b = gaim_find_buddy(gc->account, name); |
| 1290 | 1290 |
| 1291 if (b != NULL) | 1291 if (b != NULL) |
| 1292 { | 1292 { |
| 1348 | 1348 |
| 1349 GaimConversation *serv_got_joined_chat(GaimConnection *gc, | 1349 GaimConversation *serv_got_joined_chat(GaimConnection *gc, |
| 1350 int id, const char *name) | 1350 int id, const char *name) |
| 1351 { | 1351 { |
| 1352 GaimConversation *conv; | 1352 GaimConversation *conv; |
| 1353 GaimChat *chat; | 1353 GaimConvChat *chat; |
| 1354 GaimAccount *account; | 1354 GaimAccount *account; |
| 1355 | 1355 |
| 1356 account = gaim_connection_get_account(gc); | 1356 account = gaim_connection_get_account(gc); |
| 1357 | 1357 |
| 1358 conv = gaim_conversation_new(GAIM_CONV_CHAT, account, name); | 1358 conv = gaim_conversation_new(GAIM_CONV_CHAT, account, name); |
| 1359 chat = GAIM_CHAT(conv); | 1359 chat = GAIM_CONV_CHAT(conv); |
| 1360 | 1360 |
| 1361 gc->buddy_chats = g_slist_append(gc->buddy_chats, conv); | 1361 gc->buddy_chats = g_slist_append(gc->buddy_chats, conv); |
| 1362 | 1362 |
| 1363 gaim_chat_set_id(chat, id); | 1363 gaim_conv_chat_set_id(chat, id); |
| 1364 | 1364 |
| 1365 /* TODO Move this to UI logging code! */ | 1365 /* TODO Move this to UI logging code! */ |
| 1366 if (gaim_prefs_get_bool("/gaim/gtk/logging/log_chats") || | 1366 if (gaim_prefs_get_bool("/gaim/gtk/logging/log_chats") || |
| 1367 find_log_info(gaim_conversation_get_name(conv))) { | 1367 find_log_info(gaim_conversation_get_name(conv))) { |
| 1368 | 1368 |
| 1385 fclose(fd); | 1385 fclose(fd); |
| 1386 } | 1386 } |
| 1387 free(filename); | 1387 free(filename); |
| 1388 } | 1388 } |
| 1389 | 1389 |
| 1390 gaim_window_show(gaim_conversation_get_window(conv)); | 1390 gaim_conv_window_show(gaim_conversation_get_window(conv)); |
| 1391 gaim_window_switch_conversation(gaim_conversation_get_window(conv), | 1391 gaim_conv_window_switch_conversation(gaim_conversation_get_window(conv), |
| 1392 gaim_conversation_get_index(conv)); | 1392 gaim_conversation_get_index(conv)); |
| 1393 | 1393 |
| 1394 gaim_signal_emit(gaim_conversations_get_handle(), "chat-joined", conv); | 1394 gaim_signal_emit(gaim_conversations_get_handle(), "chat-joined", conv); |
| 1395 | 1395 |
| 1396 return conv; | 1396 return conv; |
| 1398 | 1398 |
| 1399 void serv_got_chat_left(GaimConnection *g, int id) | 1399 void serv_got_chat_left(GaimConnection *g, int id) |
| 1400 { | 1400 { |
| 1401 GSList *bcs; | 1401 GSList *bcs; |
| 1402 GaimConversation *conv = NULL; | 1402 GaimConversation *conv = NULL; |
| 1403 GaimChat *chat = NULL; | 1403 GaimConvChat *chat = NULL; |
| 1404 GaimAccount *account; | 1404 GaimAccount *account; |
| 1405 | 1405 |
| 1406 account = gaim_connection_get_account(g); | 1406 account = gaim_connection_get_account(g); |
| 1407 | 1407 |
| 1408 for (bcs = g->buddy_chats; bcs != NULL; bcs = bcs->next) { | 1408 for (bcs = g->buddy_chats; bcs != NULL; bcs = bcs->next) { |
| 1409 conv = (GaimConversation *)bcs->data; | 1409 conv = (GaimConversation *)bcs->data; |
| 1410 | 1410 |
| 1411 chat = GAIM_CHAT(conv); | 1411 chat = GAIM_CONV_CHAT(conv); |
| 1412 | 1412 |
| 1413 if (gaim_chat_get_id(chat) == id) | 1413 if (gaim_conv_chat_get_id(chat) == id) |
| 1414 break; | 1414 break; |
| 1415 | 1415 |
| 1416 conv = NULL; | 1416 conv = NULL; |
| 1417 } | 1417 } |
| 1418 | 1418 |
| 1433 int whisper, const char *message, time_t mtime) | 1433 int whisper, const char *message, time_t mtime) |
| 1434 { | 1434 { |
| 1435 GaimMessageFlags w; | 1435 GaimMessageFlags w; |
| 1436 GSList *bcs; | 1436 GSList *bcs; |
| 1437 GaimConversation *conv = NULL; | 1437 GaimConversation *conv = NULL; |
| 1438 GaimChat *chat = NULL; | 1438 GaimConvChat *chat = NULL; |
| 1439 char *buf; | 1439 char *buf; |
| 1440 char *buffy, *angel; | 1440 char *buffy, *angel; |
| 1441 int plugin_return; | 1441 int plugin_return; |
| 1442 | 1442 |
| 1443 for (bcs = g->buddy_chats; bcs != NULL; bcs = bcs->next) { | 1443 for (bcs = g->buddy_chats; bcs != NULL; bcs = bcs->next) { |
| 1444 conv = (GaimConversation *)bcs->data; | 1444 conv = (GaimConversation *)bcs->data; |
| 1445 | 1445 |
| 1446 chat = GAIM_CHAT(conv); | 1446 chat = GAIM_CONV_CHAT(conv); |
| 1447 | 1447 |
| 1448 if (gaim_chat_get_id(chat) == id) | 1448 if (gaim_conv_chat_get_id(chat) == id) |
| 1449 break; | 1449 break; |
| 1450 | 1450 |
| 1451 conv = NULL; | 1451 conv = NULL; |
| 1452 } | 1452 } |
| 1453 | 1453 |
| 1468 | 1468 |
| 1469 plugin_return = GPOINTER_TO_INT( | 1469 plugin_return = GPOINTER_TO_INT( |
| 1470 gaim_signal_emit_return_1(gaim_conversations_get_handle(), | 1470 gaim_signal_emit_return_1(gaim_conversations_get_handle(), |
| 1471 "received-chat-msg", g->account, | 1471 "received-chat-msg", g->account, |
| 1472 &angel, &buffy, | 1472 &angel, &buffy, |
| 1473 gaim_chat_get_id(GAIM_CHAT(conv)))); | 1473 gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv)))); |
| 1474 | 1474 |
| 1475 if (!buffy || !angel || plugin_return) { | 1475 if (!buffy || !angel || plugin_return) { |
| 1476 if (buffy) | 1476 if (buffy) |
| 1477 g_free(buffy); | 1477 g_free(buffy); |
| 1478 if (angel) | 1478 if (angel) |
| 1492 if (whisper) | 1492 if (whisper) |
| 1493 w = GAIM_MESSAGE_WHISPER; | 1493 w = GAIM_MESSAGE_WHISPER; |
| 1494 else | 1494 else |
| 1495 w = 0; | 1495 w = 0; |
| 1496 | 1496 |
| 1497 gaim_chat_write(chat, who, buf, w, mtime); | 1497 gaim_conv_chat_write(chat, who, buf, w, mtime); |
| 1498 | 1498 |
| 1499 g_free(angel); | 1499 g_free(angel); |
| 1500 g_free(buf); | 1500 g_free(buf); |
| 1501 g_free(buffy); | 1501 g_free(buffy); |
| 1502 } | 1502 } |
