diff options
author | Marek Gradzki <mgradzki@cisco.com> | 2016-06-15 16:38:33 +0200 |
---|---|---|
committer | Dave Wallace <dwallacelf@gmail.com> | 2016-06-24 13:23:16 +0000 |
commit | fa42e25c4e498c57e15ebb0ded56502a61b7dc08 (patch) | |
tree | a6a79850ddab1e962c9f639050a09925fe57c9f0 /vpp-api/java/jvpp/gen/jvpp_gen.py | |
parent | 80ee21386cea217d0e9292d2a8b15ea88bf99d30 (diff) |
VPP-118: add support for variable length arrays to jvpp
* extends VPP's message definition language with the following syntax:
u32 count:
u8 array[count];
which is traslated to:
u32 count;
u8 array[0];
but now, python API representation generated by vppapigen
contains information about where the array length is stored.
* modifies existing response messages to use the new syntax
Change-Id: I68210bc7a3a755d03d067e9b79a567f40e2d31f3
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'vpp-api/java/jvpp/gen/jvpp_gen.py')
-rwxr-xr-x | vpp-api/java/jvpp/gen/jvpp_gen.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/vpp-api/java/jvpp/gen/jvpp_gen.py b/vpp-api/java/jvpp/gen/jvpp_gen.py index c08593e180f..26bcea1523a 100755 --- a/vpp-api/java/jvpp/gen/jvpp_gen.py +++ b/vpp-api/java/jvpp/gen/jvpp_gen.py @@ -80,11 +80,15 @@ def get_types(t, filter): if len(i) is 3: # array type types_list.append(vpp_2_jni_type_mapping[i[0]] + 'Array') c_types_list.append(i[0] + '[]') - lengths_list.append(i[2]) + lengths_list.append((i[2], False)) + elif len(i) is 4: # variable length array type + types_list.append(vpp_2_jni_type_mapping[i[0]] + 'Array') + c_types_list.append(i[0] + '[]') + lengths_list.append((i[3], True)) else: # primitive type types_list.append(vpp_2_jni_type_mapping[i[0]]) c_types_list.append(i[0]) - lengths_list.append(0) + lengths_list.append((0, False)) return types_list, c_types_list, lengths_list |