add dc_accounts_maybe_network_lost() (#2550)

This commit is contained in:
bjoern
2021-07-22 11:29:51 +02:00
committed by GitHub
parent 5f365b259b
commit 980d2a9433
4 changed files with 53 additions and 1 deletions

View File

@@ -2650,6 +2650,21 @@ void dc_accounts_stop_io (dc_accounts_t* accounts);
void dc_accounts_maybe_network (dc_accounts_t* accounts);
/**
* This function can be called when there is a hint that the network is lost.
* This is similar to dc_accounts_maybe_network(), however,
* it does not retry job processing.
*
* dc_accounts_maybe_network_lost() is needed only on systems
* where the core cannot find out the connectivity loss on its own, eg. iOS.
* The function is not needed on Android, MacOS, Windows or Linux.
*
* @memberof dc_accounts_t
* @param accounts Account manager as created by dc_accounts_new().
*/
void dc_accounts_maybe_network_lost (dc_accounts_t* accounts);
/**
* Create the event emitter that is used to receive events.
*

View File

@@ -3867,7 +3867,7 @@ pub unsafe extern "C" fn dc_accounts_stop_io(accounts: *mut dc_accounts_t) {
#[no_mangle]
pub unsafe extern "C" fn dc_accounts_maybe_network(accounts: *mut dc_accounts_t) {
if accounts.is_null() {
eprintln!("ignoring careless call to dc_accounts_mabye_network()");
eprintln!("ignoring careless call to dc_accounts_maybe_network()");
return;
}
@@ -3875,6 +3875,17 @@ pub unsafe extern "C" fn dc_accounts_maybe_network(accounts: *mut dc_accounts_t)
block_on(accounts.maybe_network());
}
#[no_mangle]
pub unsafe extern "C" fn dc_accounts_maybe_network_lost(accounts: *mut dc_accounts_t) {
if accounts.is_null() {
eprintln!("ignoring careless call to dc_accounts_maybe_network_lost()");
return;
}
let accounts = &*accounts;
block_on(accounts.maybe_network_lost());
}
pub type dc_accounts_event_emitter_t = deltachat::accounts::EventEmitter;
#[no_mangle]