diff options
author | Ole Troan <ot@cisco.com> | 2016-12-02 12:53:55 +0100 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2016-12-02 13:35:46 +0000 |
commit | a03f4efa92eb805d627e2f2f0cf55f70ea17c2fb (patch) | |
tree | ced6731033f6e58cb73b25cbdbd353263999ab0d /vpp-api/python/vpp_papi/vpp_api_base.py | |
parent | 58290ea2f6364fdc6f0dd9c201d6d0b84025f3d3 (diff) |
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 <ot@cisco.com>
Diffstat (limited to 'vpp-api/python/vpp_papi/vpp_api_base.py')
-rw-r--r-- | vpp-api/python/vpp_papi/vpp_api_base.py | 97 |
1 files changed, 0 insertions, 97 deletions
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) |