summaryrefslogtreecommitdiffstats
path: root/src/vpp-api/java/jvpp/gen/jvppgen/jvpp_c_gen.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/vpp-api/java/jvpp/gen/jvppgen/jvpp_c_gen.py')
-rw-r--r--src/vpp-api/java/jvpp/gen/jvppgen/jvpp_c_gen.py25
1 files changed, 17 insertions, 8 deletions
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 a02f04d6ce7..df1312a1308 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
@@ -6,7 +6,7 @@
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
-# l
+#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -139,15 +139,19 @@ JNIEXPORT jint JNICALL Java_io_fd_vpp_jvpp_${plugin_name}_JVpp${java_plugin_name
return my_context_id;
}""")
+
def generate_jni_impl(func_list, plugin_name, inputfile):
jni_impl = []
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) or util.is_reply(camel_case_function_name) \
- or util.is_notification(f_name):
+ if is_manually_generated(f_name):
+ # Skip control ping managed by jvpp registry.
+ continue
+ if not (util.is_dump(f_name) or util.is_request(f_name, func_list)):
continue
+ # Generate jni bindings for sending dump and request messages.
arguments = ''
request_class = ''
jni_identifiers = ''
@@ -255,11 +259,12 @@ def generate_msg_handlers(func_list, plugin_name, inputfile):
ref_name = util.underscore_to_camelcase(handler_name)
if is_manually_generated(handler_name):
+ # Skip control ping managed by jvpp registry.
continue
-
- if not util.is_reply(dto_name) and not util.is_notification(handler_name):
+ if util.is_dump(handler_name) or util.is_request(handler_name, func_list):
continue
+ # Generate msg handlers for all messages except for dumps and requests (handled by vpp, not client).
dto_setters = ''
err_handler = ''
# dto setters
@@ -306,12 +311,15 @@ def generate_handler_registration(func_list):
handler_registration = ["#define foreach_api_reply_handler \\\n"]
for f in func_list:
name = f['name']
- camelcase_name = util.underscore_to_camelcase(f['name'])
+ camelcase_name = util.underscore_to_camelcase(name)
- if (not util.is_reply(camelcase_name) and not util.is_notification(name)) \
- or util.is_control_ping(camelcase_name):
+ if util.is_control_ping(camelcase_name):
+ # Skip control ping managed by registry.
+ continue
+ if util.is_dump(name) or util.is_request(name, func_list):
continue
+ # Generate msg handler registration for all messages except for dumps and requests.
handler_registration.append(handler_registration_template.substitute(
name=name,
crc=f['crc']))
@@ -357,6 +365,7 @@ $msg_handlers
$handler_registration
""")
+
def generate_jvpp(func_list, plugin_name, inputfile, path):
""" Generates jvpp C file """
print "Generating jvpp C"