From dc912cf3f1a186b703cee539db38b4ae0979ab6c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 2 Aug 2020 11:55:15 +0200 Subject: Clean up URI map interface --- include/ingen/URIMap.hpp | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/ingen/URIMap.hpp b/include/ingen/URIMap.hpp index 7efef8d1..890917f1 100644 --- a/include/ingen/URIMap.hpp +++ b/include/ingen/URIMap.hpp @@ -63,19 +63,36 @@ public: struct URIDMapFeature : public Feature { URIDMapFeature(URIMap* map, LV2_URID_Map* impl, Log& log); + LV2_URID map(const char* uri); static LV2_URID default_map(LV2_URID_Map_Handle h, const char* c_uri); - LV2_URID_Map urid_map; - Log& log; + + LV2_URID_Map& data() { return _urid_map; } + const LV2_URID_Map& data() const { return _urid_map; } + + private: + LV2_URID_Map _urid_map; + Log& _log; }; struct URIDUnmapFeature : public Feature { URIDUnmapFeature(URIMap* map, LV2_URID_Unmap* impl); + const char* unmap(LV2_URID urid) const; static const char* default_unmap(LV2_URID_Map_Handle h, LV2_URID urid); - LV2_URID_Unmap urid_unmap; + + LV2_URID_Unmap& data() { return _urid_unmap; } + const LV2_URID_Unmap& data() const { return _urid_unmap; } + + private: + LV2_URID_Unmap _urid_unmap; }; + const LV2_URID_Map& urid_map() const { return _urid_map_feature->data(); } + LV2_URID_Map& urid_map() { return _urid_map_feature->data(); } + const LV2_URID_Unmap& urid_unmap() const { return _urid_unmap_feature->data(); } + LV2_URID_Unmap& urid_unmap() { return _urid_unmap_feature->data(); } + SPtr urid_map_feature() { return _urid_map_feature; } SPtr urid_unmap_feature() { return _urid_unmap_feature; } -- cgit v1.2.1