diff options
Diffstat (limited to 'src/vpp-api')
-rwxr-xr-x | src/vpp-api/java/jvpp/gen/jvpp_gen.py | 1 | ||||
-rw-r--r-- | src/vpp-api/java/jvpp/gen/jvppgen/callback_gen.py | 4 | ||||
-rw-r--r-- | src/vpp-api/java/jvpp/gen/jvppgen/dto_gen.py | 11 | ||||
-rw-r--r-- | src/vpp-api/java/jvpp/gen/jvppgen/jni_gen.py | 7 | ||||
-rw-r--r-- | src/vpp-api/java/jvpp/gen/jvppgen/jvpp_c_gen.py | 17 | ||||
-rw-r--r-- | src/vpp-api/java/jvpp/gen/jvppgen/jvpp_callback_facade_gen.py | 26 | ||||
-rw-r--r-- | src/vpp-api/java/jvpp/gen/jvppgen/jvpp_future_facade_gen.py | 24 | ||||
-rw-r--r-- | src/vpp-api/java/jvpp/gen/jvppgen/jvpp_impl_gen.py | 7 | ||||
-rw-r--r-- | src/vpp-api/java/jvpp/gen/jvppgen/notification_gen.py | 2 | ||||
-rw-r--r-- | src/vpp-api/java/jvpp/gen/jvppgen/util.py | 31 |
10 files changed, 28 insertions, 102 deletions
diff --git a/src/vpp-api/java/jvpp/gen/jvpp_gen.py b/src/vpp-api/java/jvpp/gen/jvpp_gen.py index 6648a4f7156..ca2d2624d50 100755 --- a/src/vpp-api/java/jvpp/gen/jvpp_gen.py +++ b/src/vpp-api/java/jvpp/gen/jvpp_gen.py @@ -15,7 +15,6 @@ # import argparse -import importlib import sys import os import json diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/callback_gen.py b/src/vpp-api/java/jvpp/gen/jvppgen/callback_gen.py index f0aee47b0f5..e1c31dd6661 100644 --- a/src/vpp-api/java/jvpp/gen/jvppgen/callback_gen.py +++ b/src/vpp-api/java/jvpp/gen/jvppgen/callback_gen.py @@ -17,8 +17,6 @@ import os import util from string import Template -from util import remove_suffix - callback_suffix = "Callback" callback_template = Template(""" @@ -63,7 +61,7 @@ def generate_callbacks(func_list, base_package, plugin_package, plugin_name, cal camel_case_name_with_suffix = util.underscore_to_camelcase_upper(func['name']) - if util.is_ignored(func['name']) or util.is_control_ping(camel_case_name_with_suffix): + if util.is_control_ping(camel_case_name_with_suffix): continue if not util.is_reply(camel_case_name_with_suffix) and not util.is_notification(func['name']): continue diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/dto_gen.py b/src/vpp-api/java/jvpp/gen/jvppgen/dto_gen.py index e94bbc5cb28..5f2cdc2ad05 100644 --- a/src/vpp-api/java/jvpp/gen/jvppgen/dto_gen.py +++ b/src/vpp-api/java/jvpp/gen/jvppgen/dto_gen.py @@ -72,7 +72,7 @@ def generate_dtos(func_list, base_package, plugin_package, plugin_name, dto_pack camel_case_method_name = util.underscore_to_camelcase(func['name']) dto_path = os.path.join(dto_package, camel_case_dto_name + ".java") - if util.is_ignored(func['name']) or util.is_control_ping(camel_case_dto_name): + if util.is_control_ping(camel_case_dto_name): continue fields = generate_dto_fields(camel_case_dto_name, func) @@ -83,7 +83,7 @@ def generate_dtos(func_list, base_package, plugin_package, plugin_name, dto_pack if not util.is_just_notification(func["name"]): if util.is_reply(camel_case_dto_name): description = "reply DTO" - request_dto_name = get_request_name(camel_case_dto_name, func['name']) + request_dto_name = util.remove_reply_suffix(camel_case_dto_name) if util.is_details(camel_case_dto_name): # FIXME assumption that dump calls end with "Dump" suffix. Not enforced in vpe.api base_type += "JVppReply<%s.%s.%s>" % (plugin_package, dto_package, request_dto_name + "Dump") @@ -272,13 +272,6 @@ dump_dto_suffix = "ReplyDump" dump_reply_artificial_dtos = {} -# Returns request name or special one from unconventional_naming_rep_req map -def get_request_name(camel_case_dto_name, func_name): - return util.underscore_to_camelcase_upper( - util.unconventional_naming_rep_req[func_name]) if func_name in util.unconventional_naming_rep_req \ - else util.remove_reply_suffix(camel_case_dto_name) - - def flush_dump_reply_dtos(inputfile): for dump_reply_artificial_dto in dump_reply_artificial_dtos.values(): dto_path = os.path.join(dump_reply_artificial_dto['dto_package'], diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jni_gen.py b/src/vpp-api/java/jvpp/gen/jvppgen/jni_gen.py index cb0d66e85cc..8c8be5b8877 100644 --- a/src/vpp-api/java/jvpp/gen/jvppgen/jni_gen.py +++ b/src/vpp-api/java/jvpp/gen/jvppgen/jni_gen.py @@ -27,9 +27,6 @@ default_dto_field_setter_template = Template(""" (*env)->Set${jni_setter}(env, ${object_name}, ${field_reference_name}FieldId, mp->${c_name}); """) -variable_length_array_value_template = Template("""mp->${length_var_name}""") -variable_length_array_template = Template("""clib_net_to_host_${length_field_type}(${value})""") - u16_dto_field_setter_template = Template(""" (*env)->Set${jni_setter}(env, ${object_name}, ${field_reference_name}FieldId, clib_net_to_host_u16(mp->${c_name})); """) @@ -185,10 +182,6 @@ i32_struct_setter_template = Template(""" u64_struct_setter_template = Template(""" mp->${c_name} = clib_host_to_net_u64(${field_reference_name});""") -array_length_enforcement_template = Template(""" - size_t max_size = ${field_length}; - if (cnt > max_size) cnt = max_size;""") - u8_array_struct_setter_template = Template(""" if (${field_reference_name}) { jsize cnt = (*env)->GetArrayLength (env, ${field_reference_name}); diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_c_gen.py b/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_c_gen.py index e2f6aa4d505..e67b6ecfa5d 100644 --- a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_c_gen.py +++ b/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_c_gen.py @@ -14,13 +14,13 @@ # limitations under the License. # -import os, util +import util from string import Template import jni_gen -def is_manually_generated(f_name, plugin_name): +def is_manually_generated(f_name): return f_name in {'control_ping_reply'} @@ -67,7 +67,7 @@ def generate_class_cache(func_list, plugin_name): class_name = util.underscore_to_camelcase_upper(c_name) ref_name = util.underscore_to_camelcase(c_name) - if util.is_ignored(c_name) or util.is_control_ping(class_name): + if util.is_control_ping(class_name): continue class_references.append(class_reference_template.substitute( @@ -144,8 +144,8 @@ def generate_jni_impl(func_list, plugin_name, inputfile): for f in func_list: f_name = f['name'] camel_case_function_name = util.underscore_to_camelcase(f_name) - if is_manually_generated(f_name, plugin_name) or util.is_reply(camel_case_function_name) \ - or util.is_ignored(f_name) or util.is_just_notification(f_name): + if is_manually_generated(f_name) or util.is_reply(camel_case_function_name) \ + or util.is_just_notification(f_name): continue arguments = '' @@ -254,7 +254,7 @@ def generate_msg_handlers(func_list, plugin_name, inputfile): dto_name = util.underscore_to_camelcase_upper(handler_name) ref_name = util.underscore_to_camelcase(handler_name) - if is_manually_generated(handler_name, plugin_name) or util.is_ignored(handler_name): + if is_manually_generated(handler_name): continue if not util.is_reply(dto_name) and not util.is_notification(handler_name): @@ -308,7 +308,7 @@ def generate_handler_registration(func_list): name = f['name'] camelcase_name = util.underscore_to_camelcase(f['name']) - if (not util.is_reply(camelcase_name) and not util.is_notification(name)) or util.is_ignored(name) \ + if (not util.is_reply(camelcase_name) and not util.is_notification(name)) \ or util.is_control_ping(camelcase_name): continue @@ -328,9 +328,6 @@ def generate_api_verification(func_list): for f in func_list: name = f['name'] - if util.is_ignored(name): - continue - api_verification.append(api_verification_template.substitute( name=name, crc=f['crc'])) diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_callback_facade_gen.py b/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_callback_facade_gen.py index 53e9f49e029..f2659871f2f 100644 --- a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_callback_facade_gen.py +++ b/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_callback_facade_gen.py @@ -17,7 +17,6 @@ import os, util from string import Template import callback_gen -import dto_gen jvpp_ifc_template = Template(""" package $plugin_package.$callback_facade_package; @@ -112,7 +111,7 @@ def generate_jvpp(func_list, base_package, plugin_package, plugin_name, dto_pack methods_impl = [] for func in func_list: - if util.is_notification(func['name']) or util.is_ignored(func['name']): + if util.is_notification(func['name']): continue camel_case_name = util.underscore_to_camelcase(func['name']) @@ -121,10 +120,10 @@ def generate_jvpp(func_list, base_package, plugin_package, plugin_name, dto_pack continue # Strip suffix for dump calls - callback_type = get_request_name(camel_case_name_upper, func['name']) - if (util.is_dump(camel_case_name_upper)): + callback_type = get_request_name(camel_case_name_upper) + if util.is_dump(camel_case_name_upper): callback_type += "Details" - elif (not util.is_notification(camel_case_name_upper)): + elif not util.is_notification(camel_case_name_upper): callback_type += "Reply" callback_type += callback_gen.callback_suffix @@ -282,7 +281,7 @@ def generate_callback(func_list, base_package, plugin_package, plugin_name, dto_ camel_case_name_with_suffix = util.underscore_to_camelcase_upper(func['name']) - if util.is_ignored(func['name']) or util.is_control_ping(camel_case_name_with_suffix): + if util.is_control_ping(camel_case_name_with_suffix): continue if util.is_reply(camel_case_name_with_suffix): @@ -314,18 +313,9 @@ def generate_callback(func_list, base_package, plugin_package, plugin_name, dto_ jvpp_file.close() -# Returns request name or special one from unconventional_naming_rep_req map -def get_request_name(camel_case_dto_name, func_name): - if func_name in reverse_dict(util.unconventional_naming_rep_req): - request_name = util.underscore_to_camelcase_upper(reverse_dict(util.unconventional_naming_rep_req)[func_name]) - else: - request_name = camel_case_dto_name - return remove_suffix(request_name) - - -def reverse_dict(map): - return dict((v, k) for k, v in map.iteritems()) - +# Returns request name +def get_request_name(camel_case_dto_name): + return remove_suffix(camel_case_dto_name) def remove_suffix(name): if util.is_reply(name): diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_future_facade_gen.py b/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_future_facade_gen.py index a45a532d7f2..e1bb43b9a65 100644 --- a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_future_facade_gen.py +++ b/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_future_facade_gen.py @@ -169,7 +169,7 @@ def generate_jvpp(func_list, base_package, plugin_package, plugin_name, dto_pack for func in func_list: camel_case_name_with_suffix = util.underscore_to_camelcase_upper(func['name']) - if util.is_ignored(func['name']) or util.is_control_ping(camel_case_name_with_suffix): + if util.is_control_ping(camel_case_name_with_suffix): continue if not util.is_reply(camel_case_name_with_suffix) and not util.is_notification(func['name']): @@ -181,8 +181,7 @@ def generate_jvpp(func_list, base_package, plugin_package, plugin_name, dto_pack camel_case_request_method_name = util.remove_reply_suffix(util.underscore_to_camelcase(func['name'])) request_dto = util.remove_reply_suffix(util.underscore_to_camelcase_upper(func['name'])) if util.is_details(camel_case_name_with_suffix): - camel_case_reply_name = get_standard_dump_reply_name(util.underscore_to_camelcase_upper(func['name']), - func['name']) + camel_case_reply_name = util.underscore_to_camelcase_upper(func['name']) callbacks.append(jvpp_facade_details_callback_method_template.substitute(base_package=base_package, plugin_package=plugin_package, dto_package=dto_package, @@ -206,8 +205,7 @@ def generate_jvpp(func_list, base_package, plugin_package, plugin_name, dto_pack request_name=util.remove_reply_suffix(camel_case_reply_name) + util.underscore_to_camelcase_upper(util.dump_suffix))) else: - request_name = util.underscore_to_camelcase_upper(util.unconventional_naming_rep_req[func['name']]) \ - if func['name'] in util.unconventional_naming_rep_req else util.remove_reply_suffix(camel_case_name_with_suffix) + request_name = util.remove_reply_suffix(camel_case_name_with_suffix) methods.append(future_jvpp_method_template.substitute(plugin_package=plugin_package, dto_package=dto_package, @@ -339,19 +337,3 @@ future_jvpp_dump_method_impl_template = Template(''' return send(request, new $plugin_package.$dto_package.$reply_name()); } ''') - - -# Returns request name or special one from unconventional_naming_rep_req map -def get_standard_dump_reply_name(camel_case_dto_name, func_name): - # FIXME this is a hotfix for sub-details callbacks - # FIXME also for L2FibTableEntry - # It's all because unclear mapping between - # request -> reply, - # dump -> reply, details, - # notification_start -> reply, notifications - - # vpe.api needs to be "standardized" so we can parse the information and create maps before generating java code - suffix = func_name.split("_")[-1] - return util.underscore_to_camelcase_upper( - util.unconventional_naming_rep_req[func_name]) + util.underscore_to_camelcase_upper(suffix) if func_name in util.unconventional_naming_rep_req \ - else camel_case_dto_name diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_impl_gen.py b/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_impl_gen.py index f802ee27014..c2b8ebbf574 100644 --- a/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_impl_gen.py +++ b/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_impl_gen.py @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os, util +import util from string import Template jvpp_ifc_template = Template(""" @@ -173,11 +173,6 @@ def generate_jvpp(func_list, base_package, plugin_package, plugin_name_underscor methods = [] methods_impl = [] for func in func_list: - - # Skip structures that are used only as notifications - if util.is_ignored(func['name']): - continue - camel_case_name = util.underscore_to_camelcase(func['name']) camel_case_name_upper = util.underscore_to_camelcase_upper(func['name']) if util.is_reply(camel_case_name): diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/notification_gen.py b/src/vpp-api/java/jvpp/gen/jvppgen/notification_gen.py index 96111193f07..6da58c2e12c 100644 --- a/src/vpp-api/java/jvpp/gen/jvppgen/notification_gen.py +++ b/src/vpp-api/java/jvpp/gen/jvppgen/notification_gen.py @@ -178,7 +178,7 @@ def generate_notification_registry(func_list, base_package, plugin_package, plug callback_file = open(os.path.join(notification_package, "Global%sEventCallback.java" % plugin_name), 'w') global_notification_callback_callbacks = "" - if (callbacks): + if callbacks: global_notification_callback_callbacks = " extends " + ", ".join(callbacks) callback_file.write(global_notification_callback_template.substitute(inputfile=inputfile, diff --git a/src/vpp-api/java/jvpp/gen/jvppgen/util.py b/src/vpp-api/java/jvpp/gen/jvppgen/util.py index 48645246596..6c2ffbc420c 100644 --- a/src/vpp-api/java/jvpp/gen/jvppgen/util.py +++ b/src/vpp-api/java/jvpp/gen/jvppgen/util.py @@ -35,16 +35,15 @@ def remove_folder(folder): removedirs(folder) -reply_suffixes = ("reply", "details", "l2fibtableentry") +reply_suffixes = ("reply", "details") def is_reply(name): return name.lower().endswith(reply_suffixes) -details_suffix = "details" def is_details(name): - return name.lower().endswith(reply_suffixes[1]) or name.lower().endswith(reply_suffixes[2]) + return name.lower().endswith(reply_suffixes[1]) def is_retval_field(name): @@ -60,11 +59,7 @@ def is_dump(name): def get_reply_suffix(name): for reply_suffix in reply_suffixes: if name.lower().endswith(reply_suffix): - if reply_suffix == reply_suffixes[2]: - # FIXME workaround for l2_fib_table_entry - return 'entry' - else: - return reply_suffix + return reply_suffix # Mapping according to: # http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/types.html @@ -94,7 +89,7 @@ jni_2_java_type_mapping = {'u8': 'byte', vpp_2_jni_type_mapping = {'u8': 'jbyte', 'u8[]': 'jbyteArray', 'i8': 'jbyte', - 'u8[]': 'jbyteArray', + 'i8[]': 'jbyteArray', 'u16': 'jshort', 'u16[]': 'jshortArray', 'i16': 'jshort', @@ -153,21 +148,9 @@ jni_field_accessors = {'u8': 'ByteField', 'f64[]': 'ObjectField' } - -# vpe.api calls that do not follow naming conventions and have to be handled exceptionally when finding reply -> request mapping -# FIXME in vpe.api -unconventional_naming_rep_req = { - } - -# # FIXME no convention in the naming of events (notifications) in vpe.api notifications_message_suffixes = ("event", "counters") -# messages that must be ignored. These messages are INSUFFICIENTLY marked as disabled in vpe.api -# FIXME -ignored_messages = [] - - def is_notification(name): """ Returns true if the structure is a notification regardless of its no other use """ return is_just_notification(name) @@ -178,10 +161,6 @@ def is_just_notification(name): return name.lower().endswith(notifications_message_suffixes) -def is_ignored(param): - return param.lower() in ignored_messages - - def remove_reply_suffix(camel_case_name_with_suffix): return remove_suffix(camel_case_name_with_suffix, get_reply_suffix(camel_case_name_with_suffix)) @@ -194,7 +173,7 @@ def remove_suffix(camel_case_name_with_suffix, suffix): def is_control_ping(camel_case_name_with_suffix): - return camel_case_name_with_suffix.lower().startswith("controlping"); + return camel_case_name_with_suffix.lower().startswith("controlping") def api_message_to_javadoc(api_message): |