From 52c617694203c9dbc20189f5bae3b6446df87bd9 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 19 Mar 2013 04:05:54 +0000 Subject: 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 --- lilv/lilvmm.hpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'lilv/lilvmm.hpp') 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) -- cgit v1.2.1