From bcc5d8107d6246f6dcd62dafb1814761515183ff Mon Sep 17 00:00:00 2001 From: d2weber <29163905+d2weber@users.noreply.github.com> Date: Mon, 18 May 2026 13:00:11 +0200 Subject: [PATCH] feat: Add json rpc c++ bindings --- Cargo.lock | 9 ++++----- Cargo.toml | 2 +- deltachat-jsonrpc/c/.gitignore | 1 + deltachat-jsonrpc/src/api.rs | 6 +++++- 4 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 deltachat-jsonrpc/c/.gitignore diff --git a/Cargo.lock b/Cargo.lock index 7f43aff72..c0c33f3bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7332,13 +7332,13 @@ dependencies = [ [[package]] name = "yerpc" version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dc24983fbe850227bfc1de89bf8cbfb3e2463afc322e0de2f155c4c23d06445" +source = "git+https://github.com/d2weber/yerpc.git?branch=d2weber%2Fc_bindings#3ba217a76b458744192d3a66624463787e6a9eee" dependencies = [ "anyhow", "async-channel 1.9.0", "async-lock", "async-trait", + "convert_case", "futures", "futures-util", "log", @@ -7351,9 +7351,8 @@ dependencies = [ [[package]] name = "yerpc_derive" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d8560d021437420316370db865e44c000bf86380b47cf05e49be9d652042bf5" +version = "0.6.4" +source = "git+https://github.com/d2weber/yerpc.git?branch=d2weber%2Fc_bindings#3ba217a76b458744192d3a66624463787e6a9eee" dependencies = [ "convert_case", "darling", diff --git a/Cargo.toml b/Cargo.toml index 4ea9f9886..0640130bd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -204,7 +204,7 @@ thiserror = "2" tokio = "1" tokio-util = "0.7.18" tracing-subscriber = "0.3" -yerpc = "0.6.4" +yerpc = { git="https://github.com/d2weber/yerpc.git", branch="d2weber/c_bindings" } [features] default = ["vendored"] diff --git a/deltachat-jsonrpc/c/.gitignore b/deltachat-jsonrpc/c/.gitignore new file mode 100644 index 000000000..86d4c2dd3 --- /dev/null +++ b/deltachat-jsonrpc/c/.gitignore @@ -0,0 +1 @@ +generated diff --git a/deltachat-jsonrpc/src/api.rs b/deltachat-jsonrpc/src/api.rs index 3bf828850..3557f9ffc 100644 --- a/deltachat-jsonrpc/src/api.rs +++ b/deltachat-jsonrpc/src/api.rs @@ -156,7 +156,11 @@ impl CommandApi { } } -#[rpc(all_positional, ts_outdir = "typescript/generated")] +#[rpc( + all_positional, + ts_outdir = "typescript/generated", + c_outdir = "c/generated" +)] impl CommandApi { /// Test function. async fn sleep(&self, delay: f64) {