LV2 Toolkit  1.2.0
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
URID< Required >::I< Derived > Struct Template Reference
Collaboration diagram for URID< Required >::I< Derived >:
Collaboration graph
[legend]

Public Member Functions

bool check_ok ()
 
const char * unmap (LV2_URID urid)
 
LV2_URID map (const char *uri)
 
LV2_URID_Map * get_urid_map () const
 
LV2_URID_Unmap * get_urid_unmap () const
 

Static Public Member Functions

static void map_feature_handlers (FeatureHandlerMap &hmap)
 
static void handle_map_feature (void *instance, void *data)
 
static void handle_unmap_feature (void *instance, void *data)
 

Protected Attributes

LV2_URID_Map * p_map
 
LV2_URID_Unmap * p_unmap
 

Member Function Documentation

LV2_URID_Map* get_urid_map ( ) const
inline

Get the underlying LV2_URID_Map pointer

LV2_URID_Unmap* get_urid_unmap ( ) const
inline

Get the underlying LV2_URID_Unmap pointer

LV2_URID map ( const char *  uri)
inline

Get the numeric ID of a URI.

If the ID does not already exist, it will be created.

This function is referentially transparent; any number of calls with the same arguments is guaranteed to return the same value over the life of a plugin instance. Note, however, that several URIs MAY resolve to the same ID if the host considers those URIs equivalent.

This function is not necessarily very fast or RT-safe: plugins SHOULD cache any IDs they might need in performance critical situations.

The return value 0 is reserved and indicates that an ID for that URI could not be created for whatever reason. However, hosts SHOULD NOT return 0 from this function in non-exceptional circumstances (i.e. the URI map SHOULD be dynamic).

Parameters
uriThe URI to be mapped to an integer ID.
const char* unmap ( LV2_URID  urid)
inline

Get the URI for a previously mapped numeric ID.

Returns NULL if urid is not yet mapped. Otherwise, the corresponding URI is returned in a canonical form. This MAY not be the exact same string that was originally passed to LV2_URID_Map::map(), but it MUST be an identical URI according to the URI syntax specification (RFC3986). A non-NULL return for a given urid will always be the same for the life of the plugin. Plugins that intend to perform string comparison on unmapped URIs SHOULD first canonicalise URI strings with a call to map_uri() followed by a call to unmap_uri().

Parameters
uridThe ID to be mapped back to the URI string.

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