| 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 */ |