## AgsLv2TurtleScanner

AgsLv2TurtleScanner — The lv2 turtle scanner class

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_LV2_CACHE_TURTLE()
#define | AGS_LV2_TURTLE_SCANNER_GET_OBJ_MUTEX()
AgsLv2CacheTurtle * | ags_lv2_cache_turtle_alloc ()
void | ags_lv2_cache_turtle_free ()
GList * | ags_lv2_cache_turtle_find ()
void | ags_lv2_turtle_scanner_quick_scan_see_also ()
void | ags_lv2_turtle_scanner_quick_scan ()
AgsLv2TurtleScanner * | ags_lv2_turtle_scanner_new ()

## Types and Values

enum | AgsLv2TurtleScannerStatusFlags
struct | AgsLv2CacheTurtle

## Object Hierarchy

        GFlags
        ╰── AgsLv2TurtleScannerStatusFlags
        GObject
        ╰── AgsLv2TurtleScanner

## Includes

    #include <ags/plugin/ags_lv2_turtle_scanner.h>

## Description

The AgsLv2TurtleScanner parses RDF Turtle files.

## Functions

### AGS_LV2_CACHE_TURTLE()

    #define AGS_LV2_CACHE_TURTLE(ptr) ((AgsLv2CacheTurtle *) ptr)

### AGS_LV2_TURTLE_SCANNER_GET_OBJ_MUTEX()

    #define AGS_LV2_TURTLE_SCANNER_GET_OBJ_MUTEX(obj) (&(((AgsLv2TurtleScanner *) obj)->obj_mutex))

### ags_lv2_cache_turtle_alloc ()

    AgsLv2CacheTurtle *
    ags_lv2_cache_turtle_alloc (AgsLv2CacheTurtle *parent,
                                gchar *turtle_filename);

Allocate an AgsLv2CacheTurtle

#### Parameters

parent | the parent AgsLv2CacheTurtle |
turtle_filename | the .ttl filename |

#### Returns

a new AgsLv2CacheTurtle

Since: 3.2.7

### ags_lv2_cache_turtle_free ()

    void
    ags_lv2_cache_turtle_free (AgsLv2CacheTurtle *lv2_cache_turtle);

Free an AgsLv2CacheTurtle

#### Parameters

lv2_cache_turtle | the AgsLv2CacheTurtle |

Since: 3.2.7

### ags_lv2_cache_turtle_find ()

    GList *
    ags_lv2_cache_turtle_find (GList *lv2_cache_turtle,
                               gchar *turtle_filename);

Find `lv2_cache_turtle` matching `turtle_filename` .

#### Parameters

lv2_cache_turtle | a GList containing AgsLv2CacheTurtle |
turtle_filename | the .ttl filename |

#### Returns

the next matching GList

Since: 3.2.11

### ags_lv2_turtle_scanner_quick_scan_see_also ()

    void
    ags_lv2_turtle_scanner_quick_scan_see_also
                                   (AgsLv2TurtleScanner *lv2_turtle_scanner,
                                    AgsLv2CacheTurtle *parent,
                                    gchar *turtle_filename);

### ags_lv2_turtle_scanner_quick_scan ()

    void
    ags_lv2_turtle_scanner_quick_scan (AgsLv2TurtleScanner *lv2_turtle_scanner,
                                       gchar *manifest_filename);

Quick scan to detect available plugins.

#### Parameters

lv2_turtle_scanner | the AgsLv2TurtleScanner |
manifest_filename | the manifest filename |

Since: 3.2.7

### ags_lv2_turtle_scanner_new ()

    AgsLv2TurtleScanner *
    ags_lv2_turtle_scanner_new ();

Creates an AgsLv2TurtleScanner

#### Returns

a new AgsLv2TurtleScanner

Since: 3.2.7

## Types and Values

### enum AgsLv2TurtleScannerStatusFlags

Enum values to indicate internal state of AgsLv2TurtleScanner by enable/disable as status flags.

#### Members

AGS_LV2_TURTLE_SCANNER_A | scanner a verb |
AGS_LV2_TURTLE_SCANNER_SEEALSO | scanner see also |
AGS_LV2_TURTLE_SCANNER_BINARY | scanner binary |
AGS_LV2_TURTLE_SCANNER_NAME | scanner name |

### struct AgsLv2CacheTurtle

    struct AgsLv2CacheTurtle {
      AgsLv2CacheTurtle *parent;

      gchar *turtle_filename;

      GHashTable *prefix_id;

      GHashTable *plugin_filename;
      GHashTable *plugin_effect;

      GHashTable *is_plugin;
      GHashTable *is_instrument;

      guint plugin_count;

      gchar **see_also;
    };