summaryrefslogtreecommitdiffstats
path: root/vpp-api/java/jvpp/gen/jvpp_gen.py
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2016-06-15 16:38:33 +0200
committerDave Wallace <dwallacelf@gmail.com>2016-06-24 13:23:16 +0000
commitfa42e25c4e498c57e15ebb0ded56502a61b7dc08 (patch)
treea6a79850ddab1e962c9f639050a09925fe57c9f0 /vpp-api/java/jvpp/gen/jvpp_gen.py
parent80ee21386cea217d0e9292d2a8b15ea88bf99d30 (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-xvpp-api/java/jvpp/gen/jvpp_gen.py8
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