feat(sdk): add Java and Ruby SDK wrappers over C FFI

Java SDK: JNI bindings to libquicproquo_ffi with QpqClient class,
Gradle build, and exception hierarchy matching Kotlin SDK.

Ruby SDK: FFI gem wrapping libquicproquo_ffi with Client class,
block-form auto-disconnect, gemspec for RubyGems publishing,
and example script.
This commit is contained in:
2026-03-04 21:00:20 +01:00
parent 3f5a3a5ac8
commit 12717979ba
15 changed files with 619 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
# frozen_string_literal: true
require_relative "quicproquo/ffi_bindings"
require_relative "quicproquo/client"
require_relative "quicproquo/errors"
require_relative "quicproquo/version"
# Ruby SDK for the quicproquo E2E encrypted messenger.
#
# Two usage patterns:
#
# # Block form (auto-disconnect)
# QuicProQuo::Client.open("127.0.0.1:5001", ca_cert: "ca.pem") do |client|
# client.login("alice", "secret")
# client.send("bob", "hello")
# end
#
# # Manual lifecycle
# client = QuicProQuo::Client.new("127.0.0.1:5001", ca_cert: "ca.pem")
# client.login("alice", "secret")
# client.disconnect
module QuicProQuo
end