libpurple/protocols/jabber/jabber.c

changeset 29721
fe9238a801b0
parent 29400
8d8ad40c9c7d
parent 29701
6c95c4bd2241
child 29749
a2ea4aa93b31
child 30764
813ff2eb4f42
equal deleted inserted replaced
29419:627f6d928553 29721:fe9238a801b0
2879 static PurpleCmdRet jabber_cmd_buzz(PurpleConversation *conv, 2879 static PurpleCmdRet jabber_cmd_buzz(PurpleConversation *conv,
2880 const char *cmd, char **args, char **error, void *data) 2880 const char *cmd, char **args, char **error, void *data)
2881 { 2881 {
2882 JabberStream *js = conv->account->gc->proto_data; 2882 JabberStream *js = conv->account->gc->proto_data;
2883 const gchar *who; 2883 const gchar *who;
2884 gchar *description;
2885 PurpleBuddy *buddy;
2886 const char *alias;
2887 PurpleAttentionType *attn =
2888 purple_get_attention_type_from_code(conv->account, 0);
2884 2889
2885 if (!args || !args[0]) { 2890 if (!args || !args[0]) {
2886 /* use the buddy from conversation, if it's a one-to-one conversation */ 2891 /* use the buddy from conversation, if it's a one-to-one conversation */
2887 if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) { 2892 if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) {
2888 who = purple_conversation_get_name(conv); 2893 who = purple_conversation_get_name(conv);
2891 } 2896 }
2892 } else { 2897 } else {
2893 who = args[0]; 2898 who = args[0];
2894 } 2899 }
2895 2900
2896 if (_jabber_send_buzz(js, who, error)) { 2901 buddy = purple_find_buddy(conv->account, who);
2897 const gchar *alias; 2902 if (buddy != NULL)
2898 gchar *str; 2903 alias = purple_buddy_get_contact_alias(buddy);
2899 PurpleBuddy *buddy = 2904 else
2900 purple_find_buddy(purple_connection_get_account(conv->account->gc), 2905 alias = who;
2901 who); 2906
2902 2907 description =
2903 if (buddy != NULL) 2908 g_strdup_printf(purple_attention_type_get_outgoing_desc(attn), alias);
2904 alias = purple_buddy_get_contact_alias(buddy); 2909 purple_conversation_write(conv, NULL, description,
2905 else 2910 PURPLE_MESSAGE_NOTIFY | PURPLE_MESSAGE_SYSTEM, time(NULL));
2906 alias = who; 2911 g_free(description);
2907 2912 return _jabber_send_buzz(js, who, error) ? PURPLE_CMD_RET_OK : PURPLE_CMD_RET_FAILED;
2908 str = g_strdup_printf(_("Buzzing %s..."), alias);
2909 purple_conversation_write(conv, NULL, str,
2910 PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NOTIFY, time(NULL));
2911 g_free(str);
2912
2913 return PURPLE_CMD_RET_OK;
2914 } else {
2915 return PURPLE_CMD_RET_FAILED;
2916 }
2917 } 2913 }
2918 2914
2919 GList *jabber_attention_types(PurpleAccount *account) 2915 GList *jabber_attention_types(PurpleAccount *account)
2920 { 2916 {
2921 static GList *types = NULL; 2917 static GList *types = NULL;
3518 jabber_add_feature(JINGLE_APP_RTP, 0); 3514 jabber_add_feature(JINGLE_APP_RTP, 0);
3519 jabber_add_feature(JINGLE_APP_RTP_SUPPORT_AUDIO, jabber_audio_enabled); 3515 jabber_add_feature(JINGLE_APP_RTP_SUPPORT_AUDIO, jabber_audio_enabled);
3520 jabber_add_feature(JINGLE_APP_RTP_SUPPORT_VIDEO, jabber_video_enabled); 3516 jabber_add_feature(JINGLE_APP_RTP_SUPPORT_VIDEO, jabber_video_enabled);
3521 jabber_add_feature(JINGLE_TRANSPORT_RAWUDP, 0); 3517 jabber_add_feature(JINGLE_TRANSPORT_RAWUDP, 0);
3522 jabber_add_feature(JINGLE_TRANSPORT_ICEUDP, 0); 3518 jabber_add_feature(JINGLE_TRANSPORT_ICEUDP, 0);
3519
3520 g_signal_connect(G_OBJECT(purple_media_manager_get()), "ui-caps-changed",
3521 G_CALLBACK(jabber_caps_broadcast_change), NULL);
3523 #endif 3522 #endif
3524 3523
3525 jabber_auth_init(); 3524 jabber_auth_init();
3526 3525
3527 /* IPC functions */ 3526 /* IPC functions */

mercurial