summaryrefslogtreecommitdiffstats
path: root/src/slv2_internal.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-04-27 21:23:25 +0000
committerDavid Robillard <d@drobilla.net>2011-04-27 21:23:25 +0000
commit03e318d5d80b0cfda96efc58e270693eeabe9a79 (patch)
treea8c139d374fb09e951b5373bde71eb53b9d4309e /src/slv2_internal.h
parent3c1b7c2b6633cc1afee350f12d0bd7a7b3eeafa5 (diff)
downloadlilv-03e318d5d80b0cfda96efc58e270693eeabe9a79.tar.gz
lilv-03e318d5d80b0cfda96efc58e270693eeabe9a79.tar.bz2
lilv-03e318d5d80b0cfda96efc58e270693eeabe9a79.zip
Fix memory leaks.
Don't modify model while reading it. git-svn-id: http://svn.drobilla.net/lad/trunk/slv2@3199 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/slv2_internal.h')
-rw-r--r--src/slv2_internal.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/slv2_internal.h b/src/slv2_internal.h
index 9f1658b..539232a 100644
--- a/src/slv2_internal.h
+++ b/src/slv2_internal.h
@@ -98,6 +98,16 @@ struct _SLV2Port {
SLV2Port slv2_port_new(SLV2World world, uint32_t index, const char* symbol);
void slv2_port_free(SLV2Port port);
+/* ********* Spec ********* */
+
+struct _SLV2Spec {
+ SLV2Node spec;
+ SLV2Node bundle;
+ SLV2Values data_uris;
+};
+
+typedef struct _SLV2Spec* SLV2Spec;
+
/* ********* Plugin ********* */
/** Header of an SLV2Plugin, SLV2PluginClass, or SLV2UI.
@@ -221,6 +231,7 @@ struct _SLV2World {
unsigned n_read_files;
SLV2PluginClass lv2_plugin_class;
SLV2PluginClasses plugin_classes;
+ GSList* specs;
SLV2Plugins plugins;
SLV2Node dc_replaces_node;
SLV2Node dyn_manifest_node;
@@ -241,7 +252,6 @@ struct _SLV2World {
SLV2Node rdfs_label_node;
SLV2Node rdfs_seealso_node;
SLV2Node rdfs_subclassof_node;
- SLV2Node slv2_bundleuri_node;
SLV2Node slv2_dmanifest_node;
SLV2Node xsd_boolean_node;
SLV2Node xsd_decimal_node;
@@ -290,7 +300,7 @@ typedef enum _SLV2ValueType {
} SLV2ValueType;
struct _SLV2Value {
- SLV2ValueType type;
+ SLV2World world;
char* str_val; ///< always present
union {
int int_val;
@@ -298,6 +308,7 @@ struct _SLV2Value {
bool bool_val;
SLV2Node uri_val;
} val;
+ SLV2ValueType type;
};
SLV2Value slv2_value_new(SLV2World world, SLV2ValueType type, const char* val);