summaryrefslogtreecommitdiffstats
path: root/src/plugin.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-02-14 00:48:45 +0000
committerDavid Robillard <d@drobilla.net>2009-02-14 00:48:45 +0000
commit6f8391945483823638c031d9f31c3f412e6276d2 (patch)
tree9589f437d79e204d49f0045056809f254656f7d0 /src/plugin.c
parentd9b5f38ffb9c0d0a6841368e7d52a71b9819d087 (diff)
downloadlilv-6f8391945483823638c031d9f31c3f412e6276d2.tar.gz
lilv-6f8391945483823638c031d9f31c3f412e6276d2.tar.bz2
lilv-6f8391945483823638c031d9f31c3f412e6276d2.zip
New generic query API.
List presets in lv2_inspect. git-svn-id: http://svn.drobilla.net/lad/trunk/slv2@1932 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/plugin.c')
-rw-r--r--src/plugin.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/plugin.c b/src/plugin.c
index ae2f8f3..b58a3ec 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -26,6 +26,7 @@
#include "slv2/collections.h"
#include "slv2/plugin.h"
#include "slv2/pluginclass.h"
+#include "slv2/query.h"
#include "slv2/types.h"
#include "slv2/util.h"
#include "slv2_internal.h"
@@ -328,18 +329,18 @@ slv2_plugin_verify(SLV2Plugin plugin)
"doap:license ?license ;\n"
"lv2:port [ lv2:index ?port ] .\n}";
- librdf_query_results* results = slv2_plugin_query(plugin, query_str);
+ SLV2Results results = slv2_plugin_query_sparql(plugin, query_str);
bool has_type = false;
bool has_name = false;
bool has_license = false;
bool has_port = false;
- while (!librdf_query_results_finished(results)) {
- librdf_node* type_node = librdf_query_results_get_binding_value(results, 0);
- librdf_node* name_node = librdf_query_results_get_binding_value(results, 1);
- librdf_node* license_node = librdf_query_results_get_binding_value(results, 2);
- librdf_node* port_node = librdf_query_results_get_binding_value(results, 3);
+ while (!librdf_query_results_finished(results->rdf_results)) {
+ librdf_node* type_node = librdf_query_results_get_binding_value(results->rdf_results, 0);
+ librdf_node* name_node = librdf_query_results_get_binding_value(results->rdf_results, 1);
+ librdf_node* license_node = librdf_query_results_get_binding_value(results->rdf_results, 2);
+ librdf_node* port_node = librdf_query_results_get_binding_value(results->rdf_results, 3);
if (librdf_node_get_type(type_node) == LIBRDF_NODE_TYPE_RESOURCE)
has_type = true;
@@ -358,10 +359,10 @@ slv2_plugin_verify(SLV2Plugin plugin)
librdf_free_node(license_node);
librdf_free_node(port_node);
- librdf_query_results_next(results);
+ librdf_query_results_next(results->rdf_results);
}
- librdf_free_query_results(results);
+ slv2_results_free(results);
if ( ! (has_type && has_name && has_license && has_port) ) {
fprintf(stderr, "Invalid LV2 Plugin %s\n",
@@ -828,14 +829,14 @@ slv2_plugin_get_uis(SLV2Plugin plugin)
" uiext:binary ?binary .\n"
"}\n";
- librdf_query_results* results = slv2_plugin_query(plugin, query_str);
+ SLV2Results results = slv2_plugin_query_sparql(plugin, query_str);
SLV2UIs result = slv2_uis_new();
- while (!librdf_query_results_finished(results)) {
- librdf_node* uri_node = librdf_query_results_get_binding_value(results, 0);
- librdf_node* type_node = librdf_query_results_get_binding_value(results, 1);
- librdf_node* binary_node = librdf_query_results_get_binding_value(results, 2);
+ while (!librdf_query_results_finished(results->rdf_results)) {
+ librdf_node* uri_node = librdf_query_results_get_binding_value(results->rdf_results, 0);
+ librdf_node* type_node = librdf_query_results_get_binding_value(results->rdf_results, 1);
+ librdf_node* binary_node = librdf_query_results_get_binding_value(results->rdf_results, 2);
SLV2UI ui = slv2_ui_new(plugin->world,
librdf_node_get_uri(uri_node),
@@ -848,10 +849,10 @@ slv2_plugin_get_uis(SLV2Plugin plugin)
librdf_free_node(type_node);
librdf_free_node(binary_node);
- librdf_query_results_next(results);
+ librdf_query_results_next(results->rdf_results);
}
- librdf_free_query_results(results);
+ slv2_results_free(results);
if (slv2_uis_size(result) > 0) {
return result;