Add FfiResultVoid type
This commit is contained in:
parent
3e31e9aca3
commit
2abe7205cb
11
src/types.rs
11
src/types.rs
@ -9,14 +9,21 @@ pub struct FfiResult<T> {
|
|||||||
pub err: char_p_boxed,
|
pub err: char_p_boxed,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive_ReprC]
|
||||||
|
#[repr(C)]
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub struct FfiResultVoid {
|
||||||
|
pub err: char_p_boxed,
|
||||||
|
}
|
||||||
|
|
||||||
#[ffi_export]
|
#[ffi_export]
|
||||||
fn free_string_result(string_result: FfiResult<char_p_boxed>) {
|
fn free_string_result(string_result: FfiResult<char_p_boxed>) {
|
||||||
drop(string_result)
|
drop(string_result)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[ffi_export]
|
#[ffi_export]
|
||||||
fn free_int_result(int_result: FfiResult<i32>) {
|
fn free_void_result(void_result: FfiResultVoid) {
|
||||||
drop(int_result)
|
drop(void_result)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO do we need this? remove?
|
// TODO do we need this? remove?
|
||||||
|
@ -13,7 +13,7 @@ use blockchain::BlockchainConfig;
|
|||||||
use database::DatabaseConfig;
|
use database::DatabaseConfig;
|
||||||
|
|
||||||
use crate::error::get_name;
|
use crate::error::get_name;
|
||||||
use crate::types::FfiResult;
|
use crate::types::{FfiResult, FfiResultVoid};
|
||||||
use std::ffi::CString;
|
use std::ffi::CString;
|
||||||
|
|
||||||
mod blockchain;
|
mod blockchain;
|
||||||
@ -77,15 +77,13 @@ fn free_wallet_result(wallet_result: FfiResult<Option<Box<OpaqueWallet>>>) {
|
|||||||
// wallet operations
|
// wallet operations
|
||||||
|
|
||||||
#[ffi_export]
|
#[ffi_export]
|
||||||
fn sync_wallet(opaque_wallet: &OpaqueWallet) -> FfiResult<i32> {
|
fn sync_wallet(opaque_wallet: &OpaqueWallet) -> FfiResultVoid {
|
||||||
let int_result = opaque_wallet.raw.sync(log_progress(), Some(100));
|
let int_result = opaque_wallet.raw.sync(log_progress(), Some(100));
|
||||||
match int_result {
|
match int_result {
|
||||||
Ok(_v) => FfiResult {
|
Ok(_v) => FfiResultVoid {
|
||||||
ok: 0,
|
|
||||||
err: char_p_boxed::from(CString::default()),
|
err: char_p_boxed::from(CString::default()),
|
||||||
},
|
},
|
||||||
Err(e) => FfiResult {
|
Err(e) => FfiResultVoid {
|
||||||
ok: -1,
|
|
||||||
err: char_p_boxed::try_from(get_name(&e)).unwrap(),
|
err: char_p_boxed::try_from(get_name(&e)).unwrap(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user