Container - Tag

Container - Tag — A container class for Language tag

Synopsis

gchar *             lt_tag_canonicalize                 (lt_tag_t *tag,
                                                         GError **error);
void                lt_tag_clear                        (lt_tag_t *tag);
gboolean            lt_tag_compare                      (const lt_tag_t *v1,
                                                         const lt_tag_t *v2);
gchar *             lt_tag_convert_to_locale            (lt_tag_t *tag,
                                                         GError **error);
lt_tag_t *          lt_tag_copy                         (const lt_tag_t *tag);
void                lt_tag_dump                         (const lt_tag_t *tag);
const lt_extension_t * lt_tag_get_extension             (const lt_tag_t *tag);
const lt_extlang_t * lt_tag_get_extlang                 (const lt_tag_t *tag);
const lt_grandfathered_t * lt_tag_get_grandfathered     (const lt_tag_t *tag);
const lt_lang_t *   lt_tag_get_language                 (const lt_tag_t *tag);
const GString *     lt_tag_get_privateuse               (const lt_tag_t *tag);
const lt_region_t * lt_tag_get_region                   (const lt_tag_t *tag);
const lt_script_t * lt_tag_get_script                   (const lt_tag_t *tag);
const gchar *       lt_tag_get_string                   (lt_tag_t *tag);
const GList *       lt_tag_get_variants                 (const lt_tag_t *tag);
gchar *             lt_tag_lookup                       (const lt_tag_t *tag,
                                                         const gchar *pattern,
                                                         GError **error);
gboolean            lt_tag_match                        (const lt_tag_t *v1,
                                                         const gchar *v2,
                                                         GError **error);
lt_tag_t *          lt_tag_new                          (void);
gboolean            lt_tag_parse                        (lt_tag_t *tag,
                                                         const gchar *tag_string,
                                                         GError **error);
lt_tag_t *          lt_tag_ref                          (lt_tag_t *tag);
                    lt_tag_t;
gboolean            lt_tag_truncate                     (lt_tag_t *tag,
                                                         GError **error);
void                lt_tag_unref                        (lt_tag_t *tag);

Description

This container class provides an interface to deal with the language tag.

Details

lt_tag_canonicalize ()

gchar *             lt_tag_canonicalize                 (lt_tag_t *tag,
                                                         GError **error);

Canonicalize the language tag according to various information of subtags.

tag :

a lt_tag_t.

error :

a GError or NULL. [allow-none]

Returns :

a language tag string.

lt_tag_clear ()

void                lt_tag_clear                        (lt_tag_t *tag);

(Re-)Initialize all of the subtag information stored in tag.

tag :

a lt_tag_t.

lt_tag_compare ()

gboolean            lt_tag_compare                      (const lt_tag_t *v1,
                                                         const lt_tag_t *v2);

Compare if v1 and v2 is the same object or not.

v1 :

a lt_tag_t.

v2 :

a lt_tag_t.

Returns :

TRUE if it's the same, otherwise FALSE.

lt_tag_convert_to_locale ()

gchar *             lt_tag_convert_to_locale            (lt_tag_t *tag,
                                                         GError **error);

Convert the language tag to the locale.

tag :

a lt_tag_t.

error :

a GError or NULL. [allow-none]

Returns :

a locale string or NULL if fails

lt_tag_copy ()

lt_tag_t *          lt_tag_copy                         (const lt_tag_t *tag);

Create a copy instance of tag.

tag :

a lt_tag_t.

Returns :

a new instance of lt_tag_t or NULL if fails. [transfer full]

lt_tag_dump ()

void                lt_tag_dump                         (const lt_tag_t *tag);

Dumps the container information to the standard output.

tag :

a lt_tag_t.

lt_tag_get_extension ()

const lt_extension_t * lt_tag_get_extension             (const lt_tag_t *tag);

Obtain a lt_extension_t instance in tag.

tag :

a lt_tag_t.

Returns :

a lt_extension_t. [transfer none]

lt_tag_get_extlang ()

const lt_extlang_t * lt_tag_get_extlang                 (const lt_tag_t *tag);

Obtain a lt_extlang_t instance in tag.

tag :

a lt_tag_t.

Returns :

a lt_extlang_t. [transfer none]

lt_tag_get_grandfathered ()

const lt_grandfathered_t * lt_tag_get_grandfathered     (const lt_tag_t *tag);

Obtain a lt_grandfathered_t instance in tag.

tag :

a lt_tag_t.

Returns :

a lt_grandfathered_t. [transfer none]

lt_tag_get_language ()

const lt_lang_t *   lt_tag_get_language                 (const lt_tag_t *tag);

Obtain a lt_lang_t instance in tag.

tag :

a lt_tag_t.

Returns :

a lt_lang_t. [transfer none]

lt_tag_get_privateuse ()

const GString *     lt_tag_get_privateuse               (const lt_tag_t *tag);

Obtain a GString instance in tag.

tag :

a lt_tag_t.

Returns :

a GString. [transfer none]

lt_tag_get_region ()

const lt_region_t * lt_tag_get_region                   (const lt_tag_t *tag);

Obtain a lt_region_t instance in tag.

tag :

a lt_tag_t.

Returns :

a lt_region_t. [transfer none]

lt_tag_get_script ()

const lt_script_t * lt_tag_get_script                   (const lt_tag_t *tag);

Obtain a lt_script_t instance in tag.

tag :

a lt_tag_t.

Returns :

a lt_script_t. [transfer none]

lt_tag_get_string ()

const gchar *       lt_tag_get_string                   (lt_tag_t *tag);

Obtains a language tag in string.

tag :

a lt_tag_t.

Returns :

a language tag string.

lt_tag_get_variants ()

const GList *       lt_tag_get_variants                 (const lt_tag_t *tag);

Obtain a list of lt_variant_t instance in tag.

tag :

a lt_tag_t.

Returns :

a GList containing lt_variant_t. [element-type lt_variant_t][transfer none]

lt_tag_lookup ()

gchar *             lt_tag_lookup                       (const lt_tag_t *tag,
                                                         const gchar *pattern,
                                                         GError **error);

Lookup the language tag that tag meets with pattern. Any of subtags in pattern is allowed to use the wildcard according to the syntax in RFC 4647.

tag :

a lt_tag_t.

pattern :

a language range string.

error :

a GError or NULL. [allow-none]

Returns :

a language tag string if any matches, otherwise NULL.

lt_tag_match ()

gboolean            lt_tag_match                        (const lt_tag_t *v1,
                                                         const gchar *v2,
                                                         GError **error);

Try matching of v1 and v2. any of subtags in v2 is allowed to use the wildcard according to the syntax in RFC 4647.

v1 :

a lt_tag_t.

v2 :

a language range string.

error :

a GError or NULL. [allow-none]

Returns :

TRUE if it matches, otherwise FALSE.

lt_tag_new ()

lt_tag_t *          lt_tag_new                          (void);

Create a new instance of lt_tag_t.

Returns :

a new instance of lt_tag_t. [transfer full]

lt_tag_parse ()

gboolean            lt_tag_parse                        (lt_tag_t *tag,
                                                         const gchar *tag_string,
                                                         GError **error);

Parse tag_string and create appropriate instances for subtags.

tag :

a lt_tag_t.

tag_string :

language tag to be parsed.

error :

a GError or NULL. [allow-none]

Returns :

TRUE if it's successfully completed, otherwise FALSE.

lt_tag_ref ()

lt_tag_t *          lt_tag_ref                          (lt_tag_t *tag);

Increases the reference count of tag.

tag :

a lt_tag_t.

Returns :

the same tag object. [transfer none]

lt_tag_t

typedef struct _lt_tag_t lt_tag_t;

All the fields in the lt_tag_t structure are private to the lt_tag_t implementation.


lt_tag_truncate ()

gboolean            lt_tag_truncate                     (lt_tag_t *tag,
                                                         GError **error);

Truncate the last subtag.

tag :

a lt_tag_t.

error :

a GError. [allow-none]

Returns :

TRUE if a subtag was truncated, otherwise FALSE.

lt_tag_unref ()

void                lt_tag_unref                        (lt_tag_t *tag);

Decreases the reference count of tag. when its reference count drops to 0, the object is finalized (i.e. its memory is freed).

tag :

a lt_tag_t.