LV2
1.0.13
|
C header for the LV2 Dynamic Manifest extension http://lv2plug.in/ns/ext/dynmanifest. More...
Macros | |
#define | LV2_DYN_MANIFEST_URI "http://lv2plug.in/ns/ext/dynmanifest" |
Typedefs | |
typedef void * | LV2_Dyn_Manifest_Handle |
Dynamic manifest generator handle. More... | |
Functions | |
int | lv2_dyn_manifest_open (LV2_Dyn_Manifest_Handle *handle, const LV2_Feature *const *features) |
Generate the dynamic manifest. More... | |
int | lv2_dyn_manifest_get_subjects (LV2_Dyn_Manifest_Handle handle, FILE *fp) |
Fetch a "list" of subject URIs described in the dynamic manifest. More... | |
int | lv2_dyn_manifest_get_data (LV2_Dyn_Manifest_Handle handle, FILE *fp, const char *uri) |
Function that fetches data related to a specific URI. More... | |
void | lv2_dyn_manifest_close (LV2_Dyn_Manifest_Handle handle) |
Function that ends the operations on the dynamic manifest generator. More... | |
C header for the LV2 Dynamic Manifest extension http://lv2plug.in/ns/ext/dynmanifest.
Revision: 1.2
#define LV2_DYN_MANIFEST_URI "http://lv2plug.in/ns/ext/dynmanifest" |
typedef void* LV2_Dyn_Manifest_Handle |
Dynamic manifest generator handle.
This handle indicates a particular status of a dynamic manifest generator. The host MUST NOT attempt to interpret it and, unlikely LV2_Handle, it is NOT even valid to compare this to NULL. The dynamic manifest generator MAY use it to reference internal data.
int lv2_dyn_manifest_open | ( | LV2_Dyn_Manifest_Handle * | handle, |
const LV2_Feature *const * | features | ||
) |
Generate the dynamic manifest.
handle | Pointer to an uninitialized dynamic manifest generator handle. |
features | NULL terminated array of LV2_Feature structs which represent the features the host supports. The dynamic manifest generator may refuse to (re)generate the dynamic manifest if required features are not found here (however hosts SHOULD NOT use this as a discovery mechanism, instead of reading the static manifest file). This array must always exist; if a host has no features, it MUST pass a single element array containing NULL. |
int lv2_dyn_manifest_get_subjects | ( | LV2_Dyn_Manifest_Handle | handle, |
FILE * | fp | ||
) |
Fetch a "list" of subject URIs described in the dynamic manifest.
The dynamic manifest generator has to fill the resource only with the needed triples to make the host aware of the "objects" it wants to expose. For example, if the plugin library exposes a regular LV2 plugin, it should output only a triple like the following:
http://www.example.com/plugin/uri a lv2:Plugin .
The objects that are elegible for exposure are those that would need to be represented by a subject node in a static manifest.
handle | Dynamic manifest generator handle. |
fp | FILE * identifying the resource the host has to set up for the dynamic manifest generator. The host MUST pass a writable, empty resource to this function, and the dynamic manifest generator MUST ONLY perform write operations on it at the end of the stream (e.g., using only fprintf(), fwrite() and similar). |
int lv2_dyn_manifest_get_data | ( | LV2_Dyn_Manifest_Handle | handle, |
FILE * | fp, | ||
const char * | uri | ||
) |
Function that fetches data related to a specific URI.
The dynamic manifest generator has to fill the resource with data related to object represented by the given URI. For example, if the library exposes a regular LV2 plugin whose URI, as retrieved by the host using lv2_dyn_manifest_get_subjects() is http://www.example.com/plugin/uri, it should output something like:
http://www.example.com/plugin/uri a lv2:Plugin ; doap:name "My Plugin" ; lv2:binary <mylib.so> ; etc:etc "..." .
handle | Dynamic manifest generator handle. |
fp | FILE * identifying the resource the host has to set up for the dynamic manifest generator. The host MUST pass a writable resource to this function, and the dynamic manifest generator MUST ONLY perform write operations on it at the current position of the stream (e.g. using only fprintf(), fwrite() and similar). |
uri | URI to get data about (in the "plain" form, i.e., absolute URI without Turtle prefixes). |
void lv2_dyn_manifest_close | ( | LV2_Dyn_Manifest_Handle | handle | ) |
Function that ends the operations on the dynamic manifest generator.
This function SHOULD be used by the dynamic manifest generator to perform cleanup operations, etc.
Once this function is called, referring to handle will cause undefined behavior.
handle | Dynamic manifest generator handle. |