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)
variant = Glib::Variant−>new_byte ($value)
variant = Glib::Variant−>new_bytestring ($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)
variant = Glib::Variant−>new_handle ($value)
variant = Glib::Variant−>new_int16 ($value)
variant = Glib::Variant−>new_int32 ($value)
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)
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)
•
$value (64 bit unsigned)
variant = Glib::Variant−>new_variant ($value)
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_)
string = $value−>classify
integer = $one−>compare ($two)
Since: glib
2.26
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)
•
$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