diff options
Diffstat (limited to 'include/ingen/URIMap.hpp')
-rw-r--r-- | include/ingen/URIMap.hpp | 23 |
1 files changed, 20 insertions, 3 deletions
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<URIDMapFeature> urid_map_feature() { return _urid_map_feature; } SPtr<URIDUnmapFeature> urid_unmap_feature() { return _urid_unmap_feature; } |