Difference between revisions of "Input/output API revamp"
Jump to navigation
Jump to search
(Created page with "== Problem == * Not all parts of the input and output APIs have clearly defined documentation, for example regarding memory allocation. * Neither API exposes the parameters t...") |
|||
Line 5: | Line 5: | ||
* Some of the output modules are still stuck on the very old API, which limits their usefulness. | * Some of the output modules are still stuck on the very old API, which limits their usefulness. | ||
* The lack of a well-thought out API for these is holding back the spinoff of these into libsigrokfile, which could be a very interesting project itself. | * The lack of a well-thought out API for these is holding back the spinoff of these into libsigrokfile, which could be a very interesting project itself. | ||
== Ideas == | |||
* Clearly, we'll want to stick with what we've done for drivers where exposing parameters is concerned. That means: | |||
** An enum list like SR_CONF_* for the options, though not SR_CONF itself, as this would stop it from spinning off from libsigrok. | |||
** A meta structure like sr_config_info to expose short and long names and descriptions for all the keys. | |||
** GVariant as the mechanism to pass strongly typed values back and forth. |
Latest revision as of 23:48, 9 May 2013
Problem
- Not all parts of the input and output APIs have clearly defined documentation, for example regarding memory allocation.
- Neither API exposes the parameters they can take, let alone any meta-information about them.
- Some of the output modules are still stuck on the very old API, which limits their usefulness.
- The lack of a well-thought out API for these is holding back the spinoff of these into libsigrokfile, which could be a very interesting project itself.
Ideas
- Clearly, we'll want to stick with what we've done for drivers where exposing parameters is concerned. That means:
- An enum list like SR_CONF_* for the options, though not SR_CONF itself, as this would stop it from spinning off from libsigrok.
- A meta structure like sr_config_info to expose short and long names and descriptions for all the keys.
- GVariant as the mechanism to pass strongly typed values back and forth.