hi Torsten;

this is brilliant, and looks fairly complete already.

since GApplication uses GVariantDict in its command line arguments
API, I wonder if we'd need a Glib::VariantDict wrapper as well, or
maybe an automatic translation to an hashref.

GVariantIter and GVariantBuilder are also the most used types when
dealing with GDBus code.

ciao,
 Emmanuele.


On 4 January 2015 at 17:11, Torsten Schoenfeld <kaffeeti...@gmx.de> wrote:
> I just pushed mostly complete bindings of GVariant and GVariantType:
> <https://git.gnome.org/browse/perl-Glib/commit/?id=d0c52b8bb864a3377403623589f1c0cd8482717b>.
>
> After installation, rough docs are available via "perldoc
> Glib::Variant" and "perldoc Glib::VariantType".  Here is the initial
> section of the former:
>
> --------------------------------------------------------------------
> 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>
> --------------------------------------------------------------------
>
> Please try this new code and let me know what you think, especially if
> anything is missing.
> _______________________________________________
> gtk-perl-list mailing list
> gtk-perl-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-perl-list



-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
_______________________________________________
gtk-perl-list mailing list
gtk-perl-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-perl-list

Reply via email to