libpurple/protocols/silc/silc.c

branch
soc.2013.gobjectification.plugins
changeset 36593
8960ce807044
parent 36583
0582190c9382
parent 34897
a323e8b5a090
child 36595
d013a99e6d94
equal deleted inserted replaced
36592:431166bcb802 36593:8960ce807044
1360 void *context) 1360 void *context)
1361 { 1361 {
1362 PurpleConnection *gc = client->application; 1362 PurpleConnection *gc = client->application;
1363 SilcPurple sg = purple_connection_get_protocol_data(gc); 1363 SilcPurple sg = purple_connection_get_protocol_data(gc);
1364 SilcPurpleIM im = context; 1364 SilcPurpleIM im = context;
1365 PurpleConversation *convo; 1365 PurpleIMConversation *convo;
1366 char tmp[256]; 1366 char tmp[256];
1367 SilcClientEntry client_entry; 1367 SilcClientEntry client_entry;
1368 SilcDList list; 1368 SilcDList list;
1369 gboolean free_list = FALSE; 1369 gboolean free_list = FALSE;
1370 1370
1403 silc_client_send_private_message(client, conn, 1403 silc_client_send_private_message(client, conn,
1404 client_entry, im->flags, sg->sha1hash, 1404 client_entry, im->flags, sg->sha1hash,
1405 buf->data, 1405 buf->data,
1406 silc_buffer_len(buf)); 1406 silc_buffer_len(buf));
1407 silc_mime_partial_free(list); 1407 silc_mime_partial_free(list);
1408 purple_im_conversation_write_message(PURPLE_CONV_IM(convo), conn->local_entry->nickname, 1408 purple_conversation_write_message(PURPLE_CONVERSATION(convo), conn->local_entry->nickname,
1409 im->message, 0, time(NULL)); 1409 im->message, 0, time(NULL));
1410 goto out; 1410 goto out;
1411 } 1411 }
1412 } 1412 }
1413 1413
1414 /* Send the message */ 1414 /* Send the message */
1415 silc_client_send_private_message(client, conn, client_entry, im->flags, 1415 silc_client_send_private_message(client, conn, client_entry, im->flags,
1416 sg->sha1hash, (unsigned char *)im->message, im->message_len); 1416 sg->sha1hash, (unsigned char *)im->message, im->message_len);
1417 purple_im_conversation_write_message(PURPLE_CONV_IM(convo), conn->local_entry->nickname, 1417 purple_conversation_write_message(PURPLE_CONVERSATION(convo), conn->local_entry->nickname,
1418 im->message, 0, time(NULL)); 1418 im->message, 0, time(NULL));
1419 goto out; 1419 goto out;
1420 1420
1421 err: 1421 err:
1422 g_snprintf(tmp, sizeof(tmp), 1422 g_snprintf(tmp, sizeof(tmp),
1423 _("User <I>%s</I> is not present in the network"), im->nick); 1423 _("User <I>%s</I> is not present in the network"), im->nick);
1424 purple_conversation_write(convo, NULL, tmp, PURPLE_MESSAGE_SYSTEM, time(NULL)); 1424 purple_conversation_write(PURPLE_CONVERSATION(convo), NULL, tmp, PURPLE_MESSAGE_SYSTEM, time(NULL));
1425 1425
1426 out: 1426 out:
1427 if (free_list) { 1427 if (free_list) {
1428 silc_client_list_free(client, conn, clients); 1428 silc_client_list_free(client, conn, clients);
1429 } 1429 }
1546 1546
1547 static PurpleCmdRet silcpurple_cmd_chat_part(PurpleConversation *conv, 1547 static PurpleCmdRet silcpurple_cmd_chat_part(PurpleConversation *conv,
1548 const char *cmd, char **args, char **error, void *data) 1548 const char *cmd, char **args, char **error, void *data)
1549 { 1549 {
1550 PurpleConnection *gc; 1550 PurpleConnection *gc;
1551 PurpleConversation *convo = conv; 1551 PurpleChatConversation *chat = PURPLE_CHAT_CONVERSATION(conv);
1552 int id = 0; 1552 int id = 0;
1553 1553
1554 gc = purple_conversation_get_connection(conv); 1554 gc = purple_conversation_get_connection(conv);
1555 1555
1556 if (gc == NULL) 1556 if (gc == NULL)
1557 return PURPLE_CMD_RET_FAILED; 1557 return PURPLE_CMD_RET_FAILED;
1558 1558
1559 if(args && args[0]) 1559 if(args && args[0])
1560 convo = purple_conversations_find_chat_with_account(args[0], 1560 chat = purple_conversations_find_chat_with_account(args[0],
1561 purple_connection_get_account(gc)); 1561 purple_connection_get_account(gc));
1562 1562
1563 if (convo != NULL) 1563 if (chat != NULL)
1564 id = purple_chat_conversation_get_id(PURPLE_CONV_CHAT(convo)); 1564 id = purple_chat_conversation_get_id(chat);
1565 1565
1566 if (id == 0) 1566 if (id == 0)
1567 return PURPLE_CMD_RET_FAILED; 1567 return PURPLE_CMD_RET_FAILED;
1568 1568
1569 silcpurple_chat_leave(gc, id); 1569 silcpurple_chat_leave(gc, id);
1579 int id = 0; 1579 int id = 0;
1580 char *buf, *tmp, *tmp2; 1580 char *buf, *tmp, *tmp2;
1581 const char *topic; 1581 const char *topic;
1582 1582
1583 gc = purple_conversation_get_connection(conv); 1583 gc = purple_conversation_get_connection(conv);
1584 id = purple_chat_conversation_get_id(PURPLE_CONV_CHAT(conv)); 1584 id = purple_chat_conversation_get_id(PURPLE_CHAT_CONVERSATION(conv));
1585 1585
1586 if (gc == NULL || id == 0) 1586 if (gc == NULL || id == 0)
1587 return PURPLE_CMD_RET_FAILED; 1587 return PURPLE_CMD_RET_FAILED;
1588 1588
1589 if (!args || !args[0]) { 1589 if (!args || !args[0]) {
1590 topic = purple_chat_conversation_get_topic (PURPLE_CONV_CHAT(conv)); 1590 topic = purple_chat_conversation_get_topic(PURPLE_CHAT_CONVERSATION(conv));
1591 if (topic) { 1591 if (topic) {
1592 tmp = g_markup_escape_text(topic, -1); 1592 tmp = g_markup_escape_text(topic, -1);
1593 tmp2 = purple_markup_linkify(tmp); 1593 tmp2 = purple_markup_linkify(tmp);
1594 buf = g_strdup_printf(_("current topic is: %s"), tmp2); 1594 buf = g_strdup_printf(_("current topic is: %s"), tmp2);
1595 g_free(tmp); 1595 g_free(tmp);
1596 g_free(tmp2); 1596 g_free(tmp2);
1597 } else 1597 } else
1598 buf = g_strdup(_("No topic is set")); 1598 buf = g_strdup(_("No topic is set"));
1599 purple_chat_conversation_write_message(PURPLE_CONV_CHAT(conv), purple_account_get_username(purple_connection_get_account(gc)), buf, 1599 purple_conversation_write_message(conv, purple_account_get_username(purple_connection_get_account(gc)), buf,
1600 PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NO_LOG, time(NULL)); 1600 PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NO_LOG, time(NULL));
1601 g_free(buf); 1601 g_free(buf);
1602 1602
1603 } 1603 }
1604 1604
1677 1677
1678 static PurpleCmdRet silcpurple_cmd_query(PurpleConversation *conv, 1678 static PurpleCmdRet silcpurple_cmd_query(PurpleConversation *conv,
1679 const char *cmd, char **args, char **error, void *data) 1679 const char *cmd, char **args, char **error, void *data)
1680 { 1680 {
1681 int ret = 1; 1681 int ret = 1;
1682 PurpleConversation *convo; 1682 PurpleIMConversation *im;
1683 PurpleConnection *gc; 1683 PurpleConnection *gc;
1684 PurpleAccount *account; 1684 PurpleAccount *account;
1685 1685
1686 if (!args || !args[0]) { 1686 if (!args || !args[0]) {
1687 *error = g_strdup(_("You must specify a nick")); 1687 *error = g_strdup(_("You must specify a nick"));
1693 if (gc == NULL) 1693 if (gc == NULL)
1694 return PURPLE_CMD_RET_FAILED; 1694 return PURPLE_CMD_RET_FAILED;
1695 1695
1696 account = purple_connection_get_account(gc); 1696 account = purple_connection_get_account(gc);
1697 1697
1698 convo = purple_im_conversation_new(account, args[0]); 1698 im = purple_im_conversation_new(account, args[0]);
1699 1699
1700 if (args[1]) { 1700 if (args[1]) {
1701 ret = silcpurple_send_im(gc, args[0], args[1], PURPLE_MESSAGE_SEND); 1701 ret = silcpurple_send_im(gc, args[0], args[1], PURPLE_MESSAGE_SEND);
1702 purple_im_conversation_write_message(PURPLE_CONV_IM(convo), purple_connection_get_display_name(gc), 1702 purple_conversation_write_message(PURPLE_CONVERSATION(im), purple_connection_get_display_name(gc),
1703 args[1], PURPLE_MESSAGE_SEND, time(NULL)); 1703 args[1], PURPLE_MESSAGE_SEND, time(NULL));
1704 } 1704 }
1705 1705
1706 if (ret) 1706 if (ret)
1707 return PURPLE_CMD_RET_OK; 1707 return PURPLE_CMD_RET_OK;
1793 silcpurple_get_chmode_string(channel->mode, tmp, sizeof(tmp)); 1793 silcpurple_get_chmode_string(channel->mode, tmp, sizeof(tmp));
1794 msg = g_strdup_printf(_("channel modes for %s: %s"), chname, tmp); 1794 msg = g_strdup_printf(_("channel modes for %s: %s"), chname, tmp);
1795 } else { 1795 } else {
1796 msg = g_strdup_printf(_("no channel modes are set on %s"), chname); 1796 msg = g_strdup_printf(_("no channel modes are set on %s"), chname);
1797 } 1797 }
1798 purple_chat_conversation_write_message(PURPLE_CONV_CHAT(conv), "", 1798 purple_conversation_write_message(conv, "",
1799 msg, PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NO_LOG, time(NULL)); 1799 msg, PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NO_LOG, time(NULL));
1800 g_free(msg); 1800 g_free(msg);
1801 return PURPLE_CMD_RET_OK; 1801 return PURPLE_CMD_RET_OK;
1802 } 1802 }
1803 1803

mercurial