linux flutter example with bridge to rust and build system

This commit is contained in:
John Smith
2022-01-29 13:23:10 -05:00
parent cbffc381c1
commit 0c6aa6d439
14 changed files with 370 additions and 71 deletions

View File

@@ -42,7 +42,7 @@ async fn take_veilid_api() -> Result<veilid_core::VeilidAPI> {
#[allow(non_snake_case)]
pub struct VeilidConfig {
pub program_name: String,
pub namespace: String,
pub veilid_namespace: String,
// Capabilities
pub capabilities__protocol_udp: bool,
pub capabilities__protocol_connect_tcp: bool,
@@ -126,7 +126,7 @@ impl VeilidConfig {
pub fn get_by_str(&self, key: &str) -> std::result::Result<Box<dyn std::any::Any + Send + 'static>, String> {
let out: Box<dyn core::any::Any + Send> = match key {
"program_name" => Box::new(self.program_name.clone()),
"namespace" => Box::new(self.namespace.clone()),
"namespace" => Box::new(self.veilid_namespace.clone()),
"capabilities.protocol_udp" => Box::new(self.capabilities__protocol_udp.clone()),
"capabilities.protocol_connect_tcp" => Box::new(self.capabilities__protocol_connect_tcp.clone()),
"capabilities.protocol_accept_tcp" => Box::new(self.capabilities__protocol_accept_tcp.clone()),

View File

@@ -96,7 +96,7 @@ pub struct wire_uint_8_list {
#[derive(Clone)]
pub struct wire_VeilidConfig {
program_name: *mut wire_uint_8_list,
namespace: *mut wire_uint_8_list,
veilid_namespace: *mut wire_uint_8_list,
capabilities__protocol_udp: bool,
capabilities__protocol_connect_tcp: bool,
capabilities__protocol_accept_tcp: bool,
@@ -275,7 +275,7 @@ impl Wire2Api<VeilidConfig> for wire_VeilidConfig {
fn wire2api(self) -> VeilidConfig {
VeilidConfig {
program_name: self.program_name.wire2api(),
namespace: self.namespace.wire2api(),
veilid_namespace: self.veilid_namespace.wire2api(),
capabilities__protocol_udp: self.capabilities__protocol_udp.wire2api(),
capabilities__protocol_connect_tcp: self.capabilities__protocol_connect_tcp.wire2api(),
capabilities__protocol_accept_tcp: self.capabilities__protocol_accept_tcp.wire2api(),
@@ -404,7 +404,7 @@ impl NewWithNullPtr for wire_VeilidConfig {
fn new_with_null_ptr() -> Self {
Self {
program_name: core::ptr::null_mut(),
namespace: core::ptr::null_mut(),
veilid_namespace: core::ptr::null_mut(),
capabilities__protocol_udp: Default::default(),
capabilities__protocol_connect_tcp: Default::default(),
capabilities__protocol_accept_tcp: Default::default(),