summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--data/lv2.ttl6
-rw-r--r--slv2/value.h21
-rw-r--r--slv2/world.h3
-rw-r--r--src/query.c5
-rw-r--r--src/slv2_internal.h57
-rw-r--r--src/value.c22
6 files changed, 52 insertions, 62 deletions
diff --git a/data/lv2.ttl b/data/lv2.ttl
index b82566d..d79db7e 100644
--- a/data/lv2.ttl
+++ b/data/lv2.ttl
@@ -1,7 +1,5 @@
# RDF Schema for LV2 plugins
-# *** PROVISIONAL ***
-#
-# *** PROPOSED Revision 2007-04-20 ***
+# *** PROVISIONAL Revision 2007-05-08 ***
#
# This document describes the classes and properties that are defined by the
# core LV2 specification. See <http://lv2plug.in> for more information.
@@ -42,7 +40,7 @@
doap:programming-language "C" ;
doap:release [
doap:revision "1.0beta2" ;
- doap:created "2007-04-20"
+ doap:created "2007-05-08"
] ;
doap:maintainer [
a foaf:Person ;
diff --git a/slv2/value.h b/slv2/value.h
index 2d0fb51..3073e7e 100644
--- a/slv2/value.h
+++ b/slv2/value.h
@@ -31,27 +31,6 @@ extern "C" {
*/
-#if 0
-/** Wrap a URI string (e.g. "http://example.org/foo") as an SLV2Value.
- *
- * The result is returned by value and refers directly to \a uri, it
- * does not need to be freed by the caller - calling slv2_value_free
- * on the returned value will destroy \a uri.
- */
-SLV2Value
-slv2_uri(const char* uri);
-
-
-/** Wrap a QName string (e.g. "lv2:Plugin") as an SLV2Value.
- *
- * The result is returned by value and refers directly to \a uri, it
- * does not need to be freed by the caller - calling slv2_value_free
- * on the returned value will destroy \a qname.
- */
-SLV2Value
-slv2_qname(const char* qname);
-#endif
-
/** Return whether two values are equivalent.
*/
diff --git a/slv2/world.h b/slv2/world.h
index b5a4f30..8dfa1d3 100644
--- a/slv2/world.h
+++ b/slv2/world.h
@@ -160,6 +160,7 @@ slv2_world_get_plugins_by_filter(SLV2World world,
bool (*include)(SLV2Plugin));
+#if 0
/** Return a list of found plugins in a given class.
*
* Returned list must be freed by user with slv2_plugins_free. The contained
@@ -170,7 +171,7 @@ slv2_world_get_plugins_by_filter(SLV2World world,
SLV2Plugins
slv2_world_get_plugins_by_class(SLV2World world,
SLV2PluginClass plugin_class);
-
+#endif
#if 0
/** Get plugins filtered by a user-defined SPARQL query.
diff --git a/src/query.c b/src/query.c
index b7eae2d..d7f583f 100644
--- a/src/query.c
+++ b/src/query.c
@@ -21,6 +21,7 @@
#include <stdlib.h>
#include <assert.h>
#include <librdf.h>
+#include <limits.h>
#include <slv2/plugin.h>
#include <slv2/util.h>
#include <slv2/values.h>
@@ -160,9 +161,11 @@ slv2_plugin_simple_query(SLV2Plugin plugin,
const char* sparql_str,
unsigned variable)
{
+ assert(variable < INT_MAX);
+
librdf_query_results* results = slv2_plugin_query(plugin, sparql_str);
- SLV2Values ret = slv2_query_get_variable_bindings(results, variable);
+ SLV2Values ret = slv2_query_get_variable_bindings(results, (int)variable);
librdf_free_query_results(results);
diff --git a/src/slv2_internal.h b/src/slv2_internal.h
index 97fbbce..abe6a59 100644
--- a/src/slv2_internal.h
+++ b/src/slv2_internal.h
@@ -30,20 +30,26 @@ extern "C" {
#include <slv2/types.h>
-/** Reference to a port on some plugin.
- */
+
+/* ********* PORT ********* */
+
+
+/** Reference to a port on some plugin. */
struct _SLV2Port {
- uint32_t index; ///< LV2 index
- char* symbol; ///< LV2 symbol
- //char* node_id; ///< RDF Node ID
+ uint32_t index; ///< LV2 index
+ char* symbol; ///< LV2 symbol
};
-SLV2Port slv2_port_new(uint32_t index, const char* symbol/*, const char* node_id*/);
+SLV2Port slv2_port_new(uint32_t index, const char* symbol);
SLV2Port slv2_port_duplicate(SLV2Port port);
void slv2_port_free(SLV2Port port);
+
+/* ********* Plugin ********* */
+
+
/** Record of an installed/available plugin.
*
* A simple reference to a plugin somewhere on the system. This just holds
@@ -52,10 +58,10 @@ void slv2_port_free(SLV2Port port);
struct _SLV2Plugin {
struct _SLV2World* world;
librdf_uri* plugin_uri;
-// char* bundle_url; // Bundle directory plugin was loaded from
- char* binary_uri; // lv2:binary
+// char* bundle_url; ///< Bundle directory plugin was loaded from
+ char* binary_uri; ///< lv2:binary
SLV2PluginClass plugin_class;
- raptor_sequence* data_uris; // rdfs::seeAlso
+ raptor_sequence* data_uris; ///< rdfs::seeAlso
raptor_sequence* ports;
librdf_storage* storage;
librdf_model* rdf;
@@ -69,6 +75,10 @@ librdf_query_results* slv2_plugin_query(SLV2Plugin plugin,
const char* sparql_str);
+
+/* ********* Plugins ********* */
+
+
/** Create a new, empty plugin list.
*
* Returned object must be freed with slv2_plugins_free.
@@ -77,12 +87,20 @@ SLV2Plugins
slv2_plugins_new();
+
+/* ********* Instance ********* */
+
+
/** Pimpl portion of SLV2Instance */
struct _InstanceImpl {
void* lib_handle;
};
+
+/* ********* Plugin Class ********* */
+
+
struct _SLV2PluginClass {
struct _SLV2World* world;
char* parent_uri;
@@ -90,13 +108,23 @@ struct _SLV2PluginClass {
char* label;
};
-SLV2PluginClass slv2_plugin_class_new(SLV2World world,
- const char* parent_uri, const char* uri, const char* label);
-void slv2_plugin_class_free(SLV2PluginClass class);
+SLV2PluginClass slv2_plugin_class_new(SLV2World world, const char* parent_uri,
+ const char* uri, const char* label);
+void slv2_plugin_class_free(SLV2PluginClass class);
+
+
+
+/* ********* Plugin Classes ********* */
+
SLV2PluginClasses slv2_plugin_classes_new();
void slv2_plugin_classes_free();
+
+
+/* ********* World ********* */
+
+
/** Model of LV2 (RDF) data loaded from bundles.
*/
struct _SLV2World {
@@ -122,9 +150,12 @@ slv2_world_load_path(SLV2World world,
const char* search_path);
+
+/* ********* Value ********* */
+
+
typedef enum _SLV2ValueType {
SLV2_VALUE_URI,
- SLV2_VALUE_QNAME,
SLV2_VALUE_STRING,
SLV2_VALUE_INT,
SLV2_VALUE_FLOAT
diff --git a/src/value.c b/src/value.c
index 8911619..e728333 100644
--- a/src/value.c
+++ b/src/value.c
@@ -59,27 +59,6 @@ slv2_value_free(SLV2Value val)
}
-/*
-SLV2Value
-slv2_uri(const char* uri)
-{
- struct _SLV2Value val;
- val->str_val = (char*)uri; // const cast FTW!
- val->type = SLV2_VALUE_URI;
- return val;
-}
-
-
-SLV2Value
-slv2_qname(const char* qname)
-{
- SLV2Value val;
- val->str_val = (char*)qname; // const cast FTW!
- val->type = SLV2_VALUE_QNAME;
- return val;
-}
-*/
-
bool
slv2_value_equals(SLV2Value value, SLV2Value other)
{
@@ -102,7 +81,6 @@ slv2_value_get_turtle_token(SLV2Value value)
result = calloc(len, sizeof(char));
snprintf(result, len, "<%s>", value->str_val);
break;
- case SLV2_VALUE_QNAME:
case SLV2_VALUE_STRING:
result = strdup(value->str_val);
break;