From a03f4efa92eb805d627e2f2f0cf55f70ea17c2fb Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Fri, 2 Dec 2016 12:53:55 +0100 Subject: Python API: Support for per message CRC and API split. These changes are incompatible with Python VPP API 1.2 There is now a new VPP Class and it can be used like: from vpp_papi import VPP jsonfiles = [] for root, dirnames, filenames in os.walk('../../../build-root/'): if root.find('install-') == -1: continue for filename in fnmatch.filter(filenames, '*.api.json'): jsonfiles.append(os.path.join(root, filename)) vpp = VPP(jsonfiles) rv = vpp.show_version() print('RV', rv.program.decode().rstrip('\0x00')) vpp.disconnect() Change-Id: Ic92d226de2cf3626e750404012247e7fc24fb7fc Signed-off-by: Ole Troan --- vpp-api/python/vpp_papi/vpp_api_base.py | 97 --------------------------------- 1 file changed, 97 deletions(-) delete mode 100644 vpp-api/python/vpp_papi/vpp_api_base.py (limited to 'vpp-api/python/vpp_papi/vpp_api_base.py') diff --git a/vpp-api/python/vpp_papi/vpp_api_base.py b/vpp-api/python/vpp_papi/vpp_api_base.py deleted file mode 100644 index 227257fc..00000000 --- a/vpp-api/python/vpp_papi/vpp_api_base.py +++ /dev/null @@ -1,97 +0,0 @@ -# -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# 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. -# See the License for the specific language governing permissions and -# limitations under the License. - -# -# Module storing all global variables, shared between main module and plugins -# -import threading - -# -# Global variables -# -results = {} -waiting_for_reply = False -plugins = {} - -class ContextId(object): - def __init__(self): - self.context = 0 - def __call__(self, id): - self.context += 1 - return self.context -get_context = ContextId() - -def waiting_for_reply_clear(): - global waiting_for_reply - waiting_for_reply = False - -def waiting_for_reply_set(): - global waiting_for_reply - waiting_for_reply = True - -def is_waiting_for_reply(): - return waiting_for_reply - -def event_callback_set(callback): - global event_callback - event_callback = callback - -def event_callback_call(r): - global event_callback - event_callback(r) - -def results_event_set(context): - results[context]['e'].set() - -def results_event_clear(context): - results[context]['e'].clear() - -def results_event_wait(context, timeout): - return (results[context]['e'].wait(timeout)) - -def results_set(context, r): - results[context]['r'] = r - -def results_append(context, r): - results[context]['r'].append(r) - -def is_results_context(context): - return context in results - -def is_results_more(context): - return 'm' in results[context] - -def results_more_set(context): - results[context]['m'] = True - -def results_prepare(context): - results[context] = {} - results[context]['e'] = threading.Event() - results[context]['e'].clear() - results[context]['r'] = [] - -def results_get(context): - return results[context]['r'] - -def plugin_register(name, func_table, name_to_id_table, version, msg_id_base_set): - plugins[name] = {} - p = plugins[name] - p['func_table'] = func_table - p['name_to_id_table'] = name_to_id_table - p['version'] = version - p['msg_id_base_set'] = msg_id_base_set - -def plugin_show(): - for p in plugins: - print(p) -- cgit 1.2.3-korg