1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-10-13 20:13:38 -04:00

Remove JABBER_STARTED, JABBER_UNDEFINED connection states

This commit is contained in:
James Booth 2016-05-10 23:18:11 +01:00
parent 22c4d91c50
commit 3d20c85ada
17 changed files with 18 additions and 104 deletions

View File

@ -354,7 +354,7 @@ gboolean
cmd_connect(ProfWin *window, const char *const command, gchar **args) cmd_connect(ProfWin *window, const char *const command, gchar **args)
{ {
jabber_conn_status_t conn_status = connection_get_status(); jabber_conn_status_t conn_status = connection_get_status();
if ((conn_status != JABBER_DISCONNECTED) && (conn_status != JABBER_STARTED)) { if (conn_status != JABBER_DISCONNECTED) {
cons_show("You are either connected already, or a login is in process."); cons_show("You are either connected already, or a login is in process.");
return TRUE; return TRUE;
} }

View File

@ -81,7 +81,7 @@ void
connection_init(void) connection_init(void)
{ {
xmpp_initialize(); xmpp_initialize();
conn.conn_status = JABBER_STARTED; conn.conn_status = JABBER_DISCONNECTED;
conn.presence_message = NULL; conn.presence_message = NULL;
conn.xmpp_conn = NULL; conn.xmpp_conn = NULL;
conn.xmpp_ctx = NULL; conn.xmpp_ctx = NULL;
@ -174,6 +174,17 @@ connection_connect(const char *const fulljid, const char *const passwd, const ch
return conn.conn_status; return conn.conn_status;
} }
void
connection_disconnect(void)
{
conn.conn_status = JABBER_DISCONNECTING;
xmpp_disconnect(conn.xmpp_conn);
while (conn.conn_status == JABBER_DISCONNECTING) {
session_process_events(10);
}
}
#ifdef HAVE_LIBMESODE #ifdef HAVE_LIBMESODE
TLSCertificate* TLSCertificate*
connection_get_tls_peer_cert(void) connection_get_tls_peer_cert(void)

View File

@ -41,6 +41,7 @@ void connection_init(void);
jabber_conn_status_t connection_connect(const char *const fulljid, const char *const passwd, const char *const altdomain, int port, jabber_conn_status_t connection_connect(const char *const fulljid, const char *const passwd, const char *const altdomain, int port,
const char *const tls_policy); const char *const tls_policy);
void connection_disconnect(void);
void connection_set_status(jabber_conn_status_t status); void connection_set_status(jabber_conn_status_t status);
void connection_set_presence_msg(const char *const message); void connection_set_presence_msg(const char *const message);

View File

@ -180,13 +180,7 @@ session_autoping_fail(void)
const char *fulljid = connection_get_fulljid(); const char *fulljid = connection_get_fulljid();
plugins_on_disconnect(account_name, fulljid); plugins_on_disconnect(account_name, fulljid);
accounts_set_last_activity(session_get_account_name()); accounts_set_last_activity(session_get_account_name());
connection_set_status(JABBER_DISCONNECTING); connection_disconnect();
xmpp_disconnect(connection_get_conn());
while (connection_get_status() == JABBER_DISCONNECTING) {
session_process_events(10);
}
connection_free_conn(); connection_free_conn();
connection_free_ctx(); connection_free_ctx();
} }
@ -204,17 +198,12 @@ session_disconnect(void)
{ {
// if connected, send end stream and wait for response // if connected, send end stream and wait for response
if (connection_get_status() == JABBER_CONNECTED) { if (connection_get_status() == JABBER_CONNECTED) {
log_info("Closing connection");
char *account_name = session_get_account_name(); char *account_name = session_get_account_name();
const char *fulljid = connection_get_fulljid(); const char *fulljid = connection_get_fulljid();
plugins_on_disconnect(account_name, fulljid); plugins_on_disconnect(account_name, fulljid);
log_info("Closing connection");
accounts_set_last_activity(session_get_account_name()); accounts_set_last_activity(session_get_account_name());
connection_set_status(JABBER_DISCONNECTING); connection_disconnect();
xmpp_disconnect(connection_get_conn());
while (connection_get_status() == JABBER_DISCONNECTING) {
session_process_events(10);
}
_session_free_saved_account(); _session_free_saved_account();
_session_free_saved_details(); _session_free_saved_details();
connection_disco_items_free(); connection_disco_items_free();
@ -228,7 +217,7 @@ session_disconnect(void)
connection_free_presence_msg(); connection_free_presence_msg();
connection_free_domain(); connection_free_domain();
connection_set_status(JABBER_STARTED); connection_set_status(JABBER_DISCONNECTED);
} }
void void

View File

@ -57,8 +57,6 @@
#define XMPP_FEATURE_BLOCKING "urn:xmpp:blocking" #define XMPP_FEATURE_BLOCKING "urn:xmpp:blocking"
typedef enum { typedef enum {
JABBER_UNDEFINED,
JABBER_STARTED,
JABBER_CONNECTING, JABBER_CONNECTING,
JABBER_CONNECTED, JABBER_CONNECTED,
JABBER_DISCONNECTING, JABBER_DISCONNECTING,

View File

@ -46,16 +46,6 @@ void cmd_bookmark_shows_message_when_connecting(void **state)
test_with_connection_status(JABBER_CONNECTING); test_with_connection_status(JABBER_CONNECTING);
} }
void cmd_bookmark_shows_message_when_started(void **state)
{
test_with_connection_status(JABBER_STARTED);
}
void cmd_bookmark_shows_message_when_undefined(void **state)
{
test_with_connection_status(JABBER_UNDEFINED);
}
void cmd_bookmark_shows_usage_when_no_args(void **state) void cmd_bookmark_shows_usage_when_no_args(void **state)
{ {
gchar *args[] = { NULL }; gchar *args[] = { NULL };

View File

@ -1,7 +1,6 @@
void cmd_bookmark_shows_message_when_disconnected(void **state); void cmd_bookmark_shows_message_when_disconnected(void **state);
void cmd_bookmark_shows_message_when_disconnecting(void **state); void cmd_bookmark_shows_message_when_disconnecting(void **state);
void cmd_bookmark_shows_message_when_connecting(void **state); void cmd_bookmark_shows_message_when_connecting(void **state);
void cmd_bookmark_shows_message_when_started(void **state);
void cmd_bookmark_shows_message_when_undefined(void **state); void cmd_bookmark_shows_message_when_undefined(void **state);
void cmd_bookmark_shows_usage_when_no_args(void **state); void cmd_bookmark_shows_usage_when_no_args(void **state);
void cmd_bookmark_list_shows_bookmarks(void **state); void cmd_bookmark_list_shows_bookmarks(void **state);

View File

@ -41,11 +41,6 @@ void cmd_connect_shows_message_when_connected(void **state)
test_with_connection_status(JABBER_CONNECTED); test_with_connection_status(JABBER_CONNECTED);
} }
void cmd_connect_shows_message_when_undefined(void **state)
{
test_with_connection_status(JABBER_UNDEFINED);
}
void cmd_connect_when_no_account(void **state) void cmd_connect_when_no_account(void **state)
{ {
gchar *args[] = { "user@server.org", NULL }; gchar *args[] = { "user@server.org", NULL };

View File

@ -43,11 +43,6 @@ void cmd_join_shows_message_when_disconnected(void **state)
test_with_connection_status(JABBER_DISCONNECTED); test_with_connection_status(JABBER_DISCONNECTED);
} }
void cmd_join_shows_message_when_undefined(void **state)
{
test_with_connection_status(JABBER_UNDEFINED);
}
void cmd_join_shows_error_message_when_invalid_room_jid(void **state) void cmd_join_shows_error_message_when_invalid_room_jid(void **state)
{ {
gchar *args[] = { "//@@/", NULL }; gchar *args[] = { "//@@/", NULL };

View File

@ -164,16 +164,6 @@ void cmd_otr_gen_shows_message_when_disconnected(void **state)
test_with_command_and_connection_status("gen", cmd_otr_gen, JABBER_DISCONNECTED); test_with_command_and_connection_status("gen", cmd_otr_gen, JABBER_DISCONNECTED);
} }
void cmd_otr_gen_shows_message_when_undefined(void **state)
{
test_with_command_and_connection_status("gen", cmd_otr_gen, JABBER_UNDEFINED);
}
void cmd_otr_gen_shows_message_when_started(void **state)
{
test_with_command_and_connection_status("gen", cmd_otr_gen, JABBER_STARTED);
}
void cmd_otr_gen_shows_message_when_connecting(void **state) void cmd_otr_gen_shows_message_when_connecting(void **state)
{ {
test_with_command_and_connection_status("gen", cmd_otr_gen, JABBER_CONNECTING); test_with_command_and_connection_status("gen", cmd_otr_gen, JABBER_CONNECTING);
@ -209,16 +199,6 @@ void cmd_otr_myfp_shows_message_when_disconnected(void **state)
test_with_command_and_connection_status("myfp", cmd_otr_myfp, JABBER_DISCONNECTED); test_with_command_and_connection_status("myfp", cmd_otr_myfp, JABBER_DISCONNECTED);
} }
void cmd_otr_myfp_shows_message_when_undefined(void **state)
{
test_with_command_and_connection_status("myfp", cmd_otr_myfp, JABBER_UNDEFINED);
}
void cmd_otr_myfp_shows_message_when_started(void **state)
{
test_with_command_and_connection_status("myfp", cmd_otr_myfp, JABBER_STARTED);
}
void cmd_otr_myfp_shows_message_when_connecting(void **state) void cmd_otr_myfp_shows_message_when_connecting(void **state)
{ {
test_with_command_and_connection_status("myfp", cmd_otr_myfp, JABBER_CONNECTING); test_with_command_and_connection_status("myfp", cmd_otr_myfp, JABBER_CONNECTING);

View File

@ -13,12 +13,10 @@ void cmd_otr_gen_shows_message_when_not_connected(void **state);
void cmd_otr_gen_generates_key_for_connected_account(void **state); void cmd_otr_gen_generates_key_for_connected_account(void **state);
void cmd_otr_gen_shows_message_when_disconnected(void **state); void cmd_otr_gen_shows_message_when_disconnected(void **state);
void cmd_otr_gen_shows_message_when_undefined(void **state); void cmd_otr_gen_shows_message_when_undefined(void **state);
void cmd_otr_gen_shows_message_when_started(void **state);
void cmd_otr_gen_shows_message_when_connecting(void **state); void cmd_otr_gen_shows_message_when_connecting(void **state);
void cmd_otr_gen_shows_message_when_disconnecting(void **state); void cmd_otr_gen_shows_message_when_disconnecting(void **state);
void cmd_otr_myfp_shows_message_when_disconnected(void **state); void cmd_otr_myfp_shows_message_when_disconnected(void **state);
void cmd_otr_myfp_shows_message_when_undefined(void **state); void cmd_otr_myfp_shows_message_when_undefined(void **state);
void cmd_otr_myfp_shows_message_when_started(void **state);
void cmd_otr_myfp_shows_message_when_connecting(void **state); void cmd_otr_myfp_shows_message_when_connecting(void **state);
void cmd_otr_myfp_shows_message_when_disconnecting(void **state); void cmd_otr_myfp_shows_message_when_disconnecting(void **state);
void cmd_otr_myfp_shows_message_when_no_key(void **state); void cmd_otr_myfp_shows_message_when_no_key(void **state);

View File

@ -55,16 +55,6 @@ void cmd_pgp_start_shows_message_when_connecting(void **state)
cmd_pgp_start_shows_message_when_connection(JABBER_CONNECTING); cmd_pgp_start_shows_message_when_connection(JABBER_CONNECTING);
} }
void cmd_pgp_start_shows_message_when_undefined(void **state)
{
cmd_pgp_start_shows_message_when_connection(JABBER_UNDEFINED);
}
void cmd_pgp_start_shows_message_when_started(void **state)
{
cmd_pgp_start_shows_message_when_connection(JABBER_STARTED);
}
void cmd_pgp_start_shows_message_when_no_arg_in_wintype(win_type_t wintype) void cmd_pgp_start_shows_message_when_no_arg_in_wintype(win_type_t wintype)
{ {
gchar *args[] = { "start", NULL }; gchar *args[] = { "start", NULL };

View File

@ -6,7 +6,6 @@ void cmd_pgp_start_shows_message_when_disconnected(void **state);
void cmd_pgp_start_shows_message_when_disconnecting(void **state); void cmd_pgp_start_shows_message_when_disconnecting(void **state);
void cmd_pgp_start_shows_message_when_connecting(void **state); void cmd_pgp_start_shows_message_when_connecting(void **state);
void cmd_pgp_start_shows_message_when_undefined(void **state); void cmd_pgp_start_shows_message_when_undefined(void **state);
void cmd_pgp_start_shows_message_when_started(void **state);
void cmd_pgp_start_shows_message_when_no_arg_in_console(void **state); void cmd_pgp_start_shows_message_when_no_arg_in_console(void **state);
void cmd_pgp_start_shows_message_when_no_arg_in_muc(void **state); void cmd_pgp_start_shows_message_when_no_arg_in_muc(void **state);
void cmd_pgp_start_shows_message_when_no_arg_in_mucconf(void **state); void cmd_pgp_start_shows_message_when_no_arg_in_mucconf(void **state);

View File

@ -41,16 +41,6 @@ void cmd_rooms_shows_message_when_connecting(void **state)
test_with_connection_status(JABBER_CONNECTING); test_with_connection_status(JABBER_CONNECTING);
} }
void cmd_rooms_shows_message_when_started(void **state)
{
test_with_connection_status(JABBER_STARTED);
}
void cmd_rooms_shows_message_when_undefined(void **state)
{
test_with_connection_status(JABBER_UNDEFINED);
}
void cmd_rooms_uses_account_default_when_no_arg(void **state) void cmd_rooms_uses_account_default_when_no_arg(void **state)
{ {
gchar *args[] = { NULL }; gchar *args[] = { NULL };

View File

@ -1,7 +1,6 @@
void cmd_rooms_shows_message_when_disconnected(void **state); void cmd_rooms_shows_message_when_disconnected(void **state);
void cmd_rooms_shows_message_when_disconnecting(void **state); void cmd_rooms_shows_message_when_disconnecting(void **state);
void cmd_rooms_shows_message_when_connecting(void **state); void cmd_rooms_shows_message_when_connecting(void **state);
void cmd_rooms_shows_message_when_started(void **state);
void cmd_rooms_shows_message_when_undefined(void **state); void cmd_rooms_shows_message_when_undefined(void **state);
void cmd_rooms_uses_account_default_when_no_arg(void **state); void cmd_rooms_uses_account_default_when_no_arg(void **state);
void cmd_rooms_arg_used_when_passed(void **state); void cmd_rooms_arg_used_when_passed(void **state);

View File

@ -42,11 +42,6 @@ void cmd_roster_shows_message_when_disconnected(void **state)
test_with_connection_status(JABBER_DISCONNECTED); test_with_connection_status(JABBER_DISCONNECTED);
} }
void cmd_roster_shows_message_when_undefined(void **state)
{
test_with_connection_status(JABBER_UNDEFINED);
}
void cmd_roster_shows_roster_when_no_args(void **state) void cmd_roster_shows_roster_when_no_args(void **state)
{ {
gchar *args[] = { NULL }; gchar *args[] = { NULL };

View File

@ -238,9 +238,6 @@ int main(int argc, char* argv[]) {
unit_test_setup_teardown(cmd_connect_shows_message_when_connected, unit_test_setup_teardown(cmd_connect_shows_message_when_connected,
load_preferences, load_preferences,
close_preferences), close_preferences),
unit_test_setup_teardown(cmd_connect_shows_message_when_undefined,
load_preferences,
close_preferences),
unit_test_setup_teardown(cmd_connect_when_no_account, unit_test_setup_teardown(cmd_connect_when_no_account,
load_preferences, load_preferences,
close_preferences), close_preferences),
@ -308,8 +305,6 @@ int main(int argc, char* argv[]) {
unit_test(cmd_rooms_shows_message_when_disconnected), unit_test(cmd_rooms_shows_message_when_disconnected),
unit_test(cmd_rooms_shows_message_when_disconnecting), unit_test(cmd_rooms_shows_message_when_disconnecting),
unit_test(cmd_rooms_shows_message_when_connecting), unit_test(cmd_rooms_shows_message_when_connecting),
unit_test(cmd_rooms_shows_message_when_started),
unit_test(cmd_rooms_shows_message_when_undefined),
unit_test(cmd_rooms_uses_account_default_when_no_arg), unit_test(cmd_rooms_uses_account_default_when_no_arg),
unit_test(cmd_rooms_arg_used_when_passed), unit_test(cmd_rooms_arg_used_when_passed),
@ -484,8 +479,6 @@ int main(int argc, char* argv[]) {
unit_test(cmd_bookmark_shows_message_when_disconnected), unit_test(cmd_bookmark_shows_message_when_disconnected),
unit_test(cmd_bookmark_shows_message_when_disconnecting), unit_test(cmd_bookmark_shows_message_when_disconnecting),
unit_test(cmd_bookmark_shows_message_when_connecting), unit_test(cmd_bookmark_shows_message_when_connecting),
unit_test(cmd_bookmark_shows_message_when_started),
unit_test(cmd_bookmark_shows_message_when_undefined),
unit_test(cmd_bookmark_shows_usage_when_no_args), unit_test(cmd_bookmark_shows_usage_when_no_args),
unit_test(cmd_bookmark_list_shows_bookmarks), unit_test(cmd_bookmark_list_shows_bookmarks),
unit_test(cmd_bookmark_add_shows_message_when_invalid_jid), unit_test(cmd_bookmark_add_shows_message_when_invalid_jid),
@ -518,13 +511,9 @@ int main(int argc, char* argv[]) {
unit_test(cmd_otr_gen_shows_message_when_not_connected), unit_test(cmd_otr_gen_shows_message_when_not_connected),
unit_test(cmd_otr_gen_generates_key_for_connected_account), unit_test(cmd_otr_gen_generates_key_for_connected_account),
unit_test(cmd_otr_gen_shows_message_when_disconnected), unit_test(cmd_otr_gen_shows_message_when_disconnected),
unit_test(cmd_otr_gen_shows_message_when_undefined),
unit_test(cmd_otr_gen_shows_message_when_started),
unit_test(cmd_otr_gen_shows_message_when_connecting), unit_test(cmd_otr_gen_shows_message_when_connecting),
unit_test(cmd_otr_gen_shows_message_when_disconnecting), unit_test(cmd_otr_gen_shows_message_when_disconnecting),
unit_test(cmd_otr_myfp_shows_message_when_disconnected), unit_test(cmd_otr_myfp_shows_message_when_disconnected),
unit_test(cmd_otr_myfp_shows_message_when_undefined),
unit_test(cmd_otr_myfp_shows_message_when_started),
unit_test(cmd_otr_myfp_shows_message_when_connecting), unit_test(cmd_otr_myfp_shows_message_when_connecting),
unit_test(cmd_otr_myfp_shows_message_when_disconnecting), unit_test(cmd_otr_myfp_shows_message_when_disconnecting),
unit_test(cmd_otr_myfp_shows_message_when_no_key), unit_test(cmd_otr_myfp_shows_message_when_no_key),
@ -551,8 +540,6 @@ int main(int argc, char* argv[]) {
unit_test(cmd_pgp_start_shows_message_when_disconnected), unit_test(cmd_pgp_start_shows_message_when_disconnected),
unit_test(cmd_pgp_start_shows_message_when_disconnecting), unit_test(cmd_pgp_start_shows_message_when_disconnecting),
unit_test(cmd_pgp_start_shows_message_when_connecting), unit_test(cmd_pgp_start_shows_message_when_connecting),
unit_test(cmd_pgp_start_shows_message_when_undefined),
unit_test(cmd_pgp_start_shows_message_when_started),
unit_test(cmd_pgp_start_shows_message_when_no_arg_in_console), unit_test(cmd_pgp_start_shows_message_when_no_arg_in_console),
unit_test(cmd_pgp_start_shows_message_when_no_arg_in_muc), unit_test(cmd_pgp_start_shows_message_when_no_arg_in_muc),
unit_test(cmd_pgp_start_shows_message_when_no_arg_in_mucconf), unit_test(cmd_pgp_start_shows_message_when_no_arg_in_mucconf),
@ -565,7 +552,6 @@ int main(int argc, char* argv[]) {
unit_test(cmd_join_shows_message_when_disconnecting), unit_test(cmd_join_shows_message_when_disconnecting),
unit_test(cmd_join_shows_message_when_connecting), unit_test(cmd_join_shows_message_when_connecting),
unit_test(cmd_join_shows_message_when_disconnected), unit_test(cmd_join_shows_message_when_disconnected),
unit_test(cmd_join_shows_message_when_undefined),
unit_test(cmd_join_shows_error_message_when_invalid_room_jid), unit_test(cmd_join_shows_error_message_when_invalid_room_jid),
unit_test(cmd_join_uses_account_mucservice_when_no_service_specified), unit_test(cmd_join_uses_account_mucservice_when_no_service_specified),
unit_test(cmd_join_uses_supplied_nick), unit_test(cmd_join_uses_supplied_nick),
@ -575,7 +561,6 @@ int main(int argc, char* argv[]) {
unit_test(cmd_roster_shows_message_when_disconnecting), unit_test(cmd_roster_shows_message_when_disconnecting),
unit_test(cmd_roster_shows_message_when_connecting), unit_test(cmd_roster_shows_message_when_connecting),
unit_test(cmd_roster_shows_message_when_disconnected), unit_test(cmd_roster_shows_message_when_disconnected),
unit_test(cmd_roster_shows_message_when_undefined),
unit_test(cmd_roster_shows_roster_when_no_args), unit_test(cmd_roster_shows_roster_when_no_args),
unit_test(cmd_roster_add_shows_message_when_no_jid), unit_test(cmd_roster_add_shows_message_when_no_jid),
unit_test(cmd_roster_add_sends_roster_add_request), unit_test(cmd_roster_add_sends_roster_add_request),