Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::URIMap Class Reference

#include <uri_map.h>

Classes

struct  URIDs
 

Public Member Functions

 URIMap ()
 
 URIMap (const URIMap &)=delete
 
URIMapoperator= (const URIMap &)=delete
 
LV2_Feature * urid_map_feature ()
 
LV2_Feature * urid_unmap_feature ()
 
LV2_URID_Map * urid_map ()
 
LV2_URID_Unmap * urid_unmap ()
 
uint32_t uri_to_id (const char *uri)
 
const char * id_to_uri (uint32_t id) const
 

Static Public Member Functions

static URIMapinstance ()
 

Public Attributes

URIDs urids
 

Private Types

typedef std::map< const std::string, uint32_t > Map
 
typedef std::map< uint32_t, const std::string > Unmap
 

Private Attributes

Map _map
 
Unmap _unmap
 
LV2_Feature _urid_map_feature
 
LV2_URID_Map _urid_map_feature_data
 
LV2_Feature _urid_unmap_feature
 
LV2_URID_Unmap _urid_unmap_feature_data
 
Glib::Threads::Mutex _lock
 

Static Private Attributes

static URIMapuri_map
 

Detailed Description

Implementation of the LV2 urid extension.

This just uses a pair of std::map and is not so great in the space overhead department, but it's fast enough and not really performance critical anyway.

Definition at line 44 of file uri_map.h.

Member Typedef Documentation

◆ Map

typedef std::map<const std::string, uint32_t> ARDOUR::URIMap::Map
private

Definition at line 135 of file uri_map.h.

◆ Unmap

typedef std::map<uint32_t, const std::string> ARDOUR::URIMap::Unmap
private

Definition at line 136 of file uri_map.h.

Constructor & Destructor Documentation

◆ URIMap() [1/2]

ARDOUR::URIMap::URIMap ( )

◆ URIMap() [2/2]

ARDOUR::URIMap::URIMap ( const URIMap )
delete

Member Function Documentation

◆ id_to_uri()

const char* ARDOUR::URIMap::id_to_uri ( uint32_t  id) const

◆ instance()

static URIMap& ARDOUR::URIMap::instance ( )
static

◆ operator=()

URIMap& ARDOUR::URIMap::operator= ( const URIMap )
delete

◆ uri_to_id()

uint32_t ARDOUR::URIMap::uri_to_id ( const char *  uri)

◆ urid_map()

LV2_URID_Map* ARDOUR::URIMap::urid_map ( )
inline

Definition at line 55 of file uri_map.h.

◆ urid_map_feature()

LV2_Feature* ARDOUR::URIMap::urid_map_feature ( )
inline

Definition at line 52 of file uri_map.h.

◆ urid_unmap()

LV2_URID_Unmap* ARDOUR::URIMap::urid_unmap ( )
inline

Definition at line 56 of file uri_map.h.

◆ urid_unmap_feature()

LV2_Feature* ARDOUR::URIMap::urid_unmap_feature ( )
inline

Definition at line 53 of file uri_map.h.

Member Data Documentation

◆ _lock

Glib::Threads::Mutex ARDOUR::URIMap::_lock
mutableprivate

Definition at line 146 of file uri_map.h.

◆ _map

Map ARDOUR::URIMap::_map
private

Definition at line 138 of file uri_map.h.

◆ _unmap

Unmap ARDOUR::URIMap::_unmap
private

Definition at line 139 of file uri_map.h.

◆ _urid_map_feature

LV2_Feature ARDOUR::URIMap::_urid_map_feature
private

Definition at line 141 of file uri_map.h.

◆ _urid_map_feature_data

LV2_URID_Map ARDOUR::URIMap::_urid_map_feature_data
private

Definition at line 142 of file uri_map.h.

◆ _urid_unmap_feature

LV2_Feature ARDOUR::URIMap::_urid_unmap_feature
private

Definition at line 143 of file uri_map.h.

◆ _urid_unmap_feature_data

LV2_URID_Unmap ARDOUR::URIMap::_urid_unmap_feature_data
private

Definition at line 144 of file uri_map.h.

◆ uri_map

URIMap* ARDOUR::URIMap::uri_map
staticprivate

Definition at line 148 of file uri_map.h.

◆ urids

URIDs ARDOUR::URIMap::urids

Definition at line 132 of file uri_map.h.


The documentation for this class was generated from the following file: