mirror of
https://github.com/chatmail/core.git
synced 2026-05-08 17:36:29 +03:00
prototype dc_set_config_from_qr()
This commit is contained in:
committed by
holger krekel
parent
1882176489
commit
2b7a0a4585
@@ -403,6 +403,7 @@ int dc_set_config (dc_context_t* context, const char*
|
|||||||
*/
|
*/
|
||||||
char* dc_get_config (dc_context_t* context, const char* key);
|
char* dc_get_config (dc_context_t* context, const char* key);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set stock string translation.
|
* Set stock string translation.
|
||||||
*
|
*
|
||||||
@@ -417,6 +418,22 @@ char* dc_get_config (dc_context_t* context, const char*
|
|||||||
int dc_set_stock_translation(dc_context_t* context, uint32_t stock_id, const char* stock_msg);
|
int dc_set_stock_translation(dc_context_t* context, uint32_t stock_id, const char* stock_msg);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set configuration values from a QR code containing an account.
|
||||||
|
* Before this function is called, dc_check_qr() should confirm the type of the
|
||||||
|
* QR code is DC_QR_ACCOUNT.
|
||||||
|
*
|
||||||
|
* Internally, the function will call dc_set_config()
|
||||||
|
* at least with the keys `addr` and `mail_pw`.
|
||||||
|
*
|
||||||
|
* @memberof dc_context_t
|
||||||
|
* @param context The context object
|
||||||
|
* @param qr scanned QR code
|
||||||
|
* @return int (==0 on error, 1 on success)
|
||||||
|
*/
|
||||||
|
int dc_set_config_from_qr (dc_context_t* context, const char* qr);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get information about the context.
|
* Get information about the context.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -423,6 +423,22 @@ pub unsafe extern "C" fn dc_set_stock_translation(
|
|||||||
.unwrap_or(0)
|
.unwrap_or(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe extern "C" fn dc_set_config_from_qr(
|
||||||
|
context: *mut dc_context_t,
|
||||||
|
qr: *mut libc::c_char,
|
||||||
|
) -> libc::c_int {
|
||||||
|
if context.is_null() || qr.is_null() {
|
||||||
|
eprintln!("ignoring careless call to dc_set_config_from_qr");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
let qr = to_string_lossy(qr);
|
||||||
|
let ffi_context = &*context;
|
||||||
|
ffi_context
|
||||||
|
.with_inner(|ctx| qr::set_config_from_qr(ctx, &qr) as libc::c_int)
|
||||||
|
.unwrap_or(0)
|
||||||
|
}
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub unsafe extern "C" fn dc_get_info(context: *mut dc_context_t) -> *mut libc::c_char {
|
pub unsafe extern "C" fn dc_get_info(context: *mut dc_context_t) -> *mut libc::c_char {
|
||||||
if context.is_null() {
|
if context.is_null() {
|
||||||
|
|||||||
@@ -205,6 +205,14 @@ fn decode_account(_context: &Context, qr: &str) -> Lot {
|
|||||||
lot
|
lot
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn set_config_from_qr(context: &Context, qr: &str) -> bool {
|
||||||
|
error!(
|
||||||
|
context,
|
||||||
|
"Setting config from QR is not yet implemented :/ QR code: {}", qr
|
||||||
|
);
|
||||||
|
false
|
||||||
|
}
|
||||||
|
|
||||||
/// Extract address for the mailto scheme.
|
/// Extract address for the mailto scheme.
|
||||||
///
|
///
|
||||||
/// Scheme: `mailto:addr...?subject=...&body=..`
|
/// Scheme: `mailto:addr...?subject=...&body=..`
|
||||||
|
|||||||
Reference in New Issue
Block a user