From c7b284ef5deb5af4b99e64b7c7e1b7d01d7ae33b Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Fri, 23 Dec 2022 20:24:00 +0000 Subject: [PATCH] Support new upstream manually-mapped types --- c-bindings-gen/src/types.rs | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/c-bindings-gen/src/types.rs b/c-bindings-gen/src/types.rs index 7132918..b13db9e 100644 --- a/c-bindings-gen/src/types.rs +++ b/c-bindings-gen/src/types.rs @@ -1026,10 +1026,12 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> { if !is_ref => Some("crate::c_types::ThirtyTwoBytes"), "bitcoin::secp256k1::Message" if !is_ref => Some("crate::c_types::ThirtyTwoBytes"), "lightning::ln::PaymentHash"|"lightning::ln::PaymentPreimage"|"lightning::ln::PaymentSecret" - |"lightning::ln::channelmanager::PaymentId"|"lightning::chain::keysinterface::KeyMaterial" + |"lightning::ln::channelmanager::PaymentId"|"lightning::ln::channelmanager::InterceptId" + |"lightning::chain::keysinterface::KeyMaterial" if is_ref => Some("*const [u8; 32]"), "lightning::ln::PaymentHash"|"lightning::ln::PaymentPreimage"|"lightning::ln::PaymentSecret" - |"lightning::ln::channelmanager::PaymentId"|"lightning::chain::keysinterface::KeyMaterial" + |"lightning::ln::channelmanager::PaymentId"|"lightning::ln::channelmanager::InterceptId" + |"lightning::chain::keysinterface::KeyMaterial" if !is_ref => Some("crate::c_types::ThirtyTwoBytes"), "lightning::io::Read" => Some("crate::c_types::u8slice"), @@ -1126,6 +1128,8 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> { "lightning::ln::PaymentSecret" if !is_ref => Some("::lightning::ln::PaymentSecret("), "lightning::ln::channelmanager::PaymentId" if !is_ref => Some("::lightning::ln::channelmanager::PaymentId("), "lightning::ln::channelmanager::PaymentId" if is_ref=> Some("&::lightning::ln::channelmanager::PaymentId( unsafe { *"), + "lightning::ln::channelmanager::InterceptId" if !is_ref => Some("::lightning::ln::channelmanager::InterceptId("), + "lightning::ln::channelmanager::InterceptId" if is_ref=> Some("&::lightning::ln::channelmanager::InterceptId( unsafe { *"), "lightning::chain::keysinterface::KeyMaterial" if !is_ref => Some("::lightning::chain::keysinterface::KeyMaterial("), "lightning::chain::keysinterface::KeyMaterial" if is_ref=> Some("&::lightning::chain::keysinterface::KeyMaterial( unsafe { *"), @@ -1203,10 +1207,12 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> { "bitcoin::hash_types::Txid" => Some(".data[..]).unwrap()"), "bitcoin::hash_types::BlockHash" if !is_ref => Some(".data[..]).unwrap()"), "lightning::ln::PaymentHash"|"lightning::ln::PaymentPreimage"|"lightning::ln::PaymentSecret" - |"lightning::ln::channelmanager::PaymentId"|"lightning::chain::keysinterface::KeyMaterial" + |"lightning::ln::channelmanager::PaymentId"|"lightning::ln::channelmanager::InterceptId" + |"lightning::chain::keysinterface::KeyMaterial" if !is_ref => Some(".data)"), "lightning::ln::PaymentHash"|"lightning::ln::PaymentPreimage"|"lightning::ln::PaymentSecret" - |"lightning::ln::channelmanager::PaymentId"|"lightning::chain::keysinterface::KeyMaterial" + |"lightning::ln::channelmanager::PaymentId"|"lightning::ln::channelmanager::InterceptId" + |"lightning::chain::keysinterface::KeyMaterial" if is_ref => Some(" })"), // List of traits we map (possibly during processing of other files): @@ -1303,10 +1309,12 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> { if !is_ref => Some("crate::c_types::ThirtyTwoBytes { data: "), "bitcoin::secp256k1::Message" if !is_ref => Some("crate::c_types::ThirtyTwoBytes { data: "), "lightning::ln::PaymentHash"|"lightning::ln::PaymentPreimage"|"lightning::ln::PaymentSecret" - |"lightning::ln::channelmanager::PaymentId"|"lightning::chain::keysinterface::KeyMaterial" + |"lightning::ln::channelmanager::PaymentId"|"lightning::ln::channelmanager::InterceptId" + |"lightning::chain::keysinterface::KeyMaterial" if is_ref => Some("&"), "lightning::ln::PaymentHash"|"lightning::ln::PaymentPreimage"|"lightning::ln::PaymentSecret" - |"lightning::ln::channelmanager::PaymentId"|"lightning::chain::keysinterface::KeyMaterial" + |"lightning::ln::channelmanager::PaymentId"|"lightning::ln::channelmanager::InterceptId" + |"lightning::chain::keysinterface::KeyMaterial" if !is_ref => Some("crate::c_types::ThirtyTwoBytes { data: "), "lightning::io::Read" => Some("crate::c_types::u8slice::from_vec(&crate::c_types::reader_to_vec("), @@ -1384,10 +1392,12 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> { if !is_ref => Some(".into_inner() }"), "bitcoin::secp256k1::Message" if !is_ref => Some(".as_ref().clone() }"), "lightning::ln::PaymentHash"|"lightning::ln::PaymentPreimage"|"lightning::ln::PaymentSecret" - |"lightning::ln::channelmanager::PaymentId"|"lightning::chain::keysinterface::KeyMaterial" + |"lightning::ln::channelmanager::PaymentId"|"lightning::ln::channelmanager::InterceptId" + |"lightning::chain::keysinterface::KeyMaterial" if is_ref => Some(".0"), "lightning::ln::PaymentHash"|"lightning::ln::PaymentPreimage"|"lightning::ln::PaymentSecret" - |"lightning::ln::channelmanager::PaymentId"|"lightning::chain::keysinterface::KeyMaterial" + |"lightning::ln::channelmanager::PaymentId"|"lightning::ln::channelmanager::InterceptId" + |"lightning::chain::keysinterface::KeyMaterial" if !is_ref => Some(".0 }"), "lightning::io::Read" => Some("))"), -- 2.30.2