mirror of
https://github.com/chatmail/core.git
synced 2026-05-04 13:56:30 +03:00
Simplify dc_jsonrpc_init
This commit is contained in:
@@ -4607,33 +4607,22 @@ mod jsonrpc {
|
|||||||
return ptr::null_mut();
|
return ptr::null_mut();
|
||||||
}
|
}
|
||||||
|
|
||||||
let cmd_api =
|
let account_manager = &*account_manager;
|
||||||
deltachat_jsonrpc::api::CommandApi::from_arc((*account_manager).inner.clone());
|
let events = block_on(account_manager.read()).get_event_emitter();
|
||||||
|
let cmd_api = deltachat_jsonrpc::api::CommandApi::from_arc(account_manager.inner.clone());
|
||||||
|
|
||||||
let (request_handle, receiver) = RpcClient::new();
|
let (request_handle, receiver) = RpcClient::new();
|
||||||
let request_handle2 = request_handle.clone();
|
let handle = RpcSession::new(request_handle.clone(), cmd_api);
|
||||||
let handle = RpcSession::new(request_handle, cmd_api);
|
|
||||||
|
|
||||||
let events = block_on({
|
let event_thread = spawn(async move {
|
||||||
async {
|
while let Some(event) = events.recv().await {
|
||||||
let am = (*account_manager).inner.clone();
|
let event = event_to_json_rpc_notification(event);
|
||||||
let ev = am.read().await.get_event_emitter();
|
request_handle
|
||||||
drop(am);
|
.send_notification("event", Some(event))
|
||||||
ev
|
.await?;
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
let event_thread = spawn({
|
|
||||||
async move {
|
|
||||||
while let Some(event) = events.recv().await {
|
|
||||||
let event = event_to_json_rpc_notification(event);
|
|
||||||
request_handle2
|
|
||||||
.send_notification("event", Some(event))
|
|
||||||
.await?;
|
|
||||||
}
|
|
||||||
let res: Result<(), anyhow::Error> = Ok(());
|
|
||||||
res
|
|
||||||
}
|
}
|
||||||
|
let res: Result<(), anyhow::Error> = Ok(());
|
||||||
|
res
|
||||||
});
|
});
|
||||||
|
|
||||||
let instance = dc_jsonrpc_instance_t {
|
let instance = dc_jsonrpc_instance_t {
|
||||||
|
|||||||
Reference in New Issue
Block a user