use std::ffi::c_char;
use std::os::raw::c_void;
use crate::ffi::FfiResult;
#[repr(C)]
pub struct NodeAppContext {
pub host_data: *const c_void,
pub host_log: unsafe extern "C" fn(host_data: *const c_void, level: u32, message: *const c_char),
pub host_get_config:
unsafe extern "C" fn(host_data: *const c_void, key: *const c_char) -> *const c_char,
pub host_set_storage: unsafe extern "C" fn(
host_data: *const c_void,
key: *const c_char,
value: *const c_char,
),
pub host_get_storage:
unsafe extern "C" fn(host_data: *const c_void, key: *const c_char) -> *const c_char,
pub host_invoke_capability: unsafe extern "C" fn(
host_data: *const c_void,
request_json: *const u8,
request_len: usize,
) -> FfiResult,
pub host_publish_event: unsafe extern "C" fn(
host_data: *const c_void,
event_name: *const u8,
event_name_len: usize,
event_data: *const u8,
event_data_len: usize,
) -> i32,
}