mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Remove _session_free_session_data from session.c
This commit is contained in:
parent
02bc4f217c
commit
22c4d91c50
@ -77,7 +77,8 @@ TLSCertificate* _xmppcert_to_profcert(xmpp_tlscert_t *xmpptlscert);
|
|||||||
static int _connection_certfail_cb(xmpp_tlscert_t *xmpptlscert, const char *const errormsg);
|
static int _connection_certfail_cb(xmpp_tlscert_t *xmpptlscert, const char *const errormsg);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void connection_init(void)
|
void
|
||||||
|
connection_init(void)
|
||||||
{
|
{
|
||||||
xmpp_initialize();
|
xmpp_initialize();
|
||||||
conn.conn_status = JABBER_STARTED;
|
conn.conn_status = JABBER_STARTED;
|
||||||
|
@ -87,7 +87,6 @@ static void _session_reconnect(void);
|
|||||||
|
|
||||||
static void _session_free_saved_account(void);
|
static void _session_free_saved_account(void);
|
||||||
static void _session_free_saved_details(void);
|
static void _session_free_saved_details(void);
|
||||||
static void _session_free_session_data(void);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
session_init(void)
|
session_init(void)
|
||||||
@ -218,8 +217,10 @@ session_disconnect(void)
|
|||||||
}
|
}
|
||||||
_session_free_saved_account();
|
_session_free_saved_account();
|
||||||
_session_free_saved_details();
|
_session_free_saved_details();
|
||||||
_session_free_session_data();
|
connection_disco_items_free();
|
||||||
|
connection_remove_all_available_resources();
|
||||||
|
chat_sessions_clear();
|
||||||
|
presence_clear_sub_requests();
|
||||||
connection_free_conn();
|
connection_free_conn();
|
||||||
connection_free_ctx();
|
connection_free_ctx();
|
||||||
}
|
}
|
||||||
@ -235,7 +236,10 @@ session_shutdown(void)
|
|||||||
{
|
{
|
||||||
_session_free_saved_account();
|
_session_free_saved_account();
|
||||||
_session_free_saved_details();
|
_session_free_saved_details();
|
||||||
_session_free_session_data();
|
connection_disco_items_free();
|
||||||
|
connection_remove_all_available_resources();
|
||||||
|
chat_sessions_clear();
|
||||||
|
presence_clear_sub_requests();
|
||||||
xmpp_shutdown();
|
xmpp_shutdown();
|
||||||
connection_free_log();
|
connection_free_log();
|
||||||
}
|
}
|
||||||
@ -248,22 +252,22 @@ session_process_events(int millis)
|
|||||||
jabber_conn_status_t conn_status = connection_get_status();
|
jabber_conn_status_t conn_status = connection_get_status();
|
||||||
switch (conn_status)
|
switch (conn_status)
|
||||||
{
|
{
|
||||||
case JABBER_CONNECTED:
|
case JABBER_CONNECTED:
|
||||||
case JABBER_CONNECTING:
|
case JABBER_CONNECTING:
|
||||||
case JABBER_DISCONNECTING:
|
case JABBER_DISCONNECTING:
|
||||||
xmpp_run_once(connection_get_ctx(), millis);
|
xmpp_run_once(connection_get_ctx(), millis);
|
||||||
break;
|
break;
|
||||||
case JABBER_DISCONNECTED:
|
case JABBER_DISCONNECTED:
|
||||||
reconnect_sec = prefs_get_reconnect();
|
reconnect_sec = prefs_get_reconnect();
|
||||||
if ((reconnect_sec != 0) && reconnect_timer) {
|
if ((reconnect_sec != 0) && reconnect_timer) {
|
||||||
int elapsed_sec = g_timer_elapsed(reconnect_timer, NULL);
|
int elapsed_sec = g_timer_elapsed(reconnect_timer, NULL);
|
||||||
if (elapsed_sec > reconnect_sec) {
|
if (elapsed_sec > reconnect_sec) {
|
||||||
_session_reconnect();
|
_session_reconnect();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
}
|
||||||
default:
|
break;
|
||||||
break;
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -327,14 +331,20 @@ session_login_failed(void)
|
|||||||
sv_ev_failed_login();
|
sv_ev_failed_login();
|
||||||
_session_free_saved_account();
|
_session_free_saved_account();
|
||||||
_session_free_saved_details();
|
_session_free_saved_details();
|
||||||
_session_free_session_data();
|
connection_disco_items_free();
|
||||||
|
connection_remove_all_available_resources();
|
||||||
|
chat_sessions_clear();
|
||||||
|
presence_clear_sub_requests();
|
||||||
} else {
|
} else {
|
||||||
log_debug("Connection handler: Restarting reconnect timer");
|
log_debug("Connection handler: Restarting reconnect timer");
|
||||||
if (prefs_get_reconnect() != 0) {
|
if (prefs_get_reconnect() != 0) {
|
||||||
g_timer_start(reconnect_timer);
|
g_timer_start(reconnect_timer);
|
||||||
}
|
}
|
||||||
// free resources but leave saved_user untouched
|
// free resources but leave saved_user untouched
|
||||||
_session_free_session_data();
|
connection_disco_items_free();
|
||||||
|
connection_remove_all_available_resources();
|
||||||
|
chat_sessions_clear();
|
||||||
|
presence_clear_sub_requests();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -349,7 +359,10 @@ session_lost_connection(void)
|
|||||||
_session_free_saved_account();
|
_session_free_saved_account();
|
||||||
_session_free_saved_details();
|
_session_free_saved_details();
|
||||||
}
|
}
|
||||||
_session_free_session_data();
|
connection_disco_items_free();
|
||||||
|
connection_remove_all_available_resources();
|
||||||
|
chat_sessions_clear();
|
||||||
|
presence_clear_sub_requests();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -357,16 +370,16 @@ _session_reconnect(void)
|
|||||||
{
|
{
|
||||||
// reconnect with account.
|
// reconnect with account.
|
||||||
ProfAccount *account = accounts_get_account(saved_account.name);
|
ProfAccount *account = accounts_get_account(saved_account.name);
|
||||||
|
|
||||||
if (account == NULL) {
|
if (account == NULL) {
|
||||||
log_error("Unable to reconnect, account no longer exists: %s", saved_account.name);
|
log_error("Unable to reconnect, account no longer exists: %s", saved_account.name);
|
||||||
} else {
|
return;
|
||||||
char *fulljid = create_fulljid(account->jid, account->resource);
|
|
||||||
log_debug("Attempting reconnect with account %s", account->name);
|
|
||||||
connection_connect(fulljid, saved_account.passwd, account->server, account->port, account->tls_policy);
|
|
||||||
free(fulljid);
|
|
||||||
g_timer_start(reconnect_timer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *fulljid = create_fulljid(account->jid, account->resource);
|
||||||
|
log_debug("Attempting reconnect with account %s", account->name);
|
||||||
|
connection_connect(fulljid, saved_account.passwd, account->server, account->port, account->tls_policy);
|
||||||
|
free(fulljid);
|
||||||
|
g_timer_start(reconnect_timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -386,12 +399,3 @@ _session_free_saved_details(void)
|
|||||||
FREE_SET_NULL(saved_details.tls_policy);
|
FREE_SET_NULL(saved_details.tls_policy);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
_session_free_session_data(void)
|
|
||||||
{
|
|
||||||
connection_disco_items_free();
|
|
||||||
connection_remove_all_available_resources();
|
|
||||||
chat_sessions_clear();
|
|
||||||
presence_clear_sub_requests();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user