diff options
Diffstat (limited to 'src/libs/shared/LV2URIMap.hpp')
-rw-r--r-- | src/libs/shared/LV2URIMap.hpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/libs/shared/LV2URIMap.hpp b/src/libs/shared/LV2URIMap.hpp index 0c947560..35130066 100644 --- a/src/libs/shared/LV2URIMap.hpp +++ b/src/libs/shared/LV2URIMap.hpp @@ -25,6 +25,7 @@ #include <map> #include <string> +#include <boost/utility.hpp> #include <slv2/slv2.h> #include "common/lv2ext/lv2_uri_map.h" @@ -32,22 +33,28 @@ namespace Ingen { namespace Shared { -/** Stuff that may need to be passed to an LV2 plugin (i.e. LV2 features). +/** Implementation of the LV2 URI Map extension */ -class LV2URIMap { +class LV2URIMap : public boost::noncopyable { public: LV2URIMap(); + + LV2_Feature* feature() { return &uri_map_feature; } + + uint32_t uri_to_id(const char* map, + const char* uri); +private: typedef std::map<std::string, uint32_t> URIMap; + static uint32_t uri_map_uri_to_id(LV2_URI_Map_Callback_Data callback_data, + const char* map, + const char* uri); + LV2_Feature uri_map_feature; LV2_URI_Map_Feature uri_map_feature_data; URIMap uri_map; uint32_t next_uri_id; - - static uint32_t uri_map_uri_to_id(LV2_URI_Map_Callback_Data callback_data, - const char* map, - const char* uri); }; |