summaryrefslogtreecommitdiffstats
path: root/slv2
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-04-28 00:44:32 +0000
committerDavid Robillard <d@drobilla.net>2007-04-28 00:44:32 +0000
commitcedf1a1f9e1e007aaf72757d896ed3455da10f69 (patch)
treeb1b2f1f36454dd0a019b5ec260f5911356d149cc /slv2
parenteda602d83c1a28f6a1654811affb00c78d25c8bf (diff)
downloadlilv-cedf1a1f9e1e007aaf72757d896ed3455da10f69.tar.gz
lilv-cedf1a1f9e1e007aaf72757d896ed3455da10f69.tar.bz2
lilv-cedf1a1f9e1e007aaf72757d896ed3455da10f69.zip
Reworked query/value system to expose data type.
git-svn-id: http://svn.drobilla.net/lad/slv2@475 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'slv2')
-rw-r--r--slv2/Makefile.am18
-rw-r--r--slv2/plugin.h26
-rw-r--r--slv2/port.h6
-rw-r--r--slv2/slv2.h2
-rw-r--r--slv2/types.h8
-rw-r--r--slv2/values.h (renamed from slv2/strings.h)28
6 files changed, 47 insertions, 41 deletions
diff --git a/slv2/Makefile.am b/slv2/Makefile.am
index 05fc432..8e57eb1 100644
--- a/slv2/Makefile.am
+++ b/slv2/Makefile.am
@@ -2,15 +2,15 @@ slv2includedir = $(includedir)/slv2
slv2include_HEADERS = \
lv2.h \
- types.h \
- slv2.h \
- world.h \
+ plugin.h \
pluginclass.h \
pluginclasses.h \
- plugin.h \
- port.h \
- plugins.h \
plugininstance.h \
- strings.h \
- util.h
-
+ plugins.h \
+ port.h \
+ slv2.h \
+ types.h \
+ util.h \
+ value.h \
+ values.h \
+ world.h
diff --git a/slv2/plugin.h b/slv2/plugin.h
index 7ec073b..c6090a6 100644
--- a/slv2/plugin.h
+++ b/slv2/plugin.h
@@ -90,7 +90,7 @@ slv2_plugin_get_uri(SLV2Plugin plugin);
*
* Time = O(1)
*/
-SLV2Strings
+SLV2Values
slv2_plugin_get_data_uris(SLV2Plugin plugin);
@@ -133,13 +133,13 @@ slv2_plugin_get_class(SLV2Plugin plugin);
* <code>&lt;plugin-uri&gt; predicate ?object</code>
*
* May return NULL if the property was not found, or if object is not
- * sensibly represented as an SLV2Strings (e.g. blank nodes).
+ * sensibly represented as an SLV2Values (e.g. blank nodes).
*
- * Return value must be freed by caller with slv2_strings_free.
+ * Return value must be freed by caller with slv2_values_free.
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_plugin_get_value(SLV2Plugin p,
const char* predicate);
@@ -154,13 +154,13 @@ slv2_plugin_get_value(SLV2Plugin p,
* (if information about it is contained in the plugin's data files).
*
* May return NULL if the property was not found, or if object is not
- * sensibly represented as an SLV2Strings (e.g. blank nodes).
+ * sensibly represented as an SLV2Values (e.g. blank nodes).
*
- * Return value must be freed by caller with slv2_strings_free.
+ * Return value must be freed by caller with slv2_values_free.
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_plugin_get_value_for_subject(SLV2Plugin p,
const char* subject,
const char* predicate);
@@ -176,7 +176,7 @@ slv2_plugin_get_value_for_subject(SLV2Plugin p,
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_plugin_get_properties(SLV2Plugin p);
@@ -189,7 +189,7 @@ slv2_plugin_get_properties(SLV2Plugin p);
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_plugin_get_hints(SLV2Plugin p);
@@ -234,7 +234,7 @@ slv2_plugin_get_latency_port(SLV2Plugin p);
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_plugin_get_supported_features(SLV2Plugin p);
@@ -245,7 +245,7 @@ slv2_plugin_get_supported_features(SLV2Plugin p);
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_plugin_get_required_features(SLV2Plugin p);
@@ -257,7 +257,7 @@ slv2_plugin_get_required_features(SLV2Plugin p);
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_plugin_get_optional_features(SLV2Plugin p);
@@ -270,7 +270,7 @@ slv2_plugin_get_optional_features(SLV2Plugin p);
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_plugin_simple_query(SLV2Plugin plugin,
const char* sparql_str,
const char* variable);
diff --git a/slv2/port.h b/slv2/port.h
index 165c1f1..10a2f3f 100644
--- a/slv2/port.h
+++ b/slv2/port.h
@@ -37,7 +37,7 @@ extern "C" {
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_port_get_value(SLV2Plugin plugin,
SLV2Port port,
const char* property);
@@ -47,7 +47,7 @@ slv2_port_get_value(SLV2Plugin plugin,
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_port_get_properties(SLV2Plugin plugin,
SLV2Port port);
@@ -56,7 +56,7 @@ slv2_port_get_properties(SLV2Plugin plugin,
*
* Time = Query
*/
-SLV2Strings
+SLV2Values
slv2_port_get_hints(SLV2Plugin plugin,
SLV2Port port);
diff --git a/slv2/slv2.h b/slv2/slv2.h
index ee0bcfa..f3a4a0d 100644
--- a/slv2/slv2.h
+++ b/slv2/slv2.h
@@ -30,7 +30,7 @@ extern "C" {
#include <slv2/port.h>
#include <slv2/plugins.h>
#include <slv2/plugininstance.h>
-#include <slv2/strings.h>
+#include <slv2/values.h>
#ifdef __cplusplus
}
diff --git a/slv2/types.h b/slv2/types.h
index 7e965be..d55b81d 100644
--- a/slv2/types.h
+++ b/slv2/types.h
@@ -64,6 +64,14 @@ typedef struct _PluginClass* SLV2PluginClass;
typedef void* SLV2PluginClasses;
+/** A typed value */
+typedef struct _Value* SLV2Value;
+
+
+/** A collection of typed values. */
+typedef void* SLV2Values;
+
+
#ifdef __cplusplus
}
#endif
diff --git a/slv2/strings.h b/slv2/values.h
index 20667ef..a8381cd 100644
--- a/slv2/strings.h
+++ b/slv2/values.h
@@ -16,10 +16,11 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef __SLV2_STRINGS_H__
-#define __SLV2_STRINGS_H__
+#ifndef __SLV2_VALUES_H__
+#define __SLV2_VALUES_H__
#include <stdbool.h>
+#include <slv2/value.h>
#ifdef __cplusplus
extern "C" {
@@ -27,26 +28,23 @@ extern "C" {
/** \defgroup strings Collections of strings
*
- * SLV2Strings is an ordered collection of strings which is fast for random
+ * SLV2Values is an ordered collection of strings which is fast for random
* access by index (i.e. a fancy array).
*
* @{
*/
-typedef void* SLV2Strings;
-
-
-/** Allocate a new, empty SLV2Strings
+/** Allocate a new, empty SLV2Values
*/
-SLV2Strings
-slv2_strings_new();
+SLV2Values
+slv2_values_new();
/** Get the number of elements in a string list.
*/
unsigned
-slv2_strings_size(SLV2Strings list);
+slv2_values_size(SLV2Values list);
/** Get a string from a string list at the given index.
@@ -55,8 +53,8 @@ slv2_strings_size(SLV2Strings list);
*
* Time = O(1)
*/
-const char*
-slv2_strings_get_at(SLV2Strings list, unsigned index);
+SLV2Value
+slv2_values_get_at(SLV2Values list, unsigned index);
/** Return whether \a list contains \a string.
@@ -64,13 +62,13 @@ slv2_strings_get_at(SLV2Strings list, unsigned index);
* Time = O(n)
*/
bool
-slv2_strings_contains(SLV2Strings list, const char* string);
+slv2_values_contains(SLV2Values list, SLV2Value value);
/** Free a string list.
*/
void
-slv2_strings_free(SLV2Strings);
+slv2_values_free(SLV2Values);
/** @} */
@@ -79,5 +77,5 @@ slv2_strings_free(SLV2Strings);
}
#endif
-#endif /* __SLV2_STRINGS_H__ */
+#endif /* __SLV2_VALUES_H__ */