summaryrefslogtreecommitdiffstats
path: root/src/slv2_internal.h
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 /src/slv2_internal.h
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 'src/slv2_internal.h')
-rw-r--r--src/slv2_internal.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/slv2_internal.h b/src/slv2_internal.h
index a9683c3..180f07d 100644
--- a/src/slv2_internal.h
+++ b/src/slv2_internal.h
@@ -30,6 +30,7 @@ extern "C" {
#include <slv2/pluginclasses.h>
+
/** Reference to a port on some plugin.
*/
struct _Port {
@@ -119,6 +120,26 @@ slv2_world_load_path(SLV2World world,
const char* search_path);
+typedef enum _ValueType {
+ SLV2_VALUE_URI,
+ SLV2_VALUE_STRING,
+ SLV2_VALUE_INT,
+ SLV2_VALUE_FLOAT
+} SLV2ValueType;
+
+struct _Value {
+ SLV2ValueType type;
+ char* str_val; ///< always present
+ union {
+ int int_val;
+ float float_val;
+ } val;
+};
+
+SLV2Value slv2_value_new(SLV2ValueType type, const char* val);
+void slv2_value_free(SLV2Value val);
+
+
#ifdef __cplusplus
}
#endif