summaryrefslogtreecommitdiffstats
path: root/lilv/lilvmm.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-03-19 04:05:54 +0000
committerDavid Robillard <d@drobilla.net>2013-03-19 04:05:54 +0000
commit52c617694203c9dbc20189f5bae3b6446df87bd9 (patch)
tree2f6b7dcd681a47274418cc0314e9d6e39b21dc47 /lilv/lilvmm.hpp
parent9dc2774e13cbdaccb3b27f2b0503b3ccdf7d3f9b (diff)
downloadlilv-52c617694203c9dbc20189f5bae3b6446df87bd9.tar.gz
lilv-52c617694203c9dbc20189f5bae3b6446df87bd9.tar.bz2
lilv-52c617694203c9dbc20189f5bae3b6446df87bd9.zip
Add C++ wrappers to lilvmm.hpp (fix compilation with --python).
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5092 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'lilv/lilvmm.hpp')
-rw-r--r--lilv/lilvmm.hpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/lilv/lilvmm.hpp b/lilv/lilvmm.hpp
index 666f466..adb0cb6 100644
--- a/lilv/lilvmm.hpp
+++ b/lilv/lilvmm.hpp
@@ -49,6 +49,11 @@ uri_to_path(const char* uri) {
return lilv_ ## prefix ## _ ## name(me, a1, a2); \
}
+#define LILV_WRAP3(RT, prefix, name, T1, a1, T2, a2, T3, a3) \
+ inline RT name(T1 a1, T2 a2, T3 a3) { \
+ return lilv_ ## prefix ## _ ## name(me, a1, a2, a3); \
+ }
+
#define LILV_WRAP2_VOID(prefix, name, T1, a1, T2, a2) \
inline void name(T1 a1, T2 a2) { lilv_ ## prefix ## _ ## name(me, a1, a2); }
@@ -139,6 +144,27 @@ struct Nodes {
LILV_WRAP0(Node, nodes, get_first);
};
+struct UI {
+ inline UI(const LilvUI* c_obj) : me(c_obj) {}
+ LILV_WRAP_CONVERSION(const LilvUI);
+
+ LILV_WRAP0(const LilvNode*, ui, get_uri);
+ LILV_WRAP0(const LilvNode*, ui, get_bundle_uri);
+ LILV_WRAP0(const LilvNode*, ui, get_binary_uri);
+ LILV_WRAP0(const LilvNodes*, ui, get_classes);
+ /*LILV_WRAP3(bool, ui, is_supported,
+ LilvUISupportedFunc, supported_func,
+ const LilvNode*, container_type,
+ const LilvNode**, ui_type);*/
+ LILV_WRAP1(bool, ui, is_a, const LilvNode*, class_uri);
+
+ const LilvUI* me;
+};
+
+struct UIs {
+ LILV_WRAP_COLL(UIs, UI, uis);
+};
+
struct Port {
inline Port(const LilvPlugin* p, const LilvPort* c_obj)
: parent(p), me(c_obj)