diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-04-10 15:51:44 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-04-11 14:07:45 -0300 |
commit | 35ff53c6b0a98f6376cca5f42ab96499e4b476b6 (patch) | |
tree | 6f3a406846587d3c3ff250b36bfe6ff51e0d5c69 /src/quickfix.c | |
parent | 6eeb006c4a225d4b1b9bb7d887759bcb491b2c97 (diff) | |
download | rneovim-35ff53c6b0a98f6376cca5f42ab96499e4b476b6.tar.gz rneovim-35ff53c6b0a98f6376cca5f42ab96499e4b476b6.tar.bz2 rneovim-35ff53c6b0a98f6376cca5f42ab96499e4b476b6.zip |
Add `msgpack_rpc_dispatch`/metadata generator
This adds a lua script which parses the contents of 'api.h'. After the api is
parsed into a metadata table. After that, it will generate:
- A msgpack blob for the metadata table. This msgpack object contains everything
scripting engines need to generate their own wrappers for the remote API.
- The `msgpack_rpc_dispatch` function, which takes care of validating msgpack
requests, converting arguments to C types and passing control to the
appropriate 'api.h' function. The result is then serialized back to msgpack
and returned to the client.
This approach was used because:
- It automatically modifies `msgpack_rpc_dispatch` to reflect API changes.
- Scripting engines that generate remote call wrappers using the msgpack
metadata will also adapt automatically to API changes
Diffstat (limited to 'src/quickfix.c')
0 files changed, 0 insertions, 0 deletions