From c36a2daacfbb3ede2f86f0f39d6df4646504c5dc Mon Sep 17 00:00:00 2001 From: lezhan Date: Thu, 9 Jan 2025 07:08:09 +0000 Subject: [PATCH] add std::vector types variables into swig file for avoiding raw swig files generation. --- src/java/commissioner.i | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/src/java/commissioner.i b/src/java/commissioner.i index bc037df0..ad141b32 100644 --- a/src/java/commissioner.i +++ b/src/java/commissioner.i @@ -36,6 +36,11 @@ %module(directors="1") commissionerModule +// Tells SWIG to use const T& paramters for setters of struct member fields. +// This allows generated java code to accept immutable objects for setters. +// See https://www.swig.org/Doc4.0/SWIGDocumentation.html#SWIGPlus_member_data +%naturalvar; + %{ #include #include @@ -45,9 +50,9 @@ %} %include -%include -%include -%include +%include "base/swig/google.swig" +%include "base/swig/java/vector.swig" + %include // This is intentional. @@ -63,7 +68,7 @@ // `signed char` for `uint8_t` in only context of `std::vector`. %apply signed char { uint8_t }; %apply const signed char & { const uint8_t & }; -%template(ByteArray) std::vector; +VECTOR(uint8_t) // Override the typemap of `uint8_t`. %apply unsigned char { uint8_t }; @@ -98,11 +103,15 @@ %feature("director") ot::commissioner::CommissionerHandler; %feature("director") ot::commissioner::Logger; -%template(ChannelMask) std::vector; -%template(StringVector) std::vector; -%template(ChildIpv6AddrInfoVector) std::vector; -%template(ChildTableEntryVector) std::vector; -%template(RouteDataEntryVector) std::vector; +VECTOR(ot::commissioner::ChannelMaskEntry) +VECTOR(std::string) +VECTOR(ot::commissioner::ChildIpv6AddrInfo) +VECTOR(ot::commissioner::ChildTableEntry) +VECTOR(ot::commissioner::RouteDataEntry) +VECTOR(ot::commissioner::HasRouteEntry) +VECTOR(ot::commissioner::BorderRouterEntry) +VECTOR(ot::commissioner::SixLowPanContext) +VECTOR(ot::commissioner::PrefixEntry) %typemap(jstype) std::string& OUTPUT "String[]" %typemap(jtype) std::string& OUTPUT "String[]" @@ -193,9 +202,9 @@ namespace commissioner { } } -%include -%include -%include -%include -%include -%include +%include "third_party/ot_commissioner/include/commissioner/defines.hpp" +%include "third_party/ot_commissioner/include/commissioner/error.hpp" +%include "third_party/ot_commissioner/include/commissioner/network_data.hpp" +%include "third_party/ot_commissioner/include/commissioner/network_diag_data.hpp" +%include "third_party/ot_commissioner/include/commissioner/commissioner.hpp" +%include "third_party/ot_commissioner/include/commissioner/commissioner.hpp"