summaryrefslogtreecommitdiffstats
path: root/slv2/plugin.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-04-19 16:49:25 +0000
committerDavid Robillard <d@drobilla.net>2007-04-19 16:49:25 +0000
commit98ea88b5fd404ff4ba43709f731ba074f291eb5b (patch)
tree1318604ebfedd677ac8f6cbad3f9d58e5922a1c4 /slv2/plugin.h
parent6626f77037747855e7dcec64697d436c4300d7c2 (diff)
downloadlilv-98ea88b5fd404ff4ba43709f731ba074f291eb5b.tar.gz
lilv-98ea88b5fd404ff4ba43709f731ba074f291eb5b.tar.bz2
lilv-98ea88b5fd404ff4ba43709f731ba074f291eb5b.zip
Added Redland dependency, using in-memory RDF models.
Numerous significant performance improvements. git-svn-id: http://svn.drobilla.net/lad/slv2@457 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'slv2/plugin.h')
-rw-r--r--slv2/plugin.h40
1 files changed, 33 insertions, 7 deletions
diff --git a/slv2/plugin.h b/slv2/plugin.h
index 77a0f61..7b8d62b 100644
--- a/slv2/plugin.h
+++ b/slv2/plugin.h
@@ -26,17 +26,18 @@ extern "C" {
#include <stdint.h>
#include <stdbool.h>
#include <slv2/types.h>
+#include <slv2/port.h>
#include <slv2/stringlist.h>
-
-typedef struct _Plugin* SLV2Plugin;
-
-
-/** \defgroup data Data file access
+/** \defgroup data Plugin data access
*
* These functions work exclusively with the plugin's RDF data file.
* They do not load or access the plugin dynamic library in any way.
*
+ * An SLV2Plugin is a weak reference (ie URIs) to an LV2 plugin in the
+ * Model. Most functions which operate on an SLV2Plugin actually query
+ * the data in the model.
+ *
* @{
*/
@@ -162,8 +163,8 @@ slv2_plugin_get_value(SLV2Plugin p,
*/
SLV2Strings
slv2_plugin_get_value_for_subject(SLV2Plugin p,
- const char* subject,
- const char* predicate);
+ const char* subject,
+ const char* predicate);
/** Get the LV2 Properties of a plugin.
@@ -266,6 +267,31 @@ slv2_plugin_query_count(SLV2Plugin plugin,
const char* sparql_str);
+/** Get a port on this plugin by \a index.
+ *
+ * To perform multiple calls on a port, the returned value should
+ * be cached and used repeatedly.
+ *
+ * O(1)
+ */
+SLV2Port
+slv2_plugin_get_port_by_index(SLV2Plugin plugin,
+ uint32_t index);
+
+
+/** Get a port on this plugin by \a symbol.
+ *
+ * To perform multiple calls on a port, the returned value should
+ * be cached and used repeatedly.
+ *
+ * O(num_ports)
+ */
+SLV2Port
+slv2_plugin_get_port_by_symbol(SLV2Plugin plugin,
+ const char* symbol);
+
+
+
/** @} */
#ifdef __cplusplus