From 4a8d6c2153a9ca4a3fb6f0ddc20e1d6c6e2107e6 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 5 Jan 2014 20:33:48 +0000 Subject: Renamed roster_add_new -> roster_send_add_new --- src/command/commands.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/command/commands.c') diff --git a/src/command/commands.c b/src/command/commands.c index f09bf0e4..4da29932 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -1066,7 +1066,7 @@ cmd_roster(gchar **args, struct cmd_help_t help) char *jid = args[1]; char *name = args[2]; - roster_add_new(jid, name); + roster_send_add_new(jid, name); return TRUE; } -- cgit 1.4.1-2-gfad0 From 468e80fe308c0f7b6dd80d388d8338977e6679e2 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 5 Jan 2014 22:00:15 +0000 Subject: Removed prof_handle_disconnect --- src/command/commands.c | 8 +++++++- src/profanity.c | 12 ------------ src/profanity.h | 1 - 3 files changed, 7 insertions(+), 14 deletions(-) (limited to 'src/command/commands.c') diff --git a/src/command/commands.c b/src/command/commands.c index 4da29932..1bc53ed6 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -401,7 +401,13 @@ cmd_disconnect(gchar **args, struct cmd_help_t help) { if (jabber_get_connection_status() == JABBER_CONNECTED) { char *jid = strdup(jabber_get_fulljid()); - prof_handle_disconnect(jid); + cons_show("%s logged out successfully.", jid); + jabber_disconnect(); + roster_clear(); + muc_clear_invites(); + chat_sessions_clear(); + ui_disconnected(); + ui_current_page_off(); free(jid); } else { cons_show("You are not currently connected."); diff --git a/src/profanity.c b/src/profanity.c index d74c518c..3ee032fd 100644 --- a/src/profanity.c +++ b/src/profanity.c @@ -140,18 +140,6 @@ prof_handle_roster_add(const char * const barejid, const char * const name) ui_current_page_off(); } -void -prof_handle_disconnect(const char * const jid) -{ - cons_show("%s logged out successfully.", jid); - jabber_disconnect(); - roster_clear(); - muc_clear_invites(); - chat_sessions_clear(); - ui_disconnected(); - ui_current_page_off(); -} - void prof_handle_idle(void) { diff --git a/src/profanity.h b/src/profanity.h index 99de6859..bbffd236 100644 --- a/src/profanity.h +++ b/src/profanity.h @@ -28,7 +28,6 @@ void prof_run(const int disable_tls, char *log_level, char *account_name); -void prof_handle_disconnect(const char * const jid); void prof_handle_roster(GSList *roster); void prof_handle_idle(void); void prof_handle_activity(void); -- cgit 1.4.1-2-gfad0 From 06ce95f68afe7b4454e50eb23e9891d6e5f30742 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 5 Jan 2014 22:55:04 +0000 Subject: Refactored roster_change_name --- src/command/commands.c | 5 ++++- src/roster_list.c | 20 +++++++++----------- src/roster_list.h | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) (limited to 'src/command/commands.c') diff --git a/src/command/commands.c b/src/command/commands.c index 1bc53ed6..a301efd4 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -1110,7 +1110,10 @@ cmd_roster(gchar **args, struct cmd_help_t help) return TRUE; } - roster_change_name(jid, name); + const char *barejid = p_contact_barejid(contact); + roster_change_name(contact, name); + GSList *groups = p_contact_groups(contact); + roster_send_name_change(barejid, name, groups); if (name == NULL) { cons_show("Nickname for %s removed.", jid); diff --git a/src/roster_list.c b/src/roster_list.c index fa00437b..c4329a3b 100644 --- a/src/roster_list.c +++ b/src/roster_list.c @@ -30,8 +30,8 @@ #include "contact.h" #include "jid.h" #include "tools/autocomplete.h" -#include "xmpp/xmpp.h" #include "profanity.h" +#include "xmpp/xmpp.h" // nicknames static Autocomplete name_ac; @@ -157,21 +157,19 @@ roster_free(void) } void -roster_change_name(const char * const barejid, const char * const new_name) +roster_change_name(PContact contact, const char * const new_name) { - PContact contact = g_hash_table_lookup(contacts, barejid); - const char * current_name = NULL; + assert(contact != NULL); + + const char *current_name = NULL; + const char *barejid = p_contact_barejid(contact); + if (p_contact_name(contact) != NULL) { current_name = strdup(p_contact_name(contact)); } - if (contact != NULL) { - p_contact_set_name(contact, new_name); - _replace_name(current_name, new_name, barejid); - - GSList *groups = p_contact_groups(contact); - roster_send_name_change(barejid, new_name, groups); - } + p_contact_set_name(contact, new_name); + _replace_name(current_name, new_name, barejid); } void diff --git a/src/roster_list.h b/src/roster_list.h index 9382081b..85a4cffc 100644 --- a/src/roster_list.h +++ b/src/roster_list.h @@ -37,7 +37,7 @@ gboolean roster_contact_offline(const char * const barejid, void roster_reset_search_attempts(void); void roster_init(void); void roster_free(void); -void roster_change_name(const char * const barejid, const char * const new_name); +void roster_change_name(PContact contact, const char * const new_name); void roster_remove(const char * const name, const char * const barejid); void roster_update(const char * const barejid, const char * const name, GSList *groups, const char * const subscription, gboolean pending_out); -- cgit 1.4.1-2-gfad0 From 1d716e48adf7dc6a2639131450c1ca74d48ea105 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 5 Jan 2014 23:08:11 +0000 Subject: Removed roster_list dependency on xmpp module --- src/command/commands.c | 6 ++++-- src/roster_list.c | 42 ++++++++++++++++-------------------------- src/roster_list.h | 4 ++-- 3 files changed, 22 insertions(+), 30 deletions(-) (limited to 'src/command/commands.c') diff --git a/src/command/commands.c b/src/command/commands.c index a301efd4..57a6b151 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -1009,7 +1009,8 @@ cmd_group(gchar **args, struct cmd_help_t help) return TRUE; } - roster_add_to_group(group, barejid); + roster_add_to_group(group, pcontact); + roster_send_add_to_group(group, pcontact); return TRUE; } @@ -1035,7 +1036,8 @@ cmd_group(gchar **args, struct cmd_help_t help) return TRUE; } - roster_remove_from_group(group, barejid); + roster_remove_from_group(group, pcontact); + roster_send_remove_from_group(group, pcontact); return TRUE; } diff --git a/src/roster_list.c b/src/roster_list.c index c4329a3b..62d99323 100644 --- a/src/roster_list.c +++ b/src/roster_list.c @@ -31,7 +31,6 @@ #include "jid.h" #include "tools/autocomplete.h" #include "profanity.h" -#include "xmpp/xmpp.h" // nicknames static Autocomplete name_ac; @@ -336,41 +335,32 @@ roster_get_group(const char * const group) } void -roster_add_to_group(const char * const group, const char * const barejid) +roster_add_to_group(const char * const group, PContact contact) { - PContact contact = g_hash_table_lookup(contacts, barejid); + assert(contact != NULL); - if (contact != NULL) { - if (p_contact_in_group(contact, group)) { - if (p_contact_name(contact) != NULL) { - prof_handle_already_in_group(p_contact_name(contact), group); - } else { - prof_handle_already_in_group(p_contact_barejid(contact), group); - } - return; + if (p_contact_in_group(contact, group)) { + if (p_contact_name(contact) != NULL) { + prof_handle_already_in_group(p_contact_name(contact), group); + } else { + prof_handle_already_in_group(p_contact_barejid(contact), group); } - - roster_send_add_to_group(group, contact); - + return; } } void -roster_remove_from_group(const char * const group, const char * const barejid) +roster_remove_from_group(const char * const group, PContact contact) { - PContact contact = g_hash_table_lookup(contacts, barejid); + assert(contact != NULL); - if (contact != NULL) { - if (!p_contact_in_group(contact, group)) { - if (p_contact_name(contact) != NULL) { - prof_handle_not_in_group(p_contact_name(contact), group); - } else { - prof_handle_not_in_group(p_contact_barejid(contact), group); - } - return; + if (!p_contact_in_group(contact, group)) { + if (p_contact_name(contact) != NULL) { + prof_handle_not_in_group(p_contact_name(contact), group); + } else { + prof_handle_not_in_group(p_contact_barejid(contact), group); } - - roster_send_remove_from_group(group, contact); + return; } } diff --git a/src/roster_list.h b/src/roster_list.h index 85a4cffc..8fe2b5bd 100644 --- a/src/roster_list.h +++ b/src/roster_list.h @@ -50,8 +50,8 @@ char * roster_find_contact(char *search_str); char * roster_find_resource(char *search_str); GSList * roster_get_group(const char * const group); GSList * roster_get_groups(void); -void roster_add_to_group(const char * const group, const char * const barejid); -void roster_remove_from_group(const char * const group, const char * const barejid); +void roster_add_to_group(const char * const group, PContact contact); +void roster_remove_from_group(const char * const group, PContact contact); char * roster_find_group(char *search_str); char * roster_find_jid(char *search_str); -- cgit 1.4.1-2-gfad0 From 76484665fd0df4e559f7a6732819130dc98b68a7 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 5 Jan 2014 23:24:48 +0000 Subject: Removed prof_handle group functions --- src/command/commands.c | 18 ++++++++++++++---- src/profanity.c | 16 ---------------- src/profanity.h | 2 -- src/roster_list.c | 30 ------------------------------ src/roster_list.h | 2 -- 5 files changed, 14 insertions(+), 54 deletions(-) (limited to 'src/command/commands.c') diff --git a/src/command/commands.c b/src/command/commands.c index 57a6b151..e6588c11 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -1009,8 +1009,13 @@ cmd_group(gchar **args, struct cmd_help_t help) return TRUE; } - roster_add_to_group(group, pcontact); - roster_send_add_to_group(group, pcontact); + if (p_contact_in_group(pcontact, group)) { + const char *display_name = p_contact_name_or_jid(pcontact); + ui_contact_already_in_group(display_name, group); + ui_current_page_off(); + } else { + roster_send_add_to_group(group, pcontact); + } return TRUE; } @@ -1036,8 +1041,13 @@ cmd_group(gchar **args, struct cmd_help_t help) return TRUE; } - roster_remove_from_group(group, pcontact); - roster_send_remove_from_group(group, pcontact); + if (!p_contact_in_group(pcontact, group)) { + const char *display_name = p_contact_name_or_jid(pcontact); + ui_contact_not_in_group(display_name, group); + ui_current_page_off(); + } else { + roster_send_remove_from_group(group, pcontact); + } return TRUE; } diff --git a/src/profanity.c b/src/profanity.c index 3ee032fd..9178d056 100644 --- a/src/profanity.c +++ b/src/profanity.c @@ -117,22 +117,6 @@ prof_run(const int disable_tls, char *log_level, char *account_name) g_timer_destroy(timer); } -void -prof_handle_already_in_group(const char * const contact, - const char * const group) -{ - ui_contact_already_in_group(contact, group); - ui_current_page_off(); -} - -void -prof_handle_not_in_group(const char * const contact, - const char * const group) -{ - ui_contact_not_in_group(contact, group); - ui_current_page_off(); -} - void prof_handle_roster_add(const char * const barejid, const char * const name) { diff --git a/src/profanity.h b/src/profanity.h index a448c436..5e826fc4 100644 --- a/src/profanity.h +++ b/src/profanity.h @@ -31,7 +31,5 @@ void prof_run(const int disable_tls, char *log_level, char *account_name); void prof_handle_idle(void); void prof_handle_activity(void); void prof_handle_roster_add(const char * const barejid, const char * const name); -void prof_handle_already_in_group(const char * const contact, const char * const group); -void prof_handle_not_in_group(const char * const contact, const char * const group); #endif diff --git a/src/roster_list.c b/src/roster_list.c index 62d99323..7945101a 100644 --- a/src/roster_list.c +++ b/src/roster_list.c @@ -334,36 +334,6 @@ roster_get_group(const char * const group) return result; } -void -roster_add_to_group(const char * const group, PContact contact) -{ - assert(contact != NULL); - - if (p_contact_in_group(contact, group)) { - if (p_contact_name(contact) != NULL) { - prof_handle_already_in_group(p_contact_name(contact), group); - } else { - prof_handle_already_in_group(p_contact_barejid(contact), group); - } - return; - } -} - -void -roster_remove_from_group(const char * const group, PContact contact) -{ - assert(contact != NULL); - - if (!p_contact_in_group(contact, group)) { - if (p_contact_name(contact) != NULL) { - prof_handle_not_in_group(p_contact_name(contact), group); - } else { - prof_handle_not_in_group(p_contact_barejid(contact), group); - } - return; - } -} - GSList * roster_get_groups(void) { diff --git a/src/roster_list.h b/src/roster_list.h index 8fe2b5bd..a7198e5c 100644 --- a/src/roster_list.h +++ b/src/roster_list.h @@ -50,8 +50,6 @@ char * roster_find_contact(char *search_str); char * roster_find_resource(char *search_str); GSList * roster_get_group(const char * const group); GSList * roster_get_groups(void); -void roster_add_to_group(const char * const group, PContact contact); -void roster_remove_from_group(const char * const group, PContact contact); char * roster_find_group(char *search_str); char * roster_find_jid(char *search_str); -- cgit 1.4.1-2-gfad0