about summary refs log tree commit diff stats
path: root/src/event
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-04-28 23:57:28 +0100
committerJames Booth <boothj5@gmail.com>2015-04-28 23:57:28 +0100
commit5d827cafec736050f101a407aa281ddc2bb2c60d (patch)
tree12834644d17aebb7342d377a0eb7e0d8b5bbc2e6 /src/event
parent43189b1ab428444ba5a0bca088cd7b55293b9540 (diff)
parentd3698e6bee7985cd1707ec7b50fe61a5bf0c2829 (diff)
downloadprofani-tty-5d827cafec736050f101a407aa281ddc2bb2c60d.tar.gz
Merge branch 'master' into pgp
Conflicts:
	src/xmpp/message.c
Diffstat (limited to 'src/event')
-rw-r--r--src/event/client_events.c23
-rw-r--r--src/event/client_events.h13
-rw-r--r--src/event/server_events.c130
-rw-r--r--src/event/server_events.h130
-rw-r--r--src/event/ui_events.c48
-rw-r--r--src/event/ui_events.h41
6 files changed, 229 insertions, 156 deletions
diff --git a/src/event/client_events.c b/src/event/client_events.c
index 2aa66d08..70de5f6c 100644
--- a/src/event/client_events.c
+++ b/src/event/client_events.c
@@ -43,14 +43,14 @@
 #endif
 
 jabber_conn_status_t
-client_connect_jid(const char * const jid, const char * const passwd, const char * const altdomain, const int port)
+cl_ev_connect_jid(const char * const jid, const char * const passwd, const char * const altdomain, const int port)
 {
     cons_show("Connecting as %s", jid);
     return jabber_connect_with_details(jid, passwd, altdomain, port);
 }
 
 jabber_conn_status_t
-client_connect_account(ProfAccount *account)
+cl_ev_connect_account(ProfAccount *account)
 {
     char *jid = account_create_full_jid(account);
     cons_show("Connecting with account %s as %s", account->name, jid);
@@ -60,7 +60,7 @@ client_connect_account(ProfAccount *account)
 }
 
 void
-client_send_msg(const char * const barejid, const char * const msg)
+cl_ev_send_msg(const char * const barejid, const char * const msg)
 {
 #ifdef HAVE_LIBOTR
     otr_on_message_send(barejid, msg);
@@ -73,27 +73,14 @@ client_send_msg(const char * const barejid, const char * const msg)
 }
 
 void
-client_send_muc_msg(const char * const roomjid, const char * const msg)
+cl_ev_send_muc_msg(const char * const roomjid, const char * const msg)
 {
     message_send_groupchat(roomjid, msg);
 }
 
 void
-client_send_priv_msg(const char * const fulljid, const char * const msg)
+cl_ev_send_priv_msg(const char * const fulljid, const char * const msg)
 {
     message_send_private(fulljid, msg);
     ui_outgoing_private_msg(fulljid, msg);
-}
-
-void
-client_focus_win(ProfWin *win)
-{
-    ui_switch_win(win);
-}
-
-void
-client_new_chat_win(const char * const barejid)
-{
-    ProfWin *win = ui_new_chat_win(barejid);
-    ui_switch_win(win);
 }
\ No newline at end of file
diff --git a/src/event/client_events.h b/src/event/client_events.h
index efa535c9..fcf26523 100644
--- a/src/event/client_events.h
+++ b/src/event/client_events.h
@@ -35,14 +35,11 @@
 #ifndef CLIENT_EVENTS_H
 #define CLIENT_EVENTS_H
 
-jabber_conn_status_t client_connect_jid(const char * const jid, const char * const passwd, const char * const altdomain, const int port);
-jabber_conn_status_t client_connect_account(ProfAccount *account);
+jabber_conn_status_t cl_ev_connect_jid(const char * const jid, const char * const passwd, const char * const altdomain, const int port);
+jabber_conn_status_t cl_ev_connect_account(ProfAccount *account);
 
-void client_send_msg(const char * const barejid, const char * const msg);
-void client_send_muc_msg(const char * const roomjid, const char * const msg);
-void client_send_priv_msg(const char * const fulljid, const char * const msg);
-
-void client_focus_win(ProfWin *win);
-void client_new_chat_win(const char * const barejid);
+void cl_ev_send_msg(const char * const barejid, const char * const msg);
+void cl_ev_send_muc_msg(const char * const roomjid, const char * const msg);
+void cl_ev_send_priv_msg(const char * const fulljid, const char * const msg);
 
 #endif
\ No newline at end of file
diff --git a/src/event/server_events.c b/src/event/server_events.c
index 514835ba..56d5b11f 100644
--- a/src/event/server_events.c
+++ b/src/event/server_events.c
@@ -51,7 +51,7 @@
 #include "ui/ui.h"
 
 void
-srv_room_join_error(const char * const room, const char * const err)
+sv_ev_room_join_error(const char * const room, const char * const err)
 {
     if (muc_active(room)) {
         muc_leave(room);
@@ -61,7 +61,7 @@ srv_room_join_error(const char * const room, const char * const err)
 
 // handle presence stanza errors
 void
-srv_presence_error(const char *from, const char * const type,
+sv_ev_presence_error(const char *from, const char * const type,
     const char *err_msg)
 {
     // handle error from recipient
@@ -76,7 +76,7 @@ srv_presence_error(const char *from, const char * const type,
 
 // handle message stanza errors
 void
-srv_message_error(const char * const jid, const char * const type,
+sv_ev_message_error(const char * const jid, const char * const type,
     const char * const err_msg)
 {
     // handle errors from no recipient
@@ -96,7 +96,7 @@ srv_message_error(const char * const jid, const char * const type,
 }
 
 void
-srv_login_account_success(char *account_name)
+sv_ev_login_account_success(char *account_name)
 {
     ProfAccount *account = accounts_get_account(account_name);
 
@@ -123,7 +123,7 @@ srv_login_account_success(char *account_name)
 }
 
 void
-srv_roster_received(void)
+sv_ev_roster_received(void)
 {
     if (prefs_get_boolean(PREF_ROSTER)) {
         ui_show_roster();
@@ -131,7 +131,7 @@ srv_roster_received(void)
 }
 
 void
-srv_lost_connection(void)
+sv_ev_lost_connection(void)
 {
     cons_show_error("Lost connection.");
     roster_clear();
@@ -141,27 +141,27 @@ srv_lost_connection(void)
 }
 
 void
-srv_failed_login(void)
+sv_ev_failed_login(void)
 {
     cons_show_error("Login failed.");
     log_info("Login failed");
 }
 
 void
-srv_software_version_result(const char * const jid, const char * const  presence,
+sv_ev_software_version_result(const char * const jid, const char * const  presence,
     const char * const name, const char * const version, const char * const os)
 {
     cons_show_software_version(jid, presence, name, version, os);
 }
 
 void
-srv_disco_info(const char *from, GSList *identities, GSList *features)
+sv_ev_disco_info(const char *from, GSList *identities, GSList *features)
 {
     cons_show_disco_info(from, identities, features);
 }
 
 void
-srv_room_disco_info(const char * const room, GSList *identities, GSList *features, gboolean display)
+sv_ev_room_disco_info(const char * const room, GSList *identities, GSList *features, gboolean display)
 {
     muc_set_features(room, features);
     if (display) {
@@ -170,7 +170,7 @@ srv_room_disco_info(const char * const room, GSList *identities, GSList *feature
 }
 
 void
-srv_disco_info_error(const char * const from, const char * const error)
+sv_ev_disco_info_error(const char * const from, const char * const error)
 {
     if (from) {
         cons_show_error("Service discovery failed for %s: %s", from, error);
@@ -180,31 +180,31 @@ srv_disco_info_error(const char * const from, const char * const error)
 }
 
 void
-srv_enable_carbons_error(const char * const error)
+sv_ev_enable_carbons_error(const char * const error)
 {
     cons_show_error("Server error enabling message carbons: %s", error);
 }
 
 void
-srv_disable_carbons_error(const char * const error)
+sv_ev_disable_carbons_error(const char * const error)
 {
     cons_show_error("Server error disabling message carbons: %s", error);
 }
 
 void
-srv_room_info_error(const char * const room, const char * const error)
+sv_ev_room_info_error(const char * const room, const char * const error)
 {
     ui_handle_room_info_error(room, error);
 }
 
 void
-srv_room_list(GSList *rooms, const char *conference_node)
+sv_ev_room_list(GSList *rooms, const char *conference_node)
 {
     cons_show_room_list(rooms, conference_node);
 }
 
 void
-srv_room_affiliation_list_result_error(const char * const room, const char * const affiliation,
+sv_ev_room_affiliation_list_result_error(const char * const room, const char * const affiliation,
     const char * const error)
 {
     log_debug("Error retrieving %s list for room %s: %s", affiliation, room, error);
@@ -212,14 +212,14 @@ srv_room_affiliation_list_result_error(const char * const room, const char * con
 }
 
 void
-srv_room_affiliation_list(const char * const room, const char * const affiliation, GSList *jids)
+sv_ev_room_affiliation_list(const char * const room, const char * const affiliation, GSList *jids)
 {
     muc_jid_autocomplete_add_all(room, jids);
     ui_handle_room_affiliation_list(room, affiliation, jids);
 }
 
 void
-srv_room_role_set_error(const char * const room, const char * const nick, const char * const role,
+sv_ev_room_role_set_error(const char * const room, const char * const nick, const char * const role,
     const char * const error)
 {
     log_debug("Error setting role %s list for room %s, user %s: %s", role, room, nick, error);
@@ -227,20 +227,20 @@ srv_room_role_set_error(const char * const room, const char * const nick, const
 }
 
 void
-srv_room_role_list_result_error(const char * const room, const char * const role, const char * const error)
+sv_ev_room_role_list_result_error(const char * const room, const char * const role, const char * const error)
 {
     log_debug("Error retrieving %s list for room %s: %s", role, room, error);
     ui_handle_room_role_list_error(room, role, error);
 }
 
 void
-srv_room_role_list(const char * const room, const char * const role, GSList *nicks)
+sv_ev_room_role_list(const char * const room, const char * const role, GSList *nicks)
 {
     ui_handle_room_role_list(room, role, nicks);
 }
 
 void
-srv_room_affiliation_set_error(const char * const room, const char * const jid, const char * const affiliation,
+sv_ev_room_affiliation_set_error(const char * const room, const char * const jid, const char * const affiliation,
     const char * const error)
 {
     log_debug("Error setting affiliation %s list for room %s, user %s: %s", affiliation, room, jid, error);
@@ -248,13 +248,13 @@ srv_room_affiliation_set_error(const char * const room, const char * const jid,
 }
 
 void
-srv_disco_items(GSList *items, const char *jid)
+sv_ev_disco_items(GSList *items, const char *jid)
 {
     cons_show_disco_items(items, jid);
 }
 
 void
-srv_room_invite(jabber_invite_t invite_type,
+sv_ev_room_invite(jabber_invite_t invite_type,
     const char * const invitor, const char * const room,
     const char * const reason, const char * const password)
 {
@@ -265,7 +265,7 @@ srv_room_invite(jabber_invite_t invite_type,
 }
 
 void
-srv_room_broadcast(const char *const room_jid,
+sv_ev_room_broadcast(const char *const room_jid,
     const char * const message)
 {
     if (muc_roster_complete(room_jid)) {
@@ -276,7 +276,7 @@ srv_room_broadcast(const char *const room_jid,
 }
 
 void
-srv_room_subject(const char * const room, const char * const nick, const char * const subject)
+sv_ev_room_subject(const char * const room, const char * const nick, const char * const subject)
 {
     muc_set_subject(room, subject);
     if (muc_roster_complete(room)) {
@@ -285,14 +285,14 @@ srv_room_subject(const char * const room, const char * const nick, const char *
 }
 
 void
-srv_room_history(const char * const room_jid, const char * const nick,
+sv_ev_room_history(const char * const room_jid, const char * const nick,
     GTimeVal tv_stamp, const char * const message)
 {
     ui_room_history(room_jid, nick, tv_stamp, message);
 }
 
 void
-srv_room_message(const char * const room_jid, const char * const nick,
+sv_ev_room_message(const char * const room_jid, const char * const nick,
     const char * const message)
 {
     ui_room_message(room_jid, nick, message);
@@ -305,19 +305,19 @@ srv_room_message(const char * const room_jid, const char * const nick,
 }
 
 void
-srv_incoming_private_message(char *fulljid, char *message)
+sv_ev_incoming_private_message(char *fulljid, char *message)
 {
     ui_incoming_private_msg(fulljid, message, NULL);
 }
 
 void
-srv_carbon(char *barejid, char *message)
+sv_ev_carbon(char *barejid, char *message)
 {
     ui_outgoing_chat_msg_carbon(barejid, message);
 }
 
 void
-srv_incoming_message(char *barejid, char *resource, char *message)
+sv_ev_incoming_message(char *barejid, char *resource, char *message)
 {
 #ifdef HAVE_LIBOTR
     otr_on_message_recv(barejid, resource, message);
@@ -328,26 +328,26 @@ srv_incoming_message(char *barejid, char *resource, char *message)
 }
 
 void
-srv_delayed_private_message(char *fulljid, char *message, GTimeVal tv_stamp)
+sv_ev_delayed_private_message(char *fulljid, char *message, GTimeVal tv_stamp)
 {
     ui_incoming_private_msg(fulljid, message, &tv_stamp);
 }
 
 void
-srv_delayed_message(char *barejid, char *message, GTimeVal tv_stamp)
+sv_ev_delayed_message(char *barejid, char *message, GTimeVal tv_stamp)
 {
     ui_incoming_msg(barejid, NULL, message, &tv_stamp);
     chat_log_msg_in_delayed(barejid, message, &tv_stamp);
 }
 
 void
-srv_message_receipt(char *barejid, char *id)
+sv_ev_message_receipt(char *barejid, char *id)
 {
     ui_message_receipt(barejid, id);
 }
 
 void
-srv_typing(char *barejid, char *resource)
+sv_ev_typing(char *barejid, char *resource)
 {
     ui_contact_typing(barejid, resource);
     if (ui_chat_win_exists(barejid)) {
@@ -356,7 +356,7 @@ srv_typing(char *barejid, char *resource)
 }
 
 void
-srv_paused(char *barejid, char *resource)
+sv_ev_paused(char *barejid, char *resource)
 {
     if (ui_chat_win_exists(barejid)) {
         chat_session_recipient_paused(barejid, resource);
@@ -364,7 +364,7 @@ srv_paused(char *barejid, char *resource)
 }
 
 void
-srv_inactive(char *barejid, char *resource)
+sv_ev_inactive(char *barejid, char *resource)
 {
     if (ui_chat_win_exists(barejid)) {
         chat_session_recipient_inactive(barejid, resource);
@@ -372,7 +372,7 @@ srv_inactive(char *barejid, char *resource)
 }
 
 void
-srv_gone(const char * const barejid, const char * const resource)
+sv_ev_gone(const char * const barejid, const char * const resource)
 {
     ui_recipient_gone(barejid, resource);
     if (ui_chat_win_exists(barejid)) {
@@ -381,7 +381,7 @@ srv_gone(const char * const barejid, const char * const resource)
 }
 
 void
-srv_activity(const char * const barejid, const char * const resource, gboolean send_states)
+sv_ev_activity(const char * const barejid, const char * const resource, gboolean send_states)
 {
     if (ui_chat_win_exists(barejid)) {
         chat_session_recipient_active(barejid, resource, send_states);
@@ -389,7 +389,7 @@ srv_activity(const char * const barejid, const char * const resource, gboolean s
 }
 
 void
-srv_subscription(const char *barejid, jabber_subscr_t type)
+sv_ev_subscription(const char *barejid, jabber_subscr_t type)
 {
     switch (type) {
     case PRESENCE_SUBSCRIBE:
@@ -418,7 +418,7 @@ srv_subscription(const char *barejid, jabber_subscr_t type)
 }
 
 void
-srv_contact_offline(char *barejid, char *resource, char *status)
+sv_ev_contact_offline(char *barejid, char *resource, char *status)
 {
     gboolean updated = roster_contact_offline(barejid, resource, status);
 
@@ -431,7 +431,7 @@ srv_contact_offline(char *barejid, char *resource, char *status)
 }
 
 void
-srv_contact_online(char *barejid, Resource *resource,
+sv_ev_contact_online(char *barejid, Resource *resource,
     GDateTime *last_activity)
 {
     gboolean updated = roster_update_presence(barejid, resource, last_activity);
@@ -474,21 +474,21 @@ srv_contact_online(char *barejid, Resource *resource,
 }
 
 void
-srv_leave_room(const char * const room)
+sv_ev_leave_room(const char * const room)
 {
     muc_leave(room);
     ui_leave_room(room);
 }
 
 void
-srv_room_destroy(const char * const room)
+sv_ev_room_destroy(const char * const room)
 {
     muc_leave(room);
     ui_room_destroy(room);
 }
 
 void
-srv_room_destroyed(const char * const room, const char * const new_jid, const char * const password,
+sv_ev_room_destroyed(const char * const room, const char * const new_jid, const char * const password,
     const char * const reason)
 {
     muc_leave(room);
@@ -496,51 +496,51 @@ srv_room_destroyed(const char * const room, const char * const new_jid, const ch
 }
 
 void
-srv_room_kicked(const char * const room, const char * const actor, const char * const reason)
+sv_ev_room_kicked(const char * const room, const char * const actor, const char * const reason)
 {
     muc_leave(room);
     ui_room_kicked(room, actor, reason);
 }
 
 void
-srv_room_banned(const char * const room, const char * const actor, const char * const reason)
+sv_ev_room_banned(const char * const room, const char * const actor, const char * const reason)
 {
     muc_leave(room);
     ui_room_banned(room, actor, reason);
 }
 
 void
-srv_room_configure(const char * const room, DataForm *form)
+sv_ev_room_configure(const char * const room, DataForm *form)
 {
     ui_handle_room_configuration(room, form);
 }
 
 void
-srv_room_configuration_form_error(const char * const room, const char * const message)
+sv_ev_room_configuration_form_error(const char * const room, const char * const message)
 {
     ui_handle_room_configuration_form_error(room, message);
 }
 
 void
-srv_room_config_submit_result(const char * const room)
+sv_ev_room_config_submit_result(const char * const room)
 {
     ui_handle_room_config_submit_result(room);
 }
 
 void
-srv_room_config_submit_result_error(const char * const room, const char * const message)
+sv_ev_room_config_submit_result_error(const char * const room, const char * const message)
 {
     ui_handle_room_config_submit_result_error(room, message);
 }
 
 void
-srv_room_kick_result_error(const char * const room, const char * const nick, const char * const error)
+sv_ev_room_kick_result_error(const char * const room, const char * const nick, const char * const error)
 {
     ui_handle_room_kick_error(room, nick, error);
 }
 
 void
-srv_room_occupant_offline(const char * const room, const char * const nick,
+sv_ev_room_occupant_offline(const char * const room, const char * const nick,
     const char * const show, const char * const status)
 {
     muc_roster_remove(room, nick);
@@ -554,7 +554,7 @@ srv_room_occupant_offline(const char * const room, const char * const nick,
 }
 
 void
-srv_room_occupent_kicked(const char * const room, const char * const nick, const char * const actor,
+sv_ev_room_occupent_kicked(const char * const room, const char * const nick, const char * const actor,
     const char * const reason)
 {
     muc_roster_remove(room, nick);
@@ -563,7 +563,7 @@ srv_room_occupent_kicked(const char * const room, const char * const nick, const
 }
 
 void
-srv_room_occupent_banned(const char * const room, const char * const nick, const char * const actor,
+sv_ev_room_occupent_banned(const char * const room, const char * const nick, const char * const actor,
     const char * const reason)
 {
     muc_roster_remove(room, nick);
@@ -572,33 +572,33 @@ srv_room_occupent_banned(const char * const room, const char * const nick, const
 }
 
 void
-srv_group_add(const char * const contact,
+sv_ev_group_add(const char * const contact,
     const char * const group)
 {
     ui_group_added(contact, group);
 }
 
 void
-srv_group_remove(const char * const contact,
+sv_ev_group_remove(const char * const contact,
     const char * const group)
 {
     ui_group_removed(contact, group);
 }
 
 void
-srv_roster_remove(const char * const barejid)
+sv_ev_roster_remove(const char * const barejid)
 {
     ui_roster_remove(barejid);
 }
 
 void
-srv_roster_add(const char * const barejid, const char * const name)
+sv_ev_roster_add(const char * const barejid, const char * const name)
 {
     ui_roster_add(barejid, name);
 }
 
 void
-srv_roster_update(const char * const barejid, const char * const name,
+sv_ev_roster_update(const char * const barejid, const char * const name,
     GSList *groups, const char * const subscription, gboolean pending_out)
 {
     roster_update(barejid, name, groups, subscription, pending_out);
@@ -606,20 +606,20 @@ srv_roster_update(const char * const barejid, const char * const name,
 }
 
 void
-srv_autoping_cancel(void)
+sv_ev_autoping_cancel(void)
 {
     prefs_set_autoping(0);
     cons_show_error("Server ping not supported, autoping disabled.");
 }
 
 void
-srv_xmpp_stanza(const char * const msg)
+sv_ev_xmpp_stanza(const char * const msg)
 {
     ui_handle_stanza(msg);
 }
 
 void
-srv_ping_result(const char * const from, int millis)
+sv_ev_ping_result(const char * const from, int millis)
 {
     if (from == NULL) {
         cons_show("Ping response from server: %dms.", millis);
@@ -629,7 +629,7 @@ srv_ping_result(const char * const from, int millis)
 }
 
 void
-srv_ping_error_result(const char * const from, const char * const error)
+sv_ev_ping_error_result(const char * const from, const char * const error)
 {
     if (error == NULL) {
         cons_show_error("Error returned from pinging %s.", from);
@@ -639,7 +639,7 @@ srv_ping_error_result(const char * const from, const char * const error)
 }
 
 void
-srv_muc_self_online(const char * const room, const char * const nick, gboolean config_required,
+sv_ev_muc_self_online(const char * const room, const char * const nick, gboolean config_required,
     const char * const role, const char * const affiliation, const char * const actor, const char * const reason,
     const char * const jid, const char * const show, const char * const status)
 {
@@ -716,7 +716,7 @@ srv_muc_self_online(const char * const room, const char * const nick, gboolean c
 }
 
 void
-srv_muc_occupant_online(const char * const room, const char * const nick, const char * const jid,
+sv_ev_muc_occupant_online(const char * const room, const char * const nick, const char * const jid,
     const char * const role, const char * const affiliation, const char * const actor, const char * const reason,
     const char * const show, const char * const status)
 {
diff --git a/src/event/server_events.h b/src/event/server_events.h
index acba1391..daf885b3 100644
--- a/src/event/server_events.h
+++ b/src/event/server_events.h
@@ -37,93 +37,93 @@
 
 #include "xmpp/xmpp.h"
 
-void srv_login_account_success(char *account_name);
-void srv_lost_connection(void);
-void srv_failed_login(void);
-void srv_software_version_result(const char * const jid, const char * const  presence,
+void sv_ev_login_account_success(char *account_name);
+void sv_ev_lost_connection(void);
+void sv_ev_failed_login(void);
+void sv_ev_software_version_result(const char * const jid, const char * const  presence,
     const char * const name, const char * const version, const char * const os);
-void srv_disco_info(const char *from, GSList *identities, GSList *features);
-void srv_disco_info_error(const char * const from, const char * const error);
-void srv_room_list(GSList *rooms, const char *conference_node);
-void srv_disco_items(GSList *items, const char *jid);
-void srv_room_invite(jabber_invite_t invite_type,
+void sv_ev_disco_info(const char *from, GSList *identities, GSList *features);
+void sv_ev_disco_info_error(const char * const from, const char * const error);
+void sv_ev_room_list(GSList *rooms, const char *conference_node);
+void sv_ev_disco_items(GSList *items, const char *jid);
+void sv_ev_room_invite(jabber_invite_t invite_type,
     const char * const invitor, const char * const room,
     const char * const reason, const char * const password);
-void srv_room_broadcast(const char *const room_jid,
+void sv_ev_room_broadcast(const char *const room_jid,
     const char * const message);
-void srv_room_subject(const char * const room, const char * const nick, const char * const subject);
-void srv_room_history(const char * const room_jid, const char * const nick,
+void sv_ev_room_subject(const char * const room, const char * const nick, const char * const subject);
+void sv_ev_room_history(const char * const room_jid, const char * const nick,
     GTimeVal tv_stamp, const char * const message);
-void srv_room_message(const char * const room_jid, const char * const nick,
+void sv_ev_room_message(const char * const room_jid, const char * const nick,
     const char * const message);
-void srv_room_join_error(const char * const room, const char * const err);
-void srv_room_info_error(const char * const room, const char * const error);
-void srv_room_disco_info(const char * const room, GSList *identities, GSList *features, gboolean display);
-void srv_room_affiliation_list_result_error(const char * const room, const char * const affiliation,
+void sv_ev_room_join_error(const char * const room, const char * const err);
+void sv_ev_room_info_error(const char * const room, const char * const error);
+void sv_ev_room_disco_info(const char * const room, GSList *identities, GSList *features, gboolean display);
+void sv_ev_room_affiliation_list_result_error(const char * const room, const char * const affiliation,
     const char * const error);
-void srv_room_affiliation_list(const char * const room, const char * const affiliation, GSList *jids);
-void srv_room_affiliation_set_error(const char * const room, const char * const jid, const char * const affiliation,
+void sv_ev_room_affiliation_list(const char * const room, const char * const affiliation, GSList *jids);
+void sv_ev_room_affiliation_set_error(const char * const room, const char * const jid, const char * const affiliation,
     const char * const error);
-void srv_room_role_list_result_error(const char * const from, const char * const role, const char * const error);
-void srv_room_role_list(const char * const from, const char * const role, GSList *nicks);
-void srv_room_role_set_error(const char * const room, const char * const nick, const char * const role,
+void sv_ev_room_role_list_result_error(const char * const from, const char * const role, const char * const error);
+void sv_ev_room_role_list(const char * const from, const char * const role, GSList *nicks);
+void sv_ev_room_role_set_error(const char * const room, const char * const nick, const char * const role,
     const char * const error);
-void srv_room_kick_result_error(const char * const room, const char * const nick, const char * const error);
-void srv_incoming_message(char *barejid, char *resource, char *message);
-void srv_incoming_private_message(char *fulljid, char *message);
-void srv_delayed_message(char *fulljid, char *message, GTimeVal tv_stamp);
-void srv_delayed_private_message(char *fulljid, char *message, GTimeVal tv_stamp);
-void srv_typing(char *barejid, char *resource);
-void srv_paused(char *barejid, char *resource);
-void srv_inactive(char *barejid, char *resource);
-void srv_activity(char *barejid, char *resource, gboolean send_states);
-void srv_gone(const char * const barejid, const char * const resource);
-void srv_subscription(const char *from, jabber_subscr_t type);
-void srv_message_receipt(char *barejid, char *id);
-void srv_contact_offline(char *contact, char *resource, char *status);
-void srv_contact_online(char *contact, Resource *resource,
+void sv_ev_room_kick_result_error(const char * const room, const char * const nick, const char * const error);
+void sv_ev_incoming_message(char *barejid, char *resource, char *message);
+void sv_ev_incoming_private_message(char *fulljid, char *message);
+void sv_ev_delayed_message(char *fulljid, char *message, GTimeVal tv_stamp);
+void sv_ev_delayed_private_message(char *fulljid, char *message, GTimeVal tv_stamp);
+void sv_ev_typing(char *barejid, char *resource);
+void sv_ev_paused(char *barejid, char *resource);
+void sv_ev_inactive(char *barejid, char *resource);
+void sv_ev_activity(char *barejid, char *resource, gboolean send_states);
+void sv_ev_gone(const char * const barejid, const char * const resource);
+void sv_ev_subscription(const char *from, jabber_subscr_t type);
+void sv_ev_message_receipt(char *barejid, char *id);
+void sv_ev_contact_offline(char *contact, char *resource, char *status);
+void sv_ev_contact_online(char *contact, Resource *resource,
     GDateTime *last_activity);
-void srv_leave_room(const char * const room);
-void srv_room_destroy(const char * const room);
-void srv_room_occupant_offline(const char * const room, const char * const nick,
+void sv_ev_leave_room(const char * const room);
+void sv_ev_room_destroy(const char * const room);
+void sv_ev_room_occupant_offline(const char * const room, const char * const nick,
     const char * const show, const char * const status);
-void srv_room_destroyed(const char * const room, const char * const new_jid, const char * const password,
+void sv_ev_room_destroyed(const char * const room, const char * const new_jid, const char * const password,
     const char * const reason);
-void srv_room_kicked(const char * const room, const char * const actor, const char * const reason);
-void srv_room_occupent_kicked(const char * const room, const char * const nick, const char * const actor,
+void sv_ev_room_kicked(const char * const room, const char * const actor, const char * const reason);
+void sv_ev_room_occupent_kicked(const char * const room, const char * const nick, const char * const actor,
     const char * const reason);
-void srv_room_banned(const char * const room, const char * const actor, const char * const reason);
-void srv_room_occupent_banned(const char * const room, const char * const nick, const char * const actor,
+void sv_ev_room_banned(const char * const room, const char * const actor, const char * const reason);
+void sv_ev_room_occupent_banned(const char * const room, const char * const nick, const char * const actor,
     const char * const reason);
-void srv_group_add(const char * const contact,
+void sv_ev_group_add(const char * const contact,
     const char * const group);
-void srv_group_remove(const char * const contact,
+void sv_ev_group_remove(const char * const contact,
     const char * const group);
-void srv_roster_remove(const char * const barejid);
-void srv_roster_add(const char * const barejid, const char * const name);
-void srv_autoping_cancel(void);
-void srv_carbon(char *barejid, char *message);
-void srv_message_error(const char * const from, const char * const type,
+void sv_ev_roster_remove(const char * const barejid);
+void sv_ev_roster_add(const char * const barejid, const char * const name);
+void sv_ev_autoping_cancel(void);
+void sv_ev_carbon(char *barejid, char *message);
+void sv_ev_message_error(const char * const from, const char * const type,
     const char * const err_msg);
-void srv_presence_error(const char *from, const char * const type,
+void sv_ev_presence_error(const char *from, const char * const type,
     const char *err_msg);
-void srv_xmpp_stanza(const char * const msg);
-void srv_ping_result(const char * const from, int millis);
-void srv_ping_error_result(const char * const from, const char * const error);
-void srv_room_configure(const char * const room, DataForm *form);
-void srv_room_configuration_form_error(const char * const from, const char * const message);
-void srv_room_config_submit_result(const char * const room);
-void srv_room_config_submit_result_error(const char * const room, const char * const message);
-void srv_muc_self_online(const char * const room, const char * const nick, gboolean config_required,
+void sv_ev_xmpp_stanza(const char * const msg);
+void sv_ev_ping_result(const char * const from, int millis);
+void sv_ev_ping_error_result(const char * const from, const char * const error);
+void sv_ev_room_configure(const char * const room, DataForm *form);
+void sv_ev_room_configuration_form_error(const char * const from, const char * const message);
+void sv_ev_room_config_submit_result(const char * const room);
+void sv_ev_room_config_submit_result_error(const char * const room, const char * const message);
+void sv_ev_muc_self_online(const char * const room, const char * const nick, gboolean config_required,
     const char * const role, const char * const affiliation, const char * const actor, const char * const reason,
     const char * const jid, const char * const show, const char * const status);
-void srv_muc_occupant_online(const char * const room, const char * const nick, const char * const jid,
+void sv_ev_muc_occupant_online(const char * const room, const char * const nick, const char * const jid,
     const char * const role, const char * const affiliation, const char * const actor, const char * const reason,
     const char * const show_str, const char * const status_str);
-void srv_roster_update(const char * const barejid, const char * const name,
+void sv_ev_roster_update(const char * const barejid, const char * const name,
     GSList *groups, const char * const subscription, gboolean pending_out);
-void srv_roster_received(void);
-void srv_enable_carbons_error(const char * const error);
-void srv_disable_carbons_error(const char * const error);
+void sv_ev_roster_received(void);
+void sv_ev_enable_carbons_error(const char * const error);
+void sv_ev_disable_carbons_error(const char * const error);
 
 #endif
diff --git a/src/event/ui_events.c b/src/event/ui_events.c
new file mode 100644
index 00000000..c079c0e6
--- /dev/null
+++ b/src/event/ui_events.c
@@ -0,0 +1,48 @@
+/*
+ * ui_events.c
+ *
+ * Copyright (C) 2012 - 2015 James Booth <boothj5@gmail.com>
+ *
+ * This file is part of Profanity.
+ *
+ * Profanity is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Profanity is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Profanity.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * In addition, as a special exception, the copyright holders give permission to
+ * link the code of portions of this program with the OpenSSL library under
+ * certain conditions as described in each individual source file, and
+ * distribute linked combinations including the two.
+ *
+ * You must obey the GNU General Public License in all respects for all of the
+ * code used other than OpenSSL. If you modify file(s) with this exception, you
+ * may extend this exception to your version of the file(s), but you are not
+ * obligated to do so. If you do not wish to do so, delete this exception
+ * statement from your version. If you delete this exception statement from all
+ * source files in the program, then also delete it here.
+ *
+ */
+
+#include "ui/ui.h"
+
+void
+ui_ev_focus_win(ProfWin *win)
+{
+    ui_switch_win(win);
+}
+
+void
+ui_ev_new_chat_win(const char * const barejid)
+{
+    ProfWin *win = ui_new_chat_win(barejid);
+    ui_switch_win(win);
+}
\ No newline at end of file
diff --git a/src/event/ui_events.h b/src/event/ui_events.h
new file mode 100644
index 00000000..77017d2c
--- /dev/null
+++ b/src/event/ui_events.h
@@ -0,0 +1,41 @@
+/*
+ * ui_events.h
+ *
+ * Copyright (C) 2012 - 2015 James Booth <boothj5@gmail.com>
+ *
+ * This file is part of Profanity.
+ *
+ * Profanity is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Profanity is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Profanity.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * In addition, as a special exception, the copyright holders give permission to
+ * link the code of portions of this program with the OpenSSL library under
+ * certain conditions as described in each individual source file, and
+ * distribute linked combinations including the two.
+ *
+ * You must obey the GNU General Public License in all respects for all of the
+ * code used other than OpenSSL. If you modify file(s) with this exception, you
+ * may extend this exception to your version of the file(s), but you are not
+ * obligated to do so. If you do not wish to do so, delete this exception
+ * statement from your version. If you delete this exception statement from all
+ * source files in the program, then also delete it here.
+ *
+ */
+
+#ifndef UI_EVENTS_H
+#define UI_EVENTS_H
+
+void ui_ev_focus_win(ProfWin *win);
+void ui_ev_new_chat_win(const char * const barejid);
+
+#endif
\ No newline at end of file