diff options
author | David Robillard <d@drobilla.net> | 2007-04-28 00:44:32 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-04-28 00:44:32 +0000 |
commit | cedf1a1f9e1e007aaf72757d896ed3455da10f69 (patch) | |
tree | b1b2f1f36454dd0a019b5ec260f5911356d149cc /slv2 | |
parent | eda602d83c1a28f6a1654811affb00c78d25c8bf (diff) | |
download | lilv-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.am | 18 | ||||
-rw-r--r-- | slv2/plugin.h | 26 | ||||
-rw-r--r-- | slv2/port.h | 6 | ||||
-rw-r--r-- | slv2/slv2.h | 2 | ||||
-rw-r--r-- | slv2/types.h | 8 | ||||
-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><plugin-uri> 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__ */ |