Glib::Variant - strongly typed value datatype

NAME  SYNOPSIS  DESCRIPTION  CONVENIENCE API  HIERARCHY  METHODS  variant = Glib::Variant−>new_array ($child_type, $children)  variant = Glib::Variant−>new_boolean ($value)  variant = Glib::Variant−>new_byte ($value)  variant = Glib::Variant−>new_bytestring ($string)  variant = Glib::Variant−>new_dict_entry ($key, $value)  variant = Glib::Variant−>new_double ($value)  variant = Glib::Variant−>new_handle ($value)  variant = Glib::Variant−>new_int16 ($value)  variant = Glib::Variant−>new_int32 ($value)  variant = Glib::Variant−>new_int64 ($value)  variant = Glib::Variant−>new_maybe ($child_type, $child)  variant = Glib::Variant−>new_object_path ($object_path)  variant = Glib::Variant−>new_signature ($signature)  variant = Glib::Variant−>new_string ($string)  variant = Glib::Variant−>new_tuple ($children)  variant = Glib::Variant−>new_uint16 ($value)  variant = Glib::Variant−>new_uint32 ($value)  variant = Glib::Variant−>new_uint64 ($value)  variant = Glib::Variant−>new_variant ($value)  boolean = $value−>get_boolean  uchar = $value−>get_byte  string = $value−>get_bytestring  variant = $value−>byteswap  variant = $value−>get_child_value ($index_)  string = $value−>classify  integer = $one−>compare ($two)  double = $value−>get_double  boolean = $one−>equal ($two)  integer = $value−>get_handle  integer = $value−>hash  integer = $value−>get_int16  integer = $value−>get_int32  64 bit integer = $value−>get_int64  boolean = $value−>is_container  boolean = $value−>is_normal_form  boolean = $string−>is_object_path  boolean = $value−>is_of_type ($type)  boolean = $string−>is_signature  variant = $dictionary−>lookup_value ($key, $expected_type)  variant = $value−>get_maybe  unsigned = $value−>n_children  variant = $value−>get_normal_form  variant = Glib::Variant::parse ($type, $text)  string = $value−>print ($type_annotate)  unsigned = $value−>get_size  string = $value−>get_string  varianttype = $value−>get_type  string = $value−>get_type_string  unsigned = $value−>get_uint16  unsigned = $value−>get_uint32  64 bit unsigned = $value−>get_uint64  variant = $value−>get_variant  SEE ALSO  COPYRIGHT 

NAME

Glib::Variant − strongly typed value datatype

SYNOPSIS

my $v = Glib::Variant−>new ('as', ['GTK+', 'Perl']);
my $aref = $v−>get ('as');

DESCRIPTION

There are two sets of APIs for creating and dealing with "Glib::Variant"s: the low-level API described below under "METHODS", and the convenience API described in this section.

CONVENIENCE API

variant = Glib::Variant−>new ($format_string, $value)
(variant1, ...) = Glib::Variant−>new ($format_string, $value1, ...)

Constructs a variant from $format_string and $value. Also supports constructing multiple variants when the format string is a concatenation of multiple types.

value = $variant−>get ($format_string)

Deconstructs $variant according to $format_string.

The following symbols are currently supported in format strings:

+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
| Symbol | Meaning |
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+
| b, y, n, q, i, u, x, t, h, d | Boolean, byte and numeric types |
| s, o, g | String types |
| v | Variant types |
| a | Arrays |
| m | Maybe types |
| () | Tuples |
| {} | Dictionary entries |
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+

Note that if a format string specifies an array, a tuple or a dictionary entry ("a", "()" or "{}"), then array references are expected by "new" and produced by "get". For arrays of dictionary entries ("a{}"), hash references are also supported by "new" and handled as you would expect.

For a complete specification, see the documentation at
<https://developer.gnome.org/glib/stable/glib−GVariantType.html>
<https://developer.gnome.org/glib/stable/glib−GVariant.html>
<https://developer.gnome.org/glib/stable/gvariant−format−strings.html>
<https://developer.gnome.org/glib/stable/gvariant−text.html>

HIERARCHY

Glib::Variant

METHODS

variant = Glib::Variant−>new_array ($child_type, $children)

$child_type (Glib::VariantType)

$children (scalar)

variant = Glib::Variant−>new_boolean ($value)

$value (boolean)

variant = Glib::Variant−>new_byte ($value)

$value (Glib::UChar)

variant = Glib::Variant−>new_bytestring ($string)

$string (byte string)

Since: glib 2.26

variant = Glib::Variant−>new_dict_entry ($key, $value)

$key (Glib::Variant)

$value (Glib::Variant)

variant = Glib::Variant−>new_double ($value)

$value (double)

variant = Glib::Variant−>new_handle ($value)

$value (integer)

variant = Glib::Variant−>new_int16 ($value)

$value (integer)

variant = Glib::Variant−>new_int32 ($value)

$value (integer)

variant = Glib::Variant−>new_int64 ($value)

$value (64 bit integer)

variant = Glib::Variant−>new_maybe ($child_type, $child)

$child_type (Glib::VariantType)

$child (Glib::Variant)

variant = Glib::Variant−>new_object_path ($object_path)

$object_path (string)

variant = Glib::Variant−>new_signature ($signature)

$signature (string)

variant = Glib::Variant−>new_string ($string)

$string (string)

variant = Glib::Variant−>new_tuple ($children)

$children (scalar)

variant = Glib::Variant−>new_uint16 ($value)

$value (unsigned)

variant = Glib::Variant−>new_uint32 ($value)

$value (unsigned)

variant = Glib::Variant−>new_uint64 ($value)

$value (64 bit unsigned)

variant = Glib::Variant−>new_variant ($value)

$value (Glib::Variant)

boolean = $value−>get_boolean

uchar = $value−>get_byte

string = $value−>get_bytestring

Since: glib 2.26

variant = $value−>byteswap

variant = $value−>get_child_value ($index_)

$index_ (unsigned)

string = $value−>classify

integer = $one−>compare ($two)

$two (Glib::Variant)

Since: glib 2.26

double = $value−>get_double

boolean = $one−>equal ($two)

$two (Glib::Variant)

integer = $value−>get_handle

integer = $value−>hash

integer = $value−>get_int16

integer = $value−>get_int32

64 bit integer = $value−>get_int64

boolean = $value−>is_container

boolean = $value−>is_normal_form

boolean = $string−>is_object_path

boolean = $value−>is_of_type ($type)

$type (Glib::VariantType)

boolean = $string−>is_signature

variant = $dictionary−>lookup_value ($key, $expected_type)

$key (string)

$expected_type (Glib::VariantType)

Since: glib 2.28

variant = $value−>get_maybe

unsigned = $value−>n_children

variant = $value−>get_normal_form

variant = Glib::Variant::parse ($type, $text)

$type (Glib::VariantType)

$text (string)

May croak with a Glib::Error in $@ on failure.

string = $value−>print ($type_annotate)

$type_annotate (boolean)

unsigned = $value−>get_size

string = $value−>get_string

varianttype = $value−>get_type

string = $value−>get_type_string

unsigned = $value−>get_uint16

unsigned = $value−>get_uint32

64 bit unsigned = $value−>get_uint64

variant = $value−>get_variant

SEE ALSO

Glib, Glib::VariantType, Glib::VariantDict

COPYRIGHT

Copyright (C) 2003−2011 by the gtk2−perl team.

This software is licensed under the LGPL. See Glib for a full notice.


Updated 2024-01-29 - jenkler.se | uex.se