Project import
diff --git a/arm-linux-a5s.cache b/arm-linux-a5s.cache
new file mode 100644
index 0000000..633c969
--- /dev/null
+++ b/arm-linux-a5s.cache
@@ -0,0 +1,4 @@
+glib_cv_stack_grows=no
+glib_cv_uscore=no
+ac_cv_func_posix_getpwuid_r=yes
+ac_cv_func_posix_getgrgid_r=yes
diff --git a/build_glib.sh b/build_glib.sh
new file mode 100755
index 0000000..b3ff7e7
--- /dev/null
+++ b/build_glib.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+set -e
+
+TOP=`pwd`
+
+rm -rf dist
+mkdir dist
+
+rm -rf build
+mkdir build
+cd build
+
+tar xfv ../libffi-3.0.13.tar.gz
+cd libffi-3.0.13
+./configure --prefix=/usr \
+ --host=arm-none-linux-gnueabi \
+ --disable-static \
+ CFLAGS="-mtune=arm1136j-s -march=armv6 -Os" \
+ LDFLAGS="-Os -L$TOP/dist/usr/lib "
+make install DESTDIR=$TOP/dist
+cd $TOP
+
+cd build
+tar xfv ../glib-2.37.3.tar.xz
+cd glib-2.37.3
+
+
+LIBFFI_CFLAGS="-I$TOP/dist/usr/lib/libffi-3.0.13/include" \
+ LIBFFI_LIBS="-L$TOP/dist/usr/lib -lffi" \
+ ./autogen.sh
+
+./configure --prefix=/usr --cache-file=$TOP/arm-linux-a5s.cache --disable-gtk-doc-html --disable-man \
+ --host=arm-none-linux-gnueabi \
+ CFLAGS="-mtune=arm1136j-s -march=armv6 -Os" \
+ LIBFFI_CFLAGS="-I$TOP/dist/usr/lib/libffi-3.0.13/include" \
+ ZLIB_CFLAGS="-I$TOP/../../a5s_linux_sdk/ambarella/prebuild/third-party/zlib/include" \
+ LIBFFI_LIBS="-L$TOP/dist/usr/lib -lffi" \
+ ZLIB_LIBS="-L$TOP/../../a5s_linux_sdk/ambarella/prebuild/third-party/zlib/lib -lz" \
+ LDFLAGS="-s -Wl,-rpath,$TOP/dist/usr/lib -Wl,-rpath,$TOP/../../a5s_linux_sdk/ambarella/prebuild/third-party/zlib/lib "
+
+make install DESTDIR=$TOP/dist
+cd $TOP
+
+rm -rf fakeroot
+mkdir fakeroot
+cp -R dist/* fakeroot/
+
+rm -rf fakeroot/usr/bin
+rm -rf fakeroot/usr/share
+rm -rf fakeroot/usr/include
+rm -rf fakeroot/usr/lib/libffi-3.0.13/include
+rm -rf fakeroot/usr/lib/pkgconfig
+find fakeroot -name *.la -exec rm -f {} \;
+mkdir fakeroot/usr/bin
+cp dist/usr/bin/gdbus fakeroot/usr/bin/
+
+tar cjfv glib.tar.bz2 fakeroot
+cp glib.tar.bz2 ../../a5s_linux_sdk/ambarella/boards/dropcam/rootfs/
+
diff --git a/dist/usr/bin/gdbus b/dist/usr/bin/gdbus
new file mode 100755
index 0000000..fb82865
--- /dev/null
+++ b/dist/usr/bin/gdbus
Binary files differ
diff --git a/dist/usr/bin/gdbus-codegen b/dist/usr/bin/gdbus-codegen
new file mode 100755
index 0000000..7c85a3a
--- /dev/null
+++ b/dist/usr/bin/gdbus-codegen
@@ -0,0 +1,41 @@
+#!/usr/bin/python
+
+# GDBus - GLib D-Bus Library
+#
+# Copyright (C) 2008-2011 Red Hat, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General
+# Public License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+# Author: David Zeuthen <davidz@redhat.com>
+
+
+import os
+import sys
+
+srcdir = os.getenv('UNINSTALLED_GLIB_SRCDIR', None)
+
+if srcdir is not None:
+ path = os.path.join(srcdir, 'gio', 'gdbus-2.0')
+elif os.name == 'nt':
+ # Makes gdbus-codegen 'relocatable' at runtime on Windows.
+ path = os.path.join(os.path.dirname(__file__), '..', 'lib', 'gdbus-2.0')
+else:
+ path = os.path.join('/usr/share', 'glib-2.0')
+
+sys.path.insert(0, os.path.abspath(path))
+from codegen import codegen_main
+
+sys.exit(codegen_main.codegen_main())
diff --git a/dist/usr/bin/gio-querymodules b/dist/usr/bin/gio-querymodules
new file mode 100755
index 0000000..77dff60
--- /dev/null
+++ b/dist/usr/bin/gio-querymodules
Binary files differ
diff --git a/dist/usr/bin/glib-compile-resources b/dist/usr/bin/glib-compile-resources
new file mode 100755
index 0000000..902f361
--- /dev/null
+++ b/dist/usr/bin/glib-compile-resources
Binary files differ
diff --git a/dist/usr/bin/glib-compile-schemas b/dist/usr/bin/glib-compile-schemas
new file mode 100755
index 0000000..aa2bccb
--- /dev/null
+++ b/dist/usr/bin/glib-compile-schemas
Binary files differ
diff --git a/dist/usr/bin/glib-genmarshal b/dist/usr/bin/glib-genmarshal
new file mode 100755
index 0000000..6e69e53
--- /dev/null
+++ b/dist/usr/bin/glib-genmarshal
Binary files differ
diff --git a/dist/usr/bin/glib-gettextize b/dist/usr/bin/glib-gettextize
new file mode 100755
index 0000000..6e6e1ea
--- /dev/null
+++ b/dist/usr/bin/glib-gettextize
@@ -0,0 +1,188 @@
+#! /bin/sh
+#
+# Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+# - Modified in October 2001 by jacob berkman <jacob@ximian.com> to
+# work with glib's Makefile.in.in and po2tbl.sed.in, to not copy in
+# intl/, and to not add ChangeLog entries to po/ChangeLog
+
+# This file is meant for authors or maintainers which want to
+# internationalize their package with the help of GNU gettext. For
+# further information how to use it consult the GNU gettext manual.
+
+echo=echo
+progname=$0
+force=0
+configstatus=0
+origdir=`pwd`
+usage="\
+Usage: glib-gettextize [OPTION]... [package-dir]
+ --help print this help and exit
+ --version print version information and exit
+ -c, --copy copy files instead of making symlinks
+ -f, --force force writing of new files even if old exist
+Report bugs to http://bugzilla.gnome.org/."
+package=glib
+version=2.37.3
+try_ln_s=:
+
+# Directory where the sources are stored.
+prefix=/usr
+case `uname` in
+MINGW32*)
+ prefix="`dirname $0`/.."
+ ;;
+esac
+
+datarootdir=${prefix}/share
+datadir=${datarootdir}
+
+gettext_dir=$prefix/share/glib-2.0/gettext
+
+while test $# -gt 0; do
+ case "$1" in
+ -c | --copy | --c* )
+ shift
+ try_ln_s=false ;;
+ -f | --force | --f* )
+ shift
+ force=1 ;;
+ -r | --run | --r* )
+ shift
+ configstatus=1 ;;
+ --help | --h* )
+ $echo "$usage"; exit 0 ;;
+ --version | --v* )
+ echo "$progname (GNU $package) $version"
+ $echo "Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+ $echo "Written by" "Ulrich Drepper"
+ exit 0 ;;
+ -- ) # Stop option prcessing
+ shift; break ;;
+ -* )
+ $echo "glib-gettextize: unknown option $1"
+ $echo "Try \`glib-gettextize --help' for more information."; exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# -gt 1; then
+ $echo "$usage"
+ exit 1
+fi
+
+# Fill in the command line options value.
+if test $# -eq 1; then
+ srcdir=$1
+ if cd "$srcdir"; then
+ srcdir=`pwd`
+ else
+ $echo "Cannot change directory to \`$srcdir'"
+ exit 1
+ fi
+else
+ srcdir=$origdir
+fi
+
+test -f configure.in || test -f configure.ac || {
+ $echo "Missing configure.in or configure.ac, please cd to your package first."
+ exit 1
+}
+
+configure_in=NONE
+if test -f configure.in; then
+ configure_in=configure.in
+else
+ if test -f configure.ac; then
+ configure_in=configure.ac
+ fi
+fi
+# Check in which directory config.rpath, mkinstalldirs etc. belong.
+auxdir=`cat "$configure_in" | grep '^AC_CONFIG_AUX_DIR' | sed -n -e 's/AC_CONFIG_AUX_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
+if test -n "$auxdir"; then
+ auxdir="$auxdir/"
+fi
+
+if test -f po/Makefile.in.in && test $force -eq 0; then
+ $echo "\
+po/Makefile.in.in exists: use option -f if you really want to delete it."
+ exit 1
+fi
+
+test -d po || {
+ $echo "Creating po/ subdirectory"
+ mkdir po || {
+ $echo "failed to create po/ subdirectory"
+ exit 1
+ }
+}
+
+# For simplicity we changed to the gettext source directory.
+cd $gettext_dir || {
+ $echo "gettext source directory '${gettext_dir}' doesn't exist"
+ exit 1
+}
+
+# Now copy all files. Take care for the destination directories.
+for file in *; do
+ case $file in
+ intl | po)
+ ;;
+ mkinstalldirs)
+ rm -f "$srcdir/$auxdir$file"
+ ($try_ln_s && ln -s $gettext_dir/$file "$srcdir/$auxdir$file" && $echo "Symlinking file $file") 2>/dev/null ||
+ { $echo "Copying file $file"; cp $file "$srcdir/$auxdir$file"; }
+ ;;
+ *)
+ rm -f "$srcdir/$file"
+ ($try_ln_s && ln -s $gettext_dir/$file "$srcdir/$file" && $echo "Symlinking file $file") 2>/dev/null ||
+ { $echo "Copying file $file"; cp $file "$srcdir/$file"; }
+ ;;
+ esac
+done
+
+# Copy files to po/ subdirectory.
+cd po
+for file in *; do
+ rm -f "$srcdir/po/$file"
+ ($try_ln_s && ln -s $gettext_dir/po/$file "$srcdir/po/$file" && $echo "Symlinking file po/$file") 2>/dev/null ||
+ { $echo "Copying file po/$file"; cp $file "$srcdir/po/$file"; }
+done
+if test -f "$srcdir/po/cat-id-tbl.c"; then
+ $echo "Removing po/cat-id-tbl.c"
+ rm -f "$srcdir/po/cat-id-tbl.c"
+fi
+if test -f "$srcdir/po/stamp-cat-id"; then
+ $echo "Removing po/stamp-cat-id"
+ rm -f "$srcdir/po/stamp-cat-id"
+fi
+
+echo
+echo "Please add the files"
+echo " codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4"
+echo " progtest.m4"
+echo "from the $datadir/aclocal directory to your autoconf macro directory"
+echo "or directly to your aclocal.m4 file."
+echo "You will also need config.guess and config.sub, which you can get from"
+echo "ftp://ftp.gnu.org/pub/gnu/config/."
+echo
+
+exit 0
diff --git a/dist/usr/bin/glib-mkenums b/dist/usr/bin/glib-mkenums
new file mode 100755
index 0000000..f0a3ad6
--- /dev/null
+++ b/dist/usr/bin/glib-mkenums
@@ -0,0 +1,565 @@
+#! /usr/bin/perl
+
+use warnings;
+use File::Basename;
+use Safe;
+
+# glib-mkenums.pl
+# Information about the current enumeration
+my $flags; # Is enumeration a bitmask?
+my $option_underscore_name; # Overriden underscore variant of the enum name
+ # for example to fix the cases we don't get the
+ # mixed-case -> underscorized transform right.
+my $option_lowercase_name; # DEPRECATED. A lower case name to use as part
+ # of the *_get_type() function, instead of the
+ # one that we guess. For instance, when an enum
+ # uses abnormal capitalization and we can not
+ # guess where to put the underscores.
+my $seenbitshift; # Have we seen bitshift operators?
+my $enum_prefix; # Prefix for this enumeration
+my $enumname; # Name for this enumeration
+my $enumshort; # $enumname without prefix
+my $enumname_prefix; # prefix of $enumname
+my $enumindex = 0; # Global enum counter
+my $firstenum = 1; # Is this the first enumeration per file?
+my @entries; # [ $name, $val ] for each entry
+my $sandbox = Safe->new; # sandbox for safe evaluation of expressions
+
+sub parse_trigraph {
+ my $opts = shift;
+ my @opts;
+
+ for $opt (split /\s*,\s*/, $opts) {
+ $opt =~ s/^\s*//;
+ $opt =~ s/\s*$//;
+ my ($key,$val) = $opt =~ /(\w+)(?:=(.+))?/;
+ defined $val or $val = 1;
+ push @opts, $key, $val;
+ }
+ @opts;
+}
+sub parse_entries {
+ my $file = shift;
+ my $file_name = shift;
+ my $looking_for_name = 0;
+
+ while (<$file>) {
+ # read lines until we have no open comments
+ while (m@/\*([^*]|\*(?!/))*$@) {
+ my $new;
+ defined ($new = <$file>) || die "Unmatched comment in $ARGV";
+ $_ .= $new;
+ }
+ # strip comments w/o options
+ s@/\*(?!<)
+ ([^*]+|\*(?!/))*
+ \*/@@gx;
+
+ # strip newlines
+ s@\n@ @;
+
+ # skip empty lines
+ next if m@^\s*$@;
+
+ if ($looking_for_name) {
+ if (/^\s*(\w+)/) {
+ $enumname = $1;
+ return 1;
+ }
+ }
+
+ # Handle include files
+ if (/^\#include\s*<([^>]*)>/ ) {
+ my $file= "../$1";
+ open NEWFILE, $file or die "Cannot open include file $file: $!\n";
+
+ if (parse_entries (\*NEWFILE, $NEWFILE)) {
+ return 1;
+ } else {
+ next;
+ }
+ }
+
+ if (/^\s*\}\s*(\w+)/) {
+ $enumname = $1;
+ $enumindex++;
+ return 1;
+ }
+
+ if (/^\s*\}/) {
+ $enumindex++;
+ $looking_for_name = 1;
+ next;
+ }
+
+ if (m@^\s*
+ (\w+)\s* # name
+ (?:=( # value
+ \s*\w+\s*\(.*\)\s* # macro with multiple args
+ | # OR
+ (?:[^,/]|/(?!\*))* # anything but a comma or comment
+ ))?,?\s*
+ (?:/\*< # options
+ (([^*]|\*(?!/))*)
+ >\s*\*/)?,?
+ \s*$
+ @x) {
+ my ($name, $value, $options) = ($1,$2,$3);
+
+ if (!defined $flags && defined $value && $value =~ /<</) {
+ $seenbitshift = 1;
+ }
+
+ if (defined $options) {
+ my %options = parse_trigraph($options);
+ if (!defined $options{skip}) {
+ push @entries, [ $name, $value, $options{nick} ];
+ }
+ } else {
+ push @entries, [ $name, $value ];
+ }
+ } elsif (m@^\s*\#@) {
+ # ignore preprocessor directives
+ } else {
+ print STDERR "$0: $file_name:$.: Failed to parse `$_'\n";
+ }
+ }
+
+ return 0;
+}
+
+sub version {
+ print "glib-mkenums version glib-2.37.3\n";
+ print "glib-mkenums comes with ABSOLUTELY NO WARRANTY.\n";
+ print "You may redistribute copies of glib-mkenums under the terms of\n";
+ print "the GNU General Public License which can be found in the\n";
+ print "GLib source package. Sources, examples and contact\n";
+ print "information are available at http://www.gtk.org\n";
+ exit 0;
+}
+sub usage {
+ print "Usage:\n";
+ print " glib-mkenums [OPTION...] [FILES...]\n\n";
+ print "Help Options:\n";
+ print " -h, --help Show this help message\n\n";
+ print "Utility Options:\n";
+ print " --identifier-prefix <text> Identifier prefix\n";
+ print " --symbol-prefix <text> Symbol prefix\n";
+ print " --fhead <text> Output file header\n";
+ print " --fprod <text> Per input file production\n";
+ print " --ftail <text> Output file trailer\n";
+ print " --eprod <text> Per enum text (produced prior to value itarations)\n";
+ print " --vhead <text> Value header, produced before iterating over enum values\n";
+ print " --vprod <text> Value text, produced for each enum value\n";
+ print " --vtail <text> Value tail, produced after iterating over enum values\n";
+ print " --comments <text> Comment structure\n";
+ print " --template file Template file\n";
+ print " -v, --version Print version informations\n\n";
+ print "Production text substitutions:\n";
+ print " \@EnumName\@ PrefixTheXEnum\n";
+ print " \@enum_name\@ prefix_the_xenum\n";
+ print " \@ENUMNAME\@ PREFIX_THE_XENUM\n";
+ print " \@ENUMSHORT\@ THE_XENUM\n";
+ print " \@ENUMPREFIX\@ PREFIX\n";
+ print " \@VALUENAME\@ PREFIX_THE_XVALUE\n";
+ print " \@valuenick\@ the-xvalue\n";
+ print " \@valuenum\@ the integer value (limited support, Since: 2.26)\n";
+ print " \@type\@ either enum or flags\n";
+ print " \@Type\@ either Enum or Flags\n";
+ print " \@TYPE\@ either ENUM or FLAGS\n";
+ print " \@filename\@ name of current input file\n";
+ print " \@basename\@ base name of the current input file (Since: 2.22)\n";
+ exit 0;
+}
+
+# production variables:
+my $idprefix = ""; # "G", "Gtk", etc
+my $symprefix = ""; # "g", "gtk", etc, if not just lc($idprefix)
+my $fhead = ""; # output file header
+my $fprod = ""; # per input file production
+my $ftail = ""; # output file trailer
+my $eprod = ""; # per enum text (produced prior to value itarations)
+my $vhead = ""; # value header, produced before iterating over enum values
+my $vprod = ""; # value text, produced for each enum value
+my $vtail = ""; # value tail, produced after iterating over enum values
+my $comment_tmpl = ""; # comment template
+
+sub read_template_file {
+ my ($file) = @_;
+ my %tmpl = ('file-header', $fhead,
+ 'file-production', $fprod,
+ 'file-tail', $ftail,
+ 'enumeration-production', $eprod,
+ 'value-header', $vhead,
+ 'value-production', $vprod,
+ 'value-tail', $vtail,
+ 'comment', $comment_tmpl);
+ my $in = 'junk';
+ open (FILE, $file) || die "Can't open $file: $!\n";
+ while (<FILE>) {
+ if (/^\/\*\*\*\s+(BEGIN|END)\s+([\w-]+)\s+\*\*\*\//) {
+ if (($in eq 'junk') && ($1 eq 'BEGIN') && (exists($tmpl{$2}))) {
+ $in = $2;
+ next;
+ }
+ elsif (($in eq $2) && ($1 eq 'END') && (exists($tmpl{$2}))) {
+ $in = 'junk';
+ next;
+ } else {
+ die "Malformed template file $file\n";
+ }
+ }
+ if (!($in eq 'junk')) {
+ $tmpl{$in} .= $_;
+ }
+ }
+ close (FILE);
+ if (!($in eq 'junk')) {
+ die "Malformed template file $file\n";
+ }
+ $fhead = $tmpl{'file-header'};
+ $fprod = $tmpl{'file-production'};
+ $ftail = $tmpl{'file-tail'};
+ $eprod = $tmpl{'enumeration-production'};
+ $vhead = $tmpl{'value-header'};
+ $vprod = $tmpl{'value-production'};
+ $vtail = $tmpl{'value-tail'};
+ $comment_tmpl = $tmpl{'comment'};
+
+ # default to C-style comments
+ $comment_tmpl = "/* \@comment\@ */" if $comment_tmpl eq "";
+}
+
+if (!defined $ARGV[0]) {
+ usage;
+}
+while ($_=$ARGV[0],/^-/) {
+ shift;
+ last if /^--$/;
+ if (/^--template$/) { read_template_file (shift); }
+ elsif (/^--identifier-prefix$/) { $idprefix = shift }
+ elsif (/^--symbol-prefix$/) { $symprefix = shift }
+ elsif (/^--fhead$/) { $fhead = $fhead . shift }
+ elsif (/^--fprod$/) { $fprod = $fprod . shift }
+ elsif (/^--ftail$/) { $ftail = $ftail . shift }
+ elsif (/^--eprod$/) { $eprod = $eprod . shift }
+ elsif (/^--vhead$/) { $vhead = $vhead . shift }
+ elsif (/^--vprod$/) { $vprod = $vprod . shift }
+ elsif (/^--vtail$/) { $vtail = $vtail . shift }
+ elsif (/^--comments$/) { $comment_tmpl = shift }
+ elsif (/^--help$/ || /^-h$/ || /^-\?$/) { usage; }
+ elsif (/^--version$/ || /^-v$/) { version; }
+ else { usage; }
+ last if not defined($ARGV[0]);
+}
+
+# put auto-generation comment
+{
+ my $comment = $comment_tmpl;
+ $comment =~ s/\@comment\@/Generated data (by glib-mkenums)/;
+ print "\n" . $comment . "\n\n";
+}
+
+if (length($fhead)) {
+ my $prod = $fhead;
+ my $base = basename ($ARGV[0]);
+
+ $prod =~ s/\@filename\@/$ARGV[0]/g;
+ $prod =~ s/\@basename\@/$base/g;
+ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
+ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
+ chomp ($prod);
+
+ print "$prod\n";
+}
+
+while (<>) {
+ if (eof) {
+ close (ARGV); # reset line numbering
+ $firstenum = 1; # Flag to print filename at next enum
+ }
+
+ # read lines until we have no open comments
+ while (m@/\*([^*]|\*(?!/))*$@) {
+ my $new;
+ defined ($new = <>) || die "Unmatched comment in $ARGV";
+ $_ .= $new;
+ }
+ # strip comments w/o options
+ s@/\*(?!<)
+ ([^*]+|\*(?!/))*
+ \*/@@gx;
+
+ # ignore forward declarations
+ next if /^\s*typedef\s+enum.*;/;
+
+ if (m@^\s*typedef\s+enum\s*
+ ({)?\s*
+ (?:/\*<
+ (([^*]|\*(?!/))*)
+ >\s*\*/)?
+ \s*({)?
+ @x) {
+ if (defined $2) {
+ my %options = parse_trigraph ($2);
+ next if defined $options{skip};
+ $enum_prefix = $options{prefix};
+ $flags = $options{flags};
+ $option_lowercase_name = $options{lowercase_name};
+ $option_underscore_name = $options{underscore_name};
+ } else {
+ $enum_prefix = undef;
+ $flags = undef;
+ $option_lowercase_name = undef;
+ $option_underscore_name = undef;
+ }
+ if (defined $option_lowercase_name) {
+ if (defined $option_underscore_name) {
+ print STDERR "$0: $ARGV:$.: lowercase_name overriden with underscore_name\n";
+ $option_lowercase_name = undef;
+ } else {
+ print STDERR "$0: $ARGV:$.: lowercase_name is deprecated, use underscore_name\n";
+ }
+ }
+ # Didn't have trailing '{' look on next lines
+ if (!defined $1 && !defined $4) {
+ while (<>) {
+ if (eof) {
+ die "Hit end of file while parsing enum in $ARGV";
+ }
+ if (s/^\s*\{//) {
+ last;
+ }
+ }
+ }
+
+ $seenbitshift = 0;
+ @entries = ();
+
+ # Now parse the entries
+ parse_entries (\*ARGV, $ARGV);
+
+ # figure out if this was a flags or enums enumeration
+ if (!defined $flags) {
+ $flags = $seenbitshift;
+ }
+
+ # Autogenerate a prefix
+ if (!defined $enum_prefix) {
+ for (@entries) {
+ my $nick = $_->[2];
+ if (!defined $nick) {
+ my $name = $_->[0];
+ if (defined $enum_prefix) {
+ my $tmp = ~ ($name ^ $enum_prefix);
+ ($tmp) = $tmp =~ /(^\xff*)/;
+ $enum_prefix = $enum_prefix & $tmp;
+ } else {
+ $enum_prefix = $name;
+ }
+ }
+ }
+ if (!defined $enum_prefix) {
+ $enum_prefix = "";
+ } else {
+ # Trim so that it ends in an underscore
+ $enum_prefix =~ s/_[^_]*$/_/;
+ }
+ } else {
+ # canonicalize user defined prefixes
+ $enum_prefix = uc($enum_prefix);
+ $enum_prefix =~ s/-/_/g;
+ $enum_prefix =~ s/(.*)([^_])$/$1$2_/;
+ }
+
+ for $entry (@entries) {
+ my ($name,$num,$nick) = @{$entry};
+ if (!defined $nick) {
+ ($nick = $name) =~ s/^$enum_prefix//;
+ $nick =~ tr/_/-/;
+ $nick = lc($nick);
+ @{$entry} = ($name, $num, $nick);
+ }
+ }
+
+
+ # Spit out the output
+ if (defined $option_underscore_name) {
+ $enumlong = uc $option_underscore_name;
+ $enumsym = lc $option_underscore_name;
+ $enumshort = $enumlong;
+ $enumshort =~ s/^[A-Z][A-Z0-9]*_//;
+
+ $enumname_prefix = $enumlong;
+ $enumname_prefix =~ s/_$enumshort$//;
+ } elsif (!$symprefix && !$idprefix) {
+ # enumname is e.g. GMatchType
+ $enspace = $enumname;
+ $enspace =~ s/^([A-Z][a-z]*).*$/$1/;
+
+ $enumshort = $enumname;
+ $enumshort =~ s/^[A-Z][a-z]*//;
+ $enumshort =~ s/([^A-Z])([A-Z])/$1_$2/g;
+ $enumshort =~ s/([A-Z][A-Z])([A-Z][0-9a-z])/$1_$2/g;
+ $enumshort = uc($enumshort);
+
+ $enumname_prefix = $enumname;
+ $enumname_prefix =~ s/^([A-Z][a-z]*).*$/$1/;
+ $enumname_prefix = uc($enumname_prefix);
+
+ $enumlong = uc($enspace) . "_" . $enumshort;
+ $enumsym = lc($enspace) . "_" . lc($enumshort);
+
+ if (defined($option_lowercase_name)) {
+ $enumsym = $option_lowercase_name;
+ }
+ } else {
+ $enumshort = $enumname;
+ if ($idprefix) {
+ $enumshort =~ s/^${idprefix}//;
+ } else {
+ $enumshort =~ s/^[A-Z][a-z]*//;
+ }
+ $enumshort =~ s/([^A-Z])([A-Z])/$1_$2/g;
+ $enumshort =~ s/([A-Z][A-Z])([A-Z][0-9a-z])/$1_$2/g;
+ $enumshort = uc($enumshort);
+
+ $enumname_prefix = $symprefix && uc($symprefix) || uc($idprefix);
+
+ $enumlong = $enumname_prefix . "_" . $enumshort;
+ $enumsym = lc($enumlong);
+ }
+
+ if ($firstenum) {
+ $firstenum = 0;
+
+ if (length($fprod)) {
+ my $prod = $fprod;
+ my $base = basename ($ARGV);
+
+ $prod =~ s/\@filename\@/$ARGV/g;
+ $prod =~ s/\@basename\@/$base/g;
+ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
+ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
+ chomp ($prod);
+
+ print "$prod\n";
+ }
+ }
+
+ if (length($eprod)) {
+ my $prod = $eprod;
+
+ $prod =~ s/\@enum_name\@/$enumsym/g;
+ $prod =~ s/\@EnumName\@/$enumname/g;
+ $prod =~ s/\@ENUMSHORT\@/$enumshort/g;
+ $prod =~ s/\@ENUMNAME\@/$enumlong/g;
+ $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g;
+ if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; }
+ if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; }
+ if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; }
+ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
+ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
+ chomp ($prod);
+
+ print "$prod\n";
+ }
+
+ if (length($vhead)) {
+ my $prod = $vhead;
+
+ $prod =~ s/\@enum_name\@/$enumsym/g;
+ $prod =~ s/\@EnumName\@/$enumname/g;
+ $prod =~ s/\@ENUMSHORT\@/$enumshort/g;
+ $prod =~ s/\@ENUMNAME\@/$enumlong/g;
+ $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g;
+ if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; }
+ if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; }
+ if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; }
+ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
+ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
+ chomp ($prod);
+
+ print "$prod\n";
+ }
+
+ if (length($vprod)) {
+ my $prod = $vprod;
+ my $next_num = 0;
+
+ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
+ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
+ for (@entries) {
+ my ($name,$num,$nick) = @{$_};
+ my $tmp_prod = $prod;
+
+ if ($prod =~ /\@valuenum\@/) {
+ # only attempt to eval the value if it is requested
+ # this prevents us from throwing errors otherwise
+ if (defined $num) {
+ # use sandboxed perl evaluation as a reasonable
+ # approximation to C constant folding
+ $num = $sandbox->reval ($num);
+
+ # make sure it parsed to an integer
+ if (!defined $num or $num !~ /^-?\d+$/) {
+ die "Unable to parse enum value '$num'";
+ }
+ } else {
+ $num = $next_num;
+ }
+
+ $tmp_prod =~ s/\@valuenum\@/$num/g;
+ $next_num = $num + 1;
+ }
+
+ $tmp_prod =~ s/\@VALUENAME\@/$name/g;
+ $tmp_prod =~ s/\@valuenick\@/$nick/g;
+ if ($flags) { $tmp_prod =~ s/\@type\@/flags/g; } else { $tmp_prod =~ s/\@type\@/enum/g; }
+ if ($flags) { $tmp_prod =~ s/\@Type\@/Flags/g; } else { $tmp_prod =~ s/\@Type\@/Enum/g; }
+ if ($flags) { $tmp_prod =~ s/\@TYPE\@/FLAGS/g; } else { $tmp_prod =~ s/\@TYPE\@/ENUM/g; }
+ chomp ($tmp_prod);
+
+ print "$tmp_prod\n";
+ }
+ }
+
+ if (length($vtail)) {
+ my $prod = $vtail;
+
+ $prod =~ s/\@enum_name\@/$enumsym/g;
+ $prod =~ s/\@EnumName\@/$enumname/g;
+ $prod =~ s/\@ENUMSHORT\@/$enumshort/g;
+ $prod =~ s/\@ENUMNAME\@/$enumlong/g;
+ $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g;
+ if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; }
+ if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; }
+ if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; }
+ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
+ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
+ chomp ($prod);
+
+ print "$prod\n";
+ }
+ }
+}
+
+if (length($ftail)) {
+ my $prod = $ftail;
+ my $base = basename ($ARGV);
+
+ $prod =~ s/\@filename\@/$ARGV/g;
+ $prod =~ s/\@basename\@/$base/g;
+ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
+ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
+ chomp ($prod);
+
+ print "$prod\n";
+}
+
+# put auto-generation comment
+{
+ my $comment = $comment_tmpl;
+ $comment =~ s/\@comment\@/Generated data ends here/;
+ print "\n" . $comment . "\n\n";
+}
diff --git a/dist/usr/bin/gobject-query b/dist/usr/bin/gobject-query
new file mode 100755
index 0000000..31c8188
--- /dev/null
+++ b/dist/usr/bin/gobject-query
Binary files differ
diff --git a/dist/usr/bin/gresource b/dist/usr/bin/gresource
new file mode 100755
index 0000000..37adae8
--- /dev/null
+++ b/dist/usr/bin/gresource
Binary files differ
diff --git a/dist/usr/bin/gsettings b/dist/usr/bin/gsettings
new file mode 100755
index 0000000..75ad9d7
--- /dev/null
+++ b/dist/usr/bin/gsettings
Binary files differ
diff --git a/dist/usr/bin/gtester b/dist/usr/bin/gtester
new file mode 100755
index 0000000..b16992a
--- /dev/null
+++ b/dist/usr/bin/gtester
Binary files differ
diff --git a/dist/usr/bin/gtester-report b/dist/usr/bin/gtester-report
new file mode 100755
index 0000000..e278189
--- /dev/null
+++ b/dist/usr/bin/gtester-report
@@ -0,0 +1,492 @@
+#!/usr/bin/python
+# GLib Testing Framework Utility -*- Mode: python; -*-
+# Copyright (C) 2007 Imendio AB
+# Authors: Tim Janik
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+import datetime
+import optparse
+import sys, re, xml.dom.minidom
+
+try:
+ import subunit
+ from subunit import iso8601
+ from testtools.content import Content, ContentType
+ mime_utf8 = ContentType('text', 'plain', {'charset': 'utf8'})
+except ImportError:
+ subunit = None
+
+
+pkginstall_configvars = {
+ #@PKGINSTALL_CONFIGVARS_IN24LINES@ # configvars are substituted upon script installation
+}
+
+# xml utilities
+def find_child (node, child_name):
+ for child in node.childNodes:
+ if child.nodeName == child_name:
+ return child
+ return None
+def list_children (node, child_name):
+ rlist = []
+ for child in node.childNodes:
+ if child.nodeName == child_name:
+ rlist += [ child ]
+ return rlist
+def find_node (node, name = None):
+ if not node or node.nodeName == name or not name:
+ return node
+ for child in node.childNodes:
+ c = find_node (child, name)
+ if c:
+ return c
+ return None
+def node_as_text (node, name = None):
+ if name:
+ node = find_node (node, name)
+ txt = ''
+ if node:
+ if node.nodeValue:
+ txt += node.nodeValue
+ for child in node.childNodes:
+ txt += node_as_text (child)
+ return txt
+def attribute_as_text (node, aname, node_name = None):
+ node = find_node (node, node_name)
+ if not node:
+ return ''
+ attr = node.attributes.get (aname, '')
+ if hasattr (attr, 'value'):
+ return attr.value
+ return ''
+
+# HTML utilities
+def html_indent_string (n):
+ uncollapsible_space = ' ' # HTML won't compress alternating sequences of ' ' and ' '
+ string = ''
+ for i in range (0, (n + 1) / 2):
+ string += uncollapsible_space
+ return string
+
+# TestBinary object, instantiated per test binary in the log file
+class TestBinary:
+ def __init__ (self, name):
+ self.name = name
+ self.testcases = []
+ self.duration = 0
+ self.success_cases = 0
+ self.skipped_cases = 0
+ self.file = '???'
+ self.random_seed = ''
+
+# base class to handle processing/traversion of XML nodes
+class TreeProcess:
+ def __init__ (self):
+ self.nest_level = 0
+ def trampoline (self, node):
+ name = node.nodeName
+ if name == '#text':
+ self.handle_text (node)
+ else:
+ try: method = getattr (self, 'handle_' + re.sub ('[^a-zA-Z0-9]', '_', name))
+ except: method = None
+ if method:
+ return method (node)
+ else:
+ return self.process_recursive (name, node)
+ def process_recursive (self, node_name, node):
+ self.process_children (node)
+ def process_children (self, node):
+ self.nest_level += 1
+ for child in node.childNodes:
+ self.trampoline (child)
+ self.nest_level += 1
+
+# test report reader, this class collects some statistics and merges duplicate test binary runs
+class ReportReader (TreeProcess):
+ def __init__ (self):
+ TreeProcess.__init__ (self)
+ self.binary_names = []
+ self.binaries = {}
+ self.last_binary = None
+ self.info = {}
+ def binary_list (self):
+ lst = []
+ for name in self.binary_names:
+ lst += [ self.binaries[name] ]
+ return lst
+ def get_info (self):
+ return self.info
+ def handle_info (self, node):
+ dn = find_child (node, 'package')
+ self.info['package'] = node_as_text (dn)
+ dn = find_child (node, 'version')
+ self.info['version'] = node_as_text (dn)
+ dn = find_child (node, 'revision')
+ if dn is not None:
+ self.info['revision'] = node_as_text (dn)
+ def handle_testcase (self, node):
+ self.last_binary.testcases += [ node ]
+ result = attribute_as_text (node, 'result', 'status')
+ if result == 'success':
+ self.last_binary.success_cases += 1
+ if bool (int (attribute_as_text (node, 'skipped') + '0')):
+ self.last_binary.skipped_cases += 1
+ def handle_text (self, node):
+ pass
+ def handle_testbinary (self, node):
+ path = node.attributes.get ('path', None).value
+ if self.binaries.get (path, -1) == -1:
+ self.binaries[path] = TestBinary (path)
+ self.binary_names += [ path ]
+ self.last_binary = self.binaries[path]
+ dn = find_child (node, 'duration')
+ dur = node_as_text (dn)
+ try: dur = float (dur)
+ except: dur = 0
+ if dur:
+ self.last_binary.duration += dur
+ bin = find_child (node, 'binary')
+ if bin:
+ self.last_binary.file = attribute_as_text (bin, 'file')
+ rseed = find_child (node, 'random-seed')
+ if rseed:
+ self.last_binary.random_seed = node_as_text (rseed)
+ self.process_children (node)
+
+
+class ReportWriter(object):
+ """Base class for reporting."""
+
+ def __init__(self, binary_list):
+ self.binaries = binary_list
+
+ def _error_text(self, node):
+ """Get a string representing the error children of node."""
+ rlist = list_children(node, 'error')
+ txt = ''
+ for enode in rlist:
+ txt += node_as_text (enode)
+ if txt and txt[-1] != '\n':
+ txt += '\n'
+ return txt
+
+
+class HTMLReportWriter(ReportWriter):
+ # Javascript/CSS snippet to toggle element visibility
+ cssjs = r'''
+ <style type="text/css" media="screen">
+ .VisibleSection { }
+ .HiddenSection { display: none; }
+ </style>
+ <script language="javascript" type="text/javascript"><!--
+ function toggle_display (parentid, tagtype, idmatch, keymatch) {
+ ptag = document.getElementById (parentid);
+ tags = ptag.getElementsByTagName (tagtype);
+ for (var i = 0; i < tags.length; i++) {
+ tag = tags[i];
+ var key = tag.getAttribute ("keywords");
+ if (tag.id.indexOf (idmatch) == 0 && key && key.match (keymatch)) {
+ if (tag.className.indexOf ("HiddenSection") >= 0)
+ tag.className = "VisibleSection";
+ else
+ tag.className = "HiddenSection";
+ }
+ }
+ }
+ message_array = Array();
+ function view_testlog (wname, file, random_seed, tcase, msgtitle, msgid) {
+ txt = message_array[msgid];
+ var w = window.open ("", // URI
+ wname,
+ "resizable,scrollbars,status,width=790,height=400");
+ var doc = w.document;
+ doc.write ("<h2>File: " + file + "</h2>\n");
+ doc.write ("<h3>Case: " + tcase + "</h3>\n");
+ doc.write ("<strong>Random Seed:</strong> <code>" + random_seed + "</code> <br /><br />\n");
+ doc.write ("<strong>" + msgtitle + "</strong><br />\n");
+ doc.write ("<pre>");
+ doc.write (txt);
+ doc.write ("</pre>\n");
+ doc.write ("<a href=\'javascript:window.close()\'>Close Window</a>\n");
+ doc.close();
+ }
+ --></script>
+ '''
+ def __init__ (self, info, binary_list):
+ ReportWriter.__init__(self, binary_list)
+ self.info = info
+ self.bcounter = 0
+ self.tcounter = 0
+ self.total_tcounter = 0
+ self.total_fcounter = 0
+ self.total_duration = 0
+ self.indent_depth = 0
+ self.lastchar = ''
+ def oprint (self, message):
+ sys.stdout.write (message)
+ if message:
+ self.lastchar = message[-1]
+ def handle_info (self):
+ self.oprint ('<h3>Package: %(package)s, version: %(version)s</h3>\n' % self.info)
+ if self.info['revision']:
+ self.oprint ('<h5>Report generated from: %(revision)s</h5>\n' % self.info)
+ def handle_text (self, node):
+ self.oprint (node.nodeValue)
+ def handle_testcase (self, node, binary):
+ skipped = bool (int (attribute_as_text (node, 'skipped') + '0'))
+ if skipped:
+ return # skipped tests are uninteresting for HTML reports
+ path = attribute_as_text (node, 'path')
+ duration = node_as_text (node, 'duration')
+ result = attribute_as_text (node, 'result', 'status')
+ rcolor = {
+ 'success': 'bgcolor="lightgreen"',
+ 'failed': 'bgcolor="red"',
+ }.get (result, '')
+ if result != 'success':
+ duration = '-' # ignore bogus durations
+ self.oprint ('<tr id="b%u_t%u_" keywords="%s all" class="HiddenSection">\n' % (self.bcounter, self.tcounter, result))
+ self.oprint ('<td>%s %s</td> <td align="right">%s</td> \n' % (html_indent_string (4), path, duration))
+ perflist = list_children (node, 'performance')
+ if result != 'success':
+ txt = self._error_text(node)
+ txt = re.sub (r'"', r'\\"', txt)
+ txt = re.sub (r'\n', r'\\n', txt)
+ txt = re.sub (r'&', r'&', txt)
+ txt = re.sub (r'<', r'<', txt)
+ self.oprint ('<script language="javascript" type="text/javascript">message_array["b%u_t%u_"] = "%s";</script>\n' % (self.bcounter, self.tcounter, txt))
+ self.oprint ('<td align="center"><a href="javascript:view_testlog (\'%s\', \'%s\', \'%s\', \'%s\', \'Output:\', \'b%u_t%u_\')">Details</a></td>\n' %
+ ('TestResultWindow', binary.file, binary.random_seed, path, self.bcounter, self.tcounter))
+ elif perflist:
+ presults = []
+ for perf in perflist:
+ pmin = bool (int (attribute_as_text (perf, 'minimize')))
+ pmax = bool (int (attribute_as_text (perf, 'maximize')))
+ pval = float (attribute_as_text (perf, 'value'))
+ txt = node_as_text (perf)
+ txt = re.sub (r'&', r'&', txt)
+ txt = re.sub (r'<', r'>', txt)
+ txt = '<strong>Performance(' + (pmin and '<em>minimized</em>' or '<em>maximized</em>') + '):</strong> ' + txt.strip() + '<br />\n'
+ txt = re.sub (r'"', r'\\"', txt)
+ txt = re.sub (r'\n', r'\\n', txt)
+ presults += [ (pval, txt) ]
+ presults.sort()
+ ptxt = ''.join ([e[1] for e in presults])
+ self.oprint ('<script language="javascript" type="text/javascript">message_array["b%u_t%u_"] = "%s";</script>\n' % (self.bcounter, self.tcounter, ptxt))
+ self.oprint ('<td align="center"><a href="javascript:view_testlog (\'%s\', \'%s\', \'%s\', \'%s\', \'Test Results:\', \'b%u_t%u_\')">Details</a></td>\n' %
+ ('TestResultWindow', binary.file, binary.random_seed, path, self.bcounter, self.tcounter))
+ else:
+ self.oprint ('<td align="center">-</td>\n')
+ self.oprint ('<td align="right" %s>%s</td>\n' % (rcolor, result))
+ self.oprint ('</tr>\n')
+ self.tcounter += 1
+ self.total_tcounter += 1
+ self.total_fcounter += result != 'success'
+ def handle_binary (self, binary):
+ self.tcounter = 1
+ self.bcounter += 1
+ self.total_duration += binary.duration
+ self.oprint ('<tr><td><strong>%s</strong></td><td align="right">%f</td> <td align="center">\n' % (binary.name, binary.duration))
+ erlink, oklink = ('', '')
+ real_cases = len (binary.testcases) - binary.skipped_cases
+ if binary.success_cases < real_cases:
+ erlink = 'href="javascript:toggle_display (\'ResultTable\', \'tr\', \'b%u_\', \'failed\')"' % self.bcounter
+ if binary.success_cases:
+ oklink = 'href="javascript:toggle_display (\'ResultTable\', \'tr\', \'b%u_\', \'success\')"' % self.bcounter
+ if real_cases != 0:
+ self.oprint ('<a %s>ER</a>\n' % erlink)
+ self.oprint ('<a %s>OK</a>\n' % oklink)
+ self.oprint ('</td>\n')
+ perc = binary.success_cases * 100.0 / real_cases
+ pcolor = {
+ 100 : 'bgcolor="lightgreen"',
+ 0 : 'bgcolor="red"',
+ }.get (int (perc), 'bgcolor="yellow"')
+ self.oprint ('<td align="right" %s>%.2f%%</td>\n' % (pcolor, perc))
+ self.oprint ('</tr>\n')
+ else:
+ self.oprint ('Empty\n')
+ self.oprint ('</td>\n')
+ self.oprint ('</tr>\n')
+ for tc in binary.testcases:
+ self.handle_testcase (tc, binary)
+ def handle_totals (self):
+ self.oprint ('<tr>')
+ self.oprint ('<td><strong>Totals:</strong> %u Binaries, %u Tests, %u Failed, %u Succeeded</td>' %
+ (self.bcounter, self.total_tcounter, self.total_fcounter, self.total_tcounter - self.total_fcounter))
+ self.oprint ('<td align="right">%f</td>\n' % self.total_duration)
+ self.oprint ('<td align="center">-</td>\n')
+ if self.total_tcounter != 0:
+ perc = (self.total_tcounter - self.total_fcounter) * 100.0 / self.total_tcounter
+ else:
+ perc = 0.0
+ pcolor = {
+ 100 : 'bgcolor="lightgreen"',
+ 0 : 'bgcolor="red"',
+ }.get (int (perc), 'bgcolor="yellow"')
+ self.oprint ('<td align="right" %s>%.2f%%</td>\n' % (pcolor, perc))
+ self.oprint ('</tr>\n')
+ def printout (self):
+ self.oprint ('<html><head>\n')
+ self.oprint ('<title>GTester Unit Test Report</title>\n')
+ self.oprint (self.cssjs)
+ self.oprint ('</head>\n')
+ self.oprint ('<body>\n')
+ self.oprint ('<h2>GTester Unit Test Report</h2>\n')
+ self.handle_info ()
+ self.oprint ('<table id="ResultTable" width="100%" border="1">\n<tr>\n')
+ self.oprint ('<th>Program / Testcase </th>\n')
+ self.oprint ('<th style="width:8em">Duration (sec)</th>\n')
+ self.oprint ('<th style="width:5em">View</th>\n')
+ self.oprint ('<th style="width:5em">Result</th>\n')
+ self.oprint ('</tr>\n')
+ for tb in self.binaries:
+ self.handle_binary (tb)
+ self.handle_totals()
+ self.oprint ('</table>\n')
+ self.oprint ('</body>\n')
+ self.oprint ('</html>\n')
+
+
+class SubunitWriter(ReportWriter):
+ """Reporter to output a subunit stream."""
+
+ def printout(self):
+ reporter = subunit.TestProtocolClient(sys.stdout)
+ for binary in self.binaries:
+ for tc in binary.testcases:
+ test = GTestCase(tc, binary)
+ test.run(reporter)
+
+
+class GTestCase(object):
+ """A representation of a gtester test result as a pyunit TestCase."""
+
+ def __init__(self, case, binary):
+ """Create a GTestCase for case 'case' from binary program 'binary'."""
+ self._case = case
+ self._binary = binary
+ # the name of the case - e.g. /dbusmenu/glib/objects/menuitem/props_boolstr
+ self._path = attribute_as_text(self._case, 'path')
+
+ def id(self):
+ """What test is this? Returns the gtester path for the testcase."""
+ return self._path
+
+ def _get_details(self):
+ """Calculate a details dict for the test - attachments etc."""
+ details = {}
+ result = attribute_as_text(self._case, 'result', 'status')
+ details['filename'] = Content(mime_utf8, lambda:[self._binary.file])
+ details['random_seed'] = Content(mime_utf8,
+ lambda:[self._binary.random_seed])
+ if self._get_outcome() == 'addFailure':
+ # Extract the error details. Skips have no details because its not
+ # skip like unittest does, instead the runner just bypasses N test.
+ txt = self._error_text(self._case)
+ details['error'] = Content(mime_utf8, lambda:[txt])
+ if self._get_outcome() == 'addSuccess':
+ # Sucessful tests may have performance metrics.
+ perflist = list_children(self._case, 'performance')
+ if perflist:
+ presults = []
+ for perf in perflist:
+ pmin = bool (int (attribute_as_text (perf, 'minimize')))
+ pmax = bool (int (attribute_as_text (perf, 'maximize')))
+ pval = float (attribute_as_text (perf, 'value'))
+ txt = node_as_text (perf)
+ txt = 'Performance(' + (pmin and 'minimized' or 'maximized'
+ ) + '): ' + txt.strip() + '\n'
+ presults += [(pval, txt)]
+ presults.sort()
+ perf_details = [e[1] for e in presults]
+ details['performance'] = Content(mime_utf8, lambda:perf_details)
+ return details
+
+ def _get_outcome(self):
+ if int(attribute_as_text(self._case, 'skipped') + '0'):
+ return 'addSkip'
+ outcome = attribute_as_text(self._case, 'result', 'status')
+ if outcome == 'success':
+ return 'addSuccess'
+ else:
+ return 'addFailure'
+
+ def run(self, result):
+ time = datetime.datetime.utcnow().replace(tzinfo=iso8601.Utc())
+ result.time(time)
+ result.startTest(self)
+ try:
+ outcome = self._get_outcome()
+ details = self._get_details()
+ # Only provide a duration IFF outcome == 'addSuccess' - the main
+ # parser claims bogus results otherwise: in that case emit time as
+ # zero perhaps.
+ if outcome == 'addSuccess':
+ duration = float(node_as_text(self._case, 'duration'))
+ duration = duration * 1000000
+ timedelta = datetime.timedelta(0, 0, duration)
+ time = time + timedelta
+ result.time(time)
+ getattr(result, outcome)(self, details=details)
+ finally:
+ result.stopTest(self)
+
+
+
+# main program handling
+def parse_opts():
+ """Parse program options.
+
+ :return: An options object and the program arguments.
+ """
+ parser = optparse.OptionParser()
+ parser.version = pkginstall_configvars.get ('glib-version', '0.0-uninstalled')
+ parser.usage = "%prog [OPTIONS] <gtester-log.xml>"
+ parser.description = "Generate HTML reports from the XML log files generated by gtester."
+ parser.epilog = "gtester-report (GLib utils) version %s."% (parser.version,)
+ parser.add_option("-v", "--version", action="store_true", dest="version", default=False,
+ help="Show program version.")
+ parser.add_option("-s", "--subunit", action="store_true", dest="subunit", default=False,
+ help="Output subunit [See https://launchpad.net/subunit/"
+ " Needs python-subunit]")
+ options, files = parser.parse_args()
+ if options.version:
+ print parser.epilog
+ return None, None
+ if len(files) != 1:
+ parser.error("Must supply a log file to parse.")
+ if options.subunit and subunit is None:
+ parser.error("python-subunit is not installed.")
+ return options, files
+
+
+def main():
+ options, files = parse_opts()
+ if options is None:
+ return 0
+ xd = xml.dom.minidom.parse (files[0])
+ rr = ReportReader()
+ rr.trampoline (xd)
+ if not options.subunit:
+ HTMLReportWriter(rr.get_info(), rr.binary_list()).printout()
+ else:
+ SubunitWriter(rr.get_info(), rr.binary_list()).printout()
+
+
+if __name__ == '__main__':
+ main()
diff --git a/dist/usr/include/gio-unix-2.0/gio/gdesktopappinfo.h b/dist/usr/include/gio-unix-2.0/gio/gdesktopappinfo.h
new file mode 100644
index 0000000..b1be8d5
--- /dev/null
+++ b/dist/usr/include/gio-unix-2.0/gio/gdesktopappinfo.h
@@ -0,0 +1,158 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_DESKTOP_APP_INFO_H__
+#define __G_DESKTOP_APP_INFO_H__
+
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DESKTOP_APP_INFO (g_desktop_app_info_get_type ())
+#define G_DESKTOP_APP_INFO(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DESKTOP_APP_INFO, GDesktopAppInfo))
+#define G_DESKTOP_APP_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DESKTOP_APP_INFO, GDesktopAppInfoClass))
+#define G_IS_DESKTOP_APP_INFO(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DESKTOP_APP_INFO))
+#define G_IS_DESKTOP_APP_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DESKTOP_APP_INFO))
+#define G_DESKTOP_APP_INFO_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DESKTOP_APP_INFO, GDesktopAppInfoClass))
+
+typedef struct _GDesktopAppInfo GDesktopAppInfo;
+typedef struct _GDesktopAppInfoClass GDesktopAppInfoClass;
+
+struct _GDesktopAppInfoClass
+{
+ GObjectClass parent_class;
+};
+
+
+GLIB_AVAILABLE_IN_ALL
+GType g_desktop_app_info_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GDesktopAppInfo *g_desktop_app_info_new_from_filename (const char *filename);
+GLIB_AVAILABLE_IN_ALL
+GDesktopAppInfo *g_desktop_app_info_new_from_keyfile (GKeyFile *key_file);
+
+GLIB_AVAILABLE_IN_ALL
+const char * g_desktop_app_info_get_filename (GDesktopAppInfo *info);
+
+GLIB_AVAILABLE_IN_2_30
+const char * g_desktop_app_info_get_generic_name (GDesktopAppInfo *info);
+GLIB_AVAILABLE_IN_2_30
+const char * g_desktop_app_info_get_categories (GDesktopAppInfo *info);
+GLIB_AVAILABLE_IN_2_30
+const char * const *g_desktop_app_info_get_keywords (GDesktopAppInfo *info);
+GLIB_AVAILABLE_IN_2_30
+gboolean g_desktop_app_info_get_nodisplay (GDesktopAppInfo *info);
+GLIB_AVAILABLE_IN_2_30
+gboolean g_desktop_app_info_get_show_in (GDesktopAppInfo *info,
+ const gchar *desktop_env);
+GLIB_AVAILABLE_IN_2_34
+const char * g_desktop_app_info_get_startup_wm_class (GDesktopAppInfo *info);
+
+GLIB_AVAILABLE_IN_ALL
+GDesktopAppInfo *g_desktop_app_info_new (const char *desktop_id);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_desktop_app_info_get_is_hidden (GDesktopAppInfo *info);
+
+GLIB_AVAILABLE_IN_ALL
+void g_desktop_app_info_set_desktop_env (const char *desktop_env);
+
+GLIB_AVAILABLE_IN_2_36
+gboolean g_desktop_app_info_has_key (GDesktopAppInfo *info,
+ const char *key);
+GLIB_AVAILABLE_IN_2_36
+char * g_desktop_app_info_get_string (GDesktopAppInfo *info,
+ const char *key);
+GLIB_AVAILABLE_IN_2_36
+gboolean g_desktop_app_info_get_boolean (GDesktopAppInfo *info,
+ const char *key);
+
+#ifndef G_DISABLE_DEPRECATED
+
+#define G_TYPE_DESKTOP_APP_INFO_LOOKUP (g_desktop_app_info_lookup_get_type ())
+#define G_DESKTOP_APP_INFO_LOOKUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_DESKTOP_APP_INFO_LOOKUP, GDesktopAppInfoLookup))
+#define G_IS_DESKTOP_APP_INFO_LOOKUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_DESKTOP_APP_INFO_LOOKUP))
+#define G_DESKTOP_APP_INFO_LOOKUP_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_DESKTOP_APP_INFO_LOOKUP, GDesktopAppInfoLookupIface))
+
+/**
+ * G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME:
+ *
+ * Extension point for default handler to URI association. See
+ * <link linkend="extending-gio">Extending GIO</link>.
+ */
+#define G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME "gio-desktop-app-info-lookup"
+
+#endif /* G_DISABLE_DEPRECATED */
+
+/**
+ * GDesktopAppInfoLookup:
+ *
+ * Interface that is used by backends to associate default
+ * handlers with URI schemes.
+ */
+typedef struct _GDesktopAppInfoLookup GDesktopAppInfoLookup;
+typedef struct _GDesktopAppInfoLookupIface GDesktopAppInfoLookupIface;
+
+struct _GDesktopAppInfoLookupIface
+{
+ GTypeInterface g_iface;
+
+ GAppInfo * (* get_default_for_uri_scheme) (GDesktopAppInfoLookup *lookup,
+ const char *uri_scheme);
+};
+
+GLIB_DEPRECATED
+GType g_desktop_app_info_lookup_get_type (void) G_GNUC_CONST;
+
+GLIB_DEPRECATED
+GAppInfo *g_desktop_app_info_lookup_get_default_for_uri_scheme (GDesktopAppInfoLookup *lookup,
+ const char *uri_scheme);
+
+/**
+ * GDesktopAppLaunchCallback:
+ * @appinfo: a #GDesktopAppInfo
+ * @pid: Process identifier
+ * @user_data: User data
+ *
+ * During invocation, g_desktop_app_info_launch_uris_as_manager() may
+ * create one or more child processes. This callback is invoked once
+ * for each, providing the process ID.
+ */
+typedef void (*GDesktopAppLaunchCallback) (GDesktopAppInfo *appinfo,
+ GPid pid,
+ gpointer user_data);
+
+GLIB_AVAILABLE_IN_2_28
+gboolean g_desktop_app_info_launch_uris_as_manager (GDesktopAppInfo *appinfo,
+ GList *uris,
+ GAppLaunchContext *launch_context,
+ GSpawnFlags spawn_flags,
+ GSpawnChildSetupFunc user_setup,
+ gpointer user_setup_data,
+ GDesktopAppLaunchCallback pid_callback,
+ gpointer pid_callback_data,
+ GError **error);
+
+
+G_END_DECLS
+
+#endif /* __G_DESKTOP_APP_INFO_H__ */
diff --git a/dist/usr/include/gio-unix-2.0/gio/gfiledescriptorbased.h b/dist/usr/include/gio-unix-2.0/gio/gfiledescriptorbased.h
new file mode 100644
index 0000000..cf045b4
--- /dev/null
+++ b/dist/usr/include/gio-unix-2.0/gio/gfiledescriptorbased.h
@@ -0,0 +1,65 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2010 Christian Kellner
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Christian Kellner <gicmo@gnome.org>
+ */
+
+#ifndef __G_FILE_DESCRIPTOR_BASED_H__
+#define __G_FILE_DESCRIPTOR_BASED_H__
+
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILE_DESCRIPTOR_BASED (g_file_descriptor_based_get_type ())
+#define G_FILE_DESCRIPTOR_BASED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_FILE_DESCRIPTOR_BASED, GFileDescriptorBased))
+#define G_IS_FILE_DESCRIPTOR_BASED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_FILE_DESCRIPTOR_BASED))
+#define G_FILE_DESCRIPTOR_BASED_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_FILE_DESCRIPTOR_BASED, GFileDescriptorBasedIface))
+
+/**
+ * GFileDescriptorBased:
+ *
+ * An interface for file descriptor based io objects.
+ **/
+typedef struct _GFileDescriptorBasedIface GFileDescriptorBasedIface;
+
+/**
+ * GFileDescriptorBasedIface:
+ * @g_iface: The parent interface.
+ *
+ **/
+struct _GFileDescriptorBasedIface
+{
+ GTypeInterface g_iface;
+
+ /* Virtual Table */
+ int (*get_fd) (GFileDescriptorBased *fd_based);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_file_descriptor_based_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+int g_file_descriptor_based_get_fd (GFileDescriptorBased *fd_based);
+
+G_END_DECLS
+
+
+#endif /* __G_FILE_DESCRIPTOR_BASED_H__ */
+
diff --git a/dist/usr/include/gio-unix-2.0/gio/gunixconnection.h b/dist/usr/include/gio-unix-2.0/gio/gunixconnection.h
new file mode 100644
index 0000000..bd87374
--- /dev/null
+++ b/dist/usr/include/gio-unix-2.0/gio/gunixconnection.h
@@ -0,0 +1,100 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright © 2009 Codethink Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_UNIX_CONNECTION_H__
+#define __G_UNIX_CONNECTION_H__
+
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_UNIX_CONNECTION (g_unix_connection_get_type ())
+#define G_UNIX_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_UNIX_CONNECTION, GUnixConnection))
+#define G_UNIX_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
+ G_TYPE_UNIX_CONNECTION, GUnixConnectionClass))
+#define G_IS_UNIX_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
+ G_TYPE_UNIX_CONNECTION))
+#define G_IS_UNIX_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
+ G_TYPE_UNIX_CONNECTION))
+#define G_UNIX_CONNECTION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
+ G_TYPE_UNIX_CONNECTION, GUnixConnectionClass))
+
+typedef struct _GUnixConnection GUnixConnection;
+typedef struct _GUnixConnectionPrivate GUnixConnectionPrivate;
+typedef struct _GUnixConnectionClass GUnixConnectionClass;
+
+struct _GUnixConnectionClass
+{
+ GSocketConnectionClass parent_class;
+};
+
+struct _GUnixConnection
+{
+ GSocketConnection parent_instance;
+ GUnixConnectionPrivate *priv;
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_unix_connection_get_type (void);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_connection_send_fd (GUnixConnection *connection,
+ gint fd,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gint g_unix_connection_receive_fd (GUnixConnection *connection,
+ GCancellable *cancellable,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_connection_send_credentials (GUnixConnection *connection,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_2_32
+void g_unix_connection_send_credentials_async (GUnixConnection *connection,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_2_32
+gboolean g_unix_connection_send_credentials_finish (GUnixConnection *connection,
+ GAsyncResult *result,
+ GError **error);
+
+GLIB_AVAILABLE_IN_2_32
+GCredentials *g_unix_connection_receive_credentials (GUnixConnection *connection,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_2_32
+void g_unix_connection_receive_credentials_async (GUnixConnection *connection,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GCredentials *g_unix_connection_receive_credentials_finish (GUnixConnection *connection,
+ GAsyncResult *result,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __G_UNIX_CONNECTION_H__ */
diff --git a/dist/usr/include/gio-unix-2.0/gio/gunixcredentialsmessage.h b/dist/usr/include/gio-unix-2.0/gio/gunixcredentialsmessage.h
new file mode 100644
index 0000000..17b4a31
--- /dev/null
+++ b/dist/usr/include/gio-unix-2.0/gio/gunixcredentialsmessage.h
@@ -0,0 +1,87 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2010 Red Hat, Inc.
+ * Copyright (C) 2009 Codethink Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_UNIX_CREDENTIALS_MESSAGE_H__
+#define __G_UNIX_CREDENTIALS_MESSAGE_H__
+
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_UNIX_CREDENTIALS_MESSAGE (g_unix_credentials_message_get_type ())
+#define G_UNIX_CREDENTIALS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_CREDENTIALS_MESSAGE, GUnixCredentialsMessage))
+#define G_UNIX_CREDENTIALS_MESSAGE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), G_TYPE_UNIX_CREDENTIALS_MESSAGE, GUnixCredentialsMessageClass))
+#define G_IS_UNIX_CREDENTIALS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_CREDENTIALS_MESSAGE))
+#define G_IS_UNIX_CREDENTIALS_MESSAGE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), G_TYPE_UNIX_CREDENTIALS_MESSAGE))
+#define G_UNIX_CREDENTIALS_MESSAGE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_UNIX_CREDENTIALS_MESSAGE, GUnixCredentialsMessageClass))
+
+typedef struct _GUnixCredentialsMessagePrivate GUnixCredentialsMessagePrivate;
+typedef struct _GUnixCredentialsMessageClass GUnixCredentialsMessageClass;
+
+/**
+ * GUnixCredentialsMessageClass:
+ *
+ * Class structure for #GUnixCredentialsMessage.
+ *
+ * Since: 2.26
+ */
+struct _GUnixCredentialsMessageClass
+{
+ GSocketControlMessageClass parent_class;
+
+ /*< private >*/
+
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+};
+
+/**
+ * GUnixCredentialsMessage:
+ *
+ * The #GUnixCredentialsMessage structure contains only private data
+ * and should only be accessed using the provided API.
+ *
+ * Since: 2.26
+ */
+struct _GUnixCredentialsMessage
+{
+ GSocketControlMessage parent_instance;
+ GUnixCredentialsMessagePrivate *priv;
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_unix_credentials_message_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GSocketControlMessage *g_unix_credentials_message_new (void);
+GLIB_AVAILABLE_IN_ALL
+GSocketControlMessage *g_unix_credentials_message_new_with_credentials (GCredentials *credentials);
+GLIB_AVAILABLE_IN_ALL
+GCredentials *g_unix_credentials_message_get_credentials (GUnixCredentialsMessage *message);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_credentials_message_is_supported (void);
+
+G_END_DECLS
+
+#endif /* __G_UNIX_CREDENTIALS_MESSAGE_H__ */
diff --git a/dist/usr/include/gio-unix-2.0/gio/gunixfdlist.h b/dist/usr/include/gio-unix-2.0/gio/gunixfdlist.h
new file mode 100644
index 0000000..6bbfb48
--- /dev/null
+++ b/dist/usr/include/gio-unix-2.0/gio/gunixfdlist.h
@@ -0,0 +1,96 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright © 2009 Codethink Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_UNIX_FD_LIST_H__
+#define __G_UNIX_FD_LIST_H__
+
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_UNIX_FD_LIST (g_unix_fd_list_get_type ())
+#define G_UNIX_FD_LIST(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_UNIX_FD_LIST, GUnixFDList))
+#define G_UNIX_FD_LIST_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
+ G_TYPE_UNIX_FD_LIST, GUnixFDListClass))
+#define G_IS_UNIX_FD_LIST(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
+ G_TYPE_UNIX_FD_LIST))
+#define G_IS_UNIX_FD_LIST_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
+ G_TYPE_UNIX_FD_LIST))
+#define G_UNIX_FD_LIST_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
+ G_TYPE_UNIX_FD_LIST, GUnixFDListClass))
+
+typedef struct _GUnixFDListPrivate GUnixFDListPrivate;
+typedef struct _GUnixFDListClass GUnixFDListClass;
+
+struct _GUnixFDListClass
+{
+ GObjectClass parent_class;
+
+ /*< private >*/
+
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+struct _GUnixFDList
+{
+ GObject parent_instance;
+ GUnixFDListPrivate *priv;
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_unix_fd_list_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GUnixFDList * g_unix_fd_list_new (void);
+GLIB_AVAILABLE_IN_ALL
+GUnixFDList * g_unix_fd_list_new_from_array (const gint *fds,
+ gint n_fds);
+
+GLIB_AVAILABLE_IN_ALL
+gint g_unix_fd_list_append (GUnixFDList *list,
+ gint fd,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gint g_unix_fd_list_get_length (GUnixFDList *list);
+
+GLIB_AVAILABLE_IN_ALL
+gint g_unix_fd_list_get (GUnixFDList *list,
+ gint index_,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+const gint * g_unix_fd_list_peek_fds (GUnixFDList *list,
+ gint *length);
+
+GLIB_AVAILABLE_IN_ALL
+gint * g_unix_fd_list_steal_fds (GUnixFDList *list,
+ gint *length);
+
+G_END_DECLS
+
+#endif /* __G_UNIX_FD_LIST_H__ */
diff --git a/dist/usr/include/gio-unix-2.0/gio/gunixfdmessage.h b/dist/usr/include/gio-unix-2.0/gio/gunixfdmessage.h
new file mode 100644
index 0000000..41f9b0a
--- /dev/null
+++ b/dist/usr/include/gio-unix-2.0/gio/gunixfdmessage.h
@@ -0,0 +1,84 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright © 2009 Codethink Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_UNIX_FD_MESSAGE_H__
+#define __G_UNIX_FD_MESSAGE_H__
+
+#include <gio/gio.h>
+#include <gio/gunixfdlist.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_UNIX_FD_MESSAGE (g_unix_fd_message_get_type ())
+#define G_UNIX_FD_MESSAGE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_UNIX_FD_MESSAGE, GUnixFDMessage))
+#define G_UNIX_FD_MESSAGE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
+ G_TYPE_UNIX_FD_MESSAGE, GUnixFDMessageClass))
+#define G_IS_UNIX_FD_MESSAGE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
+ G_TYPE_UNIX_FD_MESSAGE))
+#define G_IS_UNIX_FD_MESSAGE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
+ G_TYPE_UNIX_FD_MESSAGE))
+#define G_UNIX_FD_MESSAGE_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
+ G_TYPE_UNIX_FD_MESSAGE, GUnixFDMessageClass))
+
+typedef struct _GUnixFDMessagePrivate GUnixFDMessagePrivate;
+typedef struct _GUnixFDMessageClass GUnixFDMessageClass;
+typedef struct _GUnixFDMessage GUnixFDMessage;
+
+struct _GUnixFDMessageClass
+{
+ GSocketControlMessageClass parent_class;
+
+ /*< private >*/
+
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+};
+
+struct _GUnixFDMessage
+{
+ GSocketControlMessage parent_instance;
+ GUnixFDMessagePrivate *priv;
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_unix_fd_message_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GSocketControlMessage * g_unix_fd_message_new_with_fd_list (GUnixFDList *fd_list);
+GLIB_AVAILABLE_IN_ALL
+GSocketControlMessage * g_unix_fd_message_new (void);
+
+GLIB_AVAILABLE_IN_ALL
+GUnixFDList * g_unix_fd_message_get_fd_list (GUnixFDMessage *message);
+
+GLIB_AVAILABLE_IN_ALL
+gint * g_unix_fd_message_steal_fds (GUnixFDMessage *message,
+ gint *length);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_fd_message_append_fd (GUnixFDMessage *message,
+ gint fd,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __G_UNIX_FD_MESSAGE_H__ */
diff --git a/dist/usr/include/gio-unix-2.0/gio/gunixinputstream.h b/dist/usr/include/gio-unix-2.0/gio/gunixinputstream.h
new file mode 100644
index 0000000..a8beb88
--- /dev/null
+++ b/dist/usr/include/gio-unix-2.0/gio/gunixinputstream.h
@@ -0,0 +1,83 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_UNIX_INPUT_STREAM_H__
+#define __G_UNIX_INPUT_STREAM_H__
+
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_UNIX_INPUT_STREAM (g_unix_input_stream_get_type ())
+#define G_UNIX_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_INPUT_STREAM, GUnixInputStream))
+#define G_UNIX_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_UNIX_INPUT_STREAM, GUnixInputStreamClass))
+#define G_IS_UNIX_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_INPUT_STREAM))
+#define G_IS_UNIX_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_UNIX_INPUT_STREAM))
+#define G_UNIX_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_UNIX_INPUT_STREAM, GUnixInputStreamClass))
+
+/**
+ * GUnixInputStream:
+ *
+ * Implements #GInputStream for reading from selectable unix file descriptors
+ **/
+typedef struct _GUnixInputStream GUnixInputStream;
+typedef struct _GUnixInputStreamClass GUnixInputStreamClass;
+typedef struct _GUnixInputStreamPrivate GUnixInputStreamPrivate;
+
+struct _GUnixInputStream
+{
+ GInputStream parent_instance;
+
+ /*< private >*/
+ GUnixInputStreamPrivate *priv;
+};
+
+struct _GUnixInputStreamClass
+{
+ GInputStreamClass parent_class;
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_unix_input_stream_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GInputStream * g_unix_input_stream_new (gint fd,
+ gboolean close_fd);
+GLIB_AVAILABLE_IN_ALL
+void g_unix_input_stream_set_close_fd (GUnixInputStream *stream,
+ gboolean close_fd);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_input_stream_get_close_fd (GUnixInputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+gint g_unix_input_stream_get_fd (GUnixInputStream *stream);
+
+G_END_DECLS
+
+#endif /* __G_UNIX_INPUT_STREAM_H__ */
diff --git a/dist/usr/include/gio-unix-2.0/gio/gunixmounts.h b/dist/usr/include/gio-unix-2.0/gio/gunixmounts.h
new file mode 100644
index 0000000..bd269a3
--- /dev/null
+++ b/dist/usr/include/gio-unix-2.0/gio/gunixmounts.h
@@ -0,0 +1,141 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_UNIX_MOUNTS_H__
+#define __G_UNIX_MOUNTS_H__
+
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+/**
+ * GUnixMountEntry:
+ *
+ * Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>).
+ * This corresponds roughly to a mtab entry.
+ **/
+typedef struct _GUnixMountEntry GUnixMountEntry;
+
+/**
+ * GUnixMountPoint:
+ *
+ * Defines a Unix mount point (e.g. <filename>/dev</filename>).
+ * This corresponds roughly to a fstab entry.
+ **/
+typedef struct _GUnixMountPoint GUnixMountPoint;
+
+/**
+ * GUnixMountMonitor:
+ *
+ * Watches #GUnixMount<!-- -->s for changes.
+ **/
+typedef struct _GUnixMountMonitor GUnixMountMonitor;
+typedef struct _GUnixMountMonitorClass GUnixMountMonitorClass;
+
+#define G_TYPE_UNIX_MOUNT_MONITOR (g_unix_mount_monitor_get_type ())
+#define G_UNIX_MOUNT_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_MOUNT_MONITOR, GUnixMountMonitor))
+#define G_UNIX_MOUNT_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_UNIX_MOUNT_MONITOR, GUnixMountMonitorClass))
+#define G_IS_UNIX_MOUNT_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_MOUNT_MONITOR))
+#define G_IS_UNIX_MOUNT_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_UNIX_MOUNT_MONITOR))
+
+GLIB_AVAILABLE_IN_ALL
+void g_unix_mount_free (GUnixMountEntry *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+void g_unix_mount_point_free (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_ALL
+gint g_unix_mount_compare (GUnixMountEntry *mount1,
+ GUnixMountEntry *mount2);
+GLIB_AVAILABLE_IN_ALL
+const char * g_unix_mount_get_mount_path (GUnixMountEntry *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+const char * g_unix_mount_get_device_path (GUnixMountEntry *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+const char * g_unix_mount_get_fs_type (GUnixMountEntry *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_mount_is_readonly (GUnixMountEntry *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_mount_is_system_internal (GUnixMountEntry *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_mount_guess_can_eject (GUnixMountEntry *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_mount_guess_should_display (GUnixMountEntry *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+char * g_unix_mount_guess_name (GUnixMountEntry *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_unix_mount_guess_icon (GUnixMountEntry *mount_entry);
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_unix_mount_guess_symbolic_icon (GUnixMountEntry *mount_entry);
+
+
+GLIB_AVAILABLE_IN_ALL
+gint g_unix_mount_point_compare (GUnixMountPoint *mount1,
+ GUnixMountPoint *mount2);
+GLIB_AVAILABLE_IN_ALL
+const char * g_unix_mount_point_get_mount_path (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_ALL
+const char * g_unix_mount_point_get_device_path (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_ALL
+const char * g_unix_mount_point_get_fs_type (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_2_32
+const char * g_unix_mount_point_get_options (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_mount_point_is_readonly (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_mount_point_is_user_mountable (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_mount_point_is_loopback (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_mount_point_guess_can_eject (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_ALL
+char * g_unix_mount_point_guess_name (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_unix_mount_point_guess_icon (GUnixMountPoint *mount_point);
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_unix_mount_point_guess_symbolic_icon (GUnixMountPoint *mount_point);
+
+
+GLIB_AVAILABLE_IN_ALL
+GList * g_unix_mount_points_get (guint64 *time_read);
+GLIB_AVAILABLE_IN_ALL
+GList * g_unix_mounts_get (guint64 *time_read);
+GLIB_AVAILABLE_IN_ALL
+GUnixMountEntry *g_unix_mount_at (const char *mount_path,
+ guint64 *time_read);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_mounts_changed_since (guint64 time);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_mount_points_changed_since (guint64 time);
+
+GLIB_AVAILABLE_IN_ALL
+GType g_unix_mount_monitor_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GUnixMountMonitor *g_unix_mount_monitor_new (void);
+GLIB_AVAILABLE_IN_ALL
+void g_unix_mount_monitor_set_rate_limit (GUnixMountMonitor *mount_monitor,
+ int limit_msec);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_is_mount_path_system_internal (const char *mount_path);
+
+G_END_DECLS
+
+#endif /* __G_UNIX_MOUNTS_H__ */
diff --git a/dist/usr/include/gio-unix-2.0/gio/gunixoutputstream.h b/dist/usr/include/gio-unix-2.0/gio/gunixoutputstream.h
new file mode 100644
index 0000000..9ef2e52
--- /dev/null
+++ b/dist/usr/include/gio-unix-2.0/gio/gunixoutputstream.h
@@ -0,0 +1,82 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_UNIX_OUTPUT_STREAM_H__
+#define __G_UNIX_OUTPUT_STREAM_H__
+
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_UNIX_OUTPUT_STREAM (g_unix_output_stream_get_type ())
+#define G_UNIX_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_OUTPUT_STREAM, GUnixOutputStream))
+#define G_UNIX_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_UNIX_OUTPUT_STREAM, GUnixOutputStreamClass))
+#define G_IS_UNIX_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_OUTPUT_STREAM))
+#define G_IS_UNIX_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_UNIX_OUTPUT_STREAM))
+#define G_UNIX_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_UNIX_OUTPUT_STREAM, GUnixOutputStreamClass))
+
+/**
+ * GUnixOutputStream:
+ *
+ * Implements #GOutputStream for outputting to selectable unix file descriptors
+ **/
+typedef struct _GUnixOutputStream GUnixOutputStream;
+typedef struct _GUnixOutputStreamClass GUnixOutputStreamClass;
+typedef struct _GUnixOutputStreamPrivate GUnixOutputStreamPrivate;
+
+struct _GUnixOutputStream
+{
+ GOutputStream parent_instance;
+
+ /*< private >*/
+ GUnixOutputStreamPrivate *priv;
+};
+
+struct _GUnixOutputStreamClass
+{
+ GOutputStreamClass parent_class;
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_unix_output_stream_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GOutputStream * g_unix_output_stream_new (gint fd,
+ gboolean close_fd);
+GLIB_AVAILABLE_IN_ALL
+void g_unix_output_stream_set_close_fd (GUnixOutputStream *stream,
+ gboolean close_fd);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_output_stream_get_close_fd (GUnixOutputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+gint g_unix_output_stream_get_fd (GUnixOutputStream *stream);
+G_END_DECLS
+
+#endif /* __G_UNIX_OUTPUT_STREAM_H__ */
diff --git a/dist/usr/include/gio-unix-2.0/gio/gunixsocketaddress.h b/dist/usr/include/gio-unix-2.0/gio/gunixsocketaddress.h
new file mode 100644
index 0000000..39d5821
--- /dev/null
+++ b/dist/usr/include/gio-unix-2.0/gio/gunixsocketaddress.h
@@ -0,0 +1,81 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Christian Kellner <gicmo@gnome.org>
+ * Samuel Cormier-Iijima <sciyoshi@gmail.com>
+ */
+
+#ifndef __G_UNIX_SOCKET_ADDRESS_H__
+#define __G_UNIX_SOCKET_ADDRESS_H__
+
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_UNIX_SOCKET_ADDRESS (g_unix_socket_address_get_type ())
+#define G_UNIX_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_SOCKET_ADDRESS, GUnixSocketAddress))
+#define G_UNIX_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_UNIX_SOCKET_ADDRESS, GUnixSocketAddressClass))
+#define G_IS_UNIX_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_SOCKET_ADDRESS))
+#define G_IS_UNIX_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_UNIX_SOCKET_ADDRESS))
+#define G_UNIX_SOCKET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_UNIX_SOCKET_ADDRESS, GUnixSocketAddressClass))
+
+typedef struct _GUnixSocketAddress GUnixSocketAddress;
+typedef struct _GUnixSocketAddressClass GUnixSocketAddressClass;
+typedef struct _GUnixSocketAddressPrivate GUnixSocketAddressPrivate;
+
+struct _GUnixSocketAddress
+{
+ GSocketAddress parent_instance;
+
+ /*< private >*/
+ GUnixSocketAddressPrivate *priv;
+};
+
+struct _GUnixSocketAddressClass
+{
+ GSocketAddressClass parent_class;
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_unix_socket_address_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GSocketAddress *g_unix_socket_address_new (const gchar *path);
+GLIB_DEPRECATED_FOR(g_unix_socket_address_new_with_type)
+GSocketAddress *g_unix_socket_address_new_abstract (const gchar *path,
+ gint path_len);
+GLIB_AVAILABLE_IN_ALL
+GSocketAddress *g_unix_socket_address_new_with_type (const gchar *path,
+ gint path_len,
+ GUnixSocketAddressType type);
+GLIB_AVAILABLE_IN_ALL
+const char * g_unix_socket_address_get_path (GUnixSocketAddress *address);
+GLIB_AVAILABLE_IN_ALL
+gsize g_unix_socket_address_get_path_len (GUnixSocketAddress *address);
+GLIB_AVAILABLE_IN_ALL
+GUnixSocketAddressType g_unix_socket_address_get_address_type (GUnixSocketAddress *address);
+GLIB_DEPRECATED
+gboolean g_unix_socket_address_get_is_abstract (GUnixSocketAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_unix_socket_address_abstract_names_supported (void);
+
+G_END_DECLS
+
+#endif /* __G_UNIX_SOCKET_ADDRESS_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gaction.h b/dist/usr/include/glib-2.0/gio/gaction.h
new file mode 100644
index 0000000..b153db6
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gaction.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright © 2010 Codethink Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_ACTION_H__
+#define __G_ACTION_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_ACTION (g_action_get_type ())
+#define G_ACTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_ACTION, GAction))
+#define G_IS_ACTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_ACTION))
+#define G_ACTION_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \
+ G_TYPE_ACTION, GActionInterface))
+
+typedef struct _GActionInterface GActionInterface;
+
+struct _GActionInterface
+{
+ GTypeInterface g_iface;
+
+ /* virtual functions */
+ const gchar * (* get_name) (GAction *action);
+ const GVariantType * (* get_parameter_type) (GAction *action);
+ const GVariantType * (* get_state_type) (GAction *action);
+ GVariant * (* get_state_hint) (GAction *action);
+
+ gboolean (* get_enabled) (GAction *action);
+ GVariant * (* get_state) (GAction *action);
+
+ void (* change_state) (GAction *action,
+ GVariant *value);
+ void (* activate) (GAction *action,
+ GVariant *parameter);
+};
+
+GLIB_AVAILABLE_IN_2_30
+GType g_action_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+const gchar * g_action_get_name (GAction *action);
+GLIB_AVAILABLE_IN_ALL
+const GVariantType * g_action_get_parameter_type (GAction *action);
+GLIB_AVAILABLE_IN_ALL
+const GVariantType * g_action_get_state_type (GAction *action);
+GLIB_AVAILABLE_IN_ALL
+GVariant * g_action_get_state_hint (GAction *action);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_action_get_enabled (GAction *action);
+GLIB_AVAILABLE_IN_ALL
+GVariant * g_action_get_state (GAction *action);
+
+GLIB_AVAILABLE_IN_ALL
+void g_action_change_state (GAction *action,
+ GVariant *value);
+GLIB_AVAILABLE_IN_ALL
+void g_action_activate (GAction *action,
+ GVariant *parameter);
+
+GLIB_AVAILABLE_IN_2_38
+gboolean g_action_parse_detailed_name (const gchar *detailed_name,
+ gchar **action_name,
+ GVariant **target_value,
+ GError **error);
+G_END_DECLS
+
+#endif /* __G_ACTION_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gactiongroup.h b/dist/usr/include/glib-2.0/gio/gactiongroup.h
new file mode 100644
index 0000000..9fc3b2b
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gactiongroup.h
@@ -0,0 +1,163 @@
+/*
+ * Copyright © 2010 Codethink Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_ACTION_GROUP_H__
+#define __G_ACTION_GROUP_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+
+#define G_TYPE_ACTION_GROUP (g_action_group_get_type ())
+#define G_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_ACTION_GROUP, GActionGroup))
+#define G_IS_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
+ G_TYPE_ACTION_GROUP))
+#define G_ACTION_GROUP_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \
+ G_TYPE_ACTION_GROUP, GActionGroupInterface))
+
+typedef struct _GActionGroupInterface GActionGroupInterface;
+
+struct _GActionGroupInterface
+{
+ GTypeInterface g_iface;
+
+ /* virtual functions */
+ gboolean (* has_action) (GActionGroup *action_group,
+ const gchar *action_name);
+
+ gchar ** (* list_actions) (GActionGroup *action_group);
+
+ gboolean (* get_action_enabled) (GActionGroup *action_group,
+ const gchar *action_name);
+
+ const GVariantType * (* get_action_parameter_type) (GActionGroup *action_group,
+ const gchar *action_name);
+
+ const GVariantType * (* get_action_state_type) (GActionGroup *action_group,
+ const gchar *action_name);
+
+ GVariant * (* get_action_state_hint) (GActionGroup *action_group,
+ const gchar *action_name);
+
+ GVariant * (* get_action_state) (GActionGroup *action_group,
+ const gchar *action_name);
+
+ void (* change_action_state) (GActionGroup *action_group,
+ const gchar *action_name,
+ GVariant *value);
+
+ void (* activate_action) (GActionGroup *action_group,
+ const gchar *action_name,
+ GVariant *parameter);
+
+ /* signals */
+ void (* action_added) (GActionGroup *action_group,
+ const gchar *action_name);
+ void (* action_removed) (GActionGroup *action_group,
+ const gchar *action_name);
+ void (* action_enabled_changed) (GActionGroup *action_group,
+ const gchar *action_name,
+ gboolean enabled);
+ void (* action_state_changed) (GActionGroup *action_group,
+ const gchar *action_name,
+ GVariant *state);
+
+ /* more virtual functions */
+ gboolean (* query_action) (GActionGroup *action_group,
+ const gchar *action_name,
+ gboolean *enabled,
+ const GVariantType **parameter_type,
+ const GVariantType **state_type,
+ GVariant **state_hint,
+ GVariant **state);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_action_group_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_action_group_has_action (GActionGroup *action_group,
+ const gchar *action_name);
+GLIB_AVAILABLE_IN_ALL
+gchar ** g_action_group_list_actions (GActionGroup *action_group);
+
+GLIB_AVAILABLE_IN_ALL
+const GVariantType * g_action_group_get_action_parameter_type (GActionGroup *action_group,
+ const gchar *action_name);
+GLIB_AVAILABLE_IN_ALL
+const GVariantType * g_action_group_get_action_state_type (GActionGroup *action_group,
+ const gchar *action_name);
+GLIB_AVAILABLE_IN_ALL
+GVariant * g_action_group_get_action_state_hint (GActionGroup *action_group,
+ const gchar *action_name);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_action_group_get_action_enabled (GActionGroup *action_group,
+ const gchar *action_name);
+
+GLIB_AVAILABLE_IN_ALL
+GVariant * g_action_group_get_action_state (GActionGroup *action_group,
+ const gchar *action_name);
+GLIB_AVAILABLE_IN_ALL
+void g_action_group_change_action_state (GActionGroup *action_group,
+ const gchar *action_name,
+ GVariant *value);
+
+GLIB_AVAILABLE_IN_ALL
+void g_action_group_activate_action (GActionGroup *action_group,
+ const gchar *action_name,
+ GVariant *parameter);
+
+/* signals */
+GLIB_AVAILABLE_IN_ALL
+void g_action_group_action_added (GActionGroup *action_group,
+ const gchar *action_name);
+GLIB_AVAILABLE_IN_ALL
+void g_action_group_action_removed (GActionGroup *action_group,
+ const gchar *action_name);
+GLIB_AVAILABLE_IN_ALL
+void g_action_group_action_enabled_changed (GActionGroup *action_group,
+ const gchar *action_name,
+ gboolean enabled);
+
+GLIB_AVAILABLE_IN_ALL
+void g_action_group_action_state_changed (GActionGroup *action_group,
+ const gchar *action_name,
+ GVariant *state);
+
+GLIB_AVAILABLE_IN_2_32
+gboolean g_action_group_query_action (GActionGroup *action_group,
+ const gchar *action_name,
+ gboolean *enabled,
+ const GVariantType **parameter_type,
+ const GVariantType **state_type,
+ GVariant **state_hint,
+ GVariant **state);
+
+G_END_DECLS
+
+#endif /* __G_ACTION_GROUP_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gactiongroupexporter.h b/dist/usr/include/glib-2.0/gio/gactiongroupexporter.h
new file mode 100644
index 0000000..31f21f2
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gactiongroupexporter.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright © 2010 Codethink Limited
+ * Copyright © 2011 Canonical Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Ryan Lortie <desrt@desrt.ca>
+ */
+
+
+#ifndef __G_ACTION_GROUP_EXPORTER_H__
+#define __G_ACTION_GROUP_EXPORTER_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+GLIB_AVAILABLE_IN_2_32
+guint g_dbus_connection_export_action_group (GDBusConnection *connection,
+ const gchar *object_path,
+ GActionGroup *action_group,
+ GError **error);
+
+GLIB_AVAILABLE_IN_2_32
+void g_dbus_connection_unexport_action_group (GDBusConnection *connection,
+ guint export_id);
+
+G_END_DECLS
+
+#endif /* __G_ACTION_GROUP_EXPORTER_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gactionmap.h b/dist/usr/include/glib-2.0/gio/gactionmap.h
new file mode 100644
index 0000000..93451a8
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gactionmap.h
@@ -0,0 +1,97 @@
+/*
+ * Copyright © 2010 Codethink Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_ACTION_MAP_H__
+#define __G_ACTION_MAP_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+
+#define G_TYPE_ACTION_MAP (g_action_map_get_type ())
+#define G_ACTION_MAP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_ACTION_MAP, GActionMap))
+#define G_IS_ACTION_MAP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
+ G_TYPE_ACTION_MAP))
+#define G_ACTION_MAP_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \
+ G_TYPE_ACTION_MAP, GActionMapInterface))
+
+typedef struct _GActionMapInterface GActionMapInterface;
+typedef struct _GActionEntry GActionEntry;
+
+struct _GActionMapInterface
+{
+ GTypeInterface g_iface;
+
+ GAction * (* lookup_action) (GActionMap *action_map,
+ const gchar *action_name);
+ void (* add_action) (GActionMap *action_map,
+ GAction *action);
+ void (* remove_action) (GActionMap *action_map,
+ const gchar *action_name);
+};
+
+struct _GActionEntry
+{
+ const gchar *name;
+
+ void (* activate) (GSimpleAction *action,
+ GVariant *parameter,
+ gpointer user_data);
+
+ const gchar *parameter_type;
+
+ const gchar *state;
+
+ void (* change_state) (GSimpleAction *action,
+ GVariant *value,
+ gpointer user_data);
+
+ /*< private >*/
+ gsize padding[3];
+};
+
+GLIB_AVAILABLE_IN_2_32
+GType g_action_map_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_2_32
+GAction * g_action_map_lookup_action (GActionMap *action_map,
+ const gchar *action_name);
+GLIB_AVAILABLE_IN_2_32
+void g_action_map_add_action (GActionMap *action_map,
+ GAction *action);
+GLIB_AVAILABLE_IN_2_32
+void g_action_map_remove_action (GActionMap *action_map,
+ const gchar *action_name);
+GLIB_AVAILABLE_IN_2_32
+void g_action_map_add_action_entries (GActionMap *action_map,
+ const GActionEntry *entries,
+ gint n_entries,
+ gpointer user_data);
+
+G_END_DECLS
+
+#endif /* __G_ACTION_MAP_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gappinfo.h b/dist/usr/include/glib-2.0/gio/gappinfo.h
new file mode 100644
index 0000000..baed4c4
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gappinfo.h
@@ -0,0 +1,301 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_APP_INFO_H__
+#define __G_APP_INFO_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_APP_INFO (g_app_info_get_type ())
+#define G_APP_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_APP_INFO, GAppInfo))
+#define G_IS_APP_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_APP_INFO))
+#define G_APP_INFO_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_APP_INFO, GAppInfoIface))
+
+#define G_TYPE_APP_LAUNCH_CONTEXT (g_app_launch_context_get_type ())
+#define G_APP_LAUNCH_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_APP_LAUNCH_CONTEXT, GAppLaunchContext))
+#define G_APP_LAUNCH_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_APP_LAUNCH_CONTEXT, GAppLaunchContextClass))
+#define G_IS_APP_LAUNCH_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_APP_LAUNCH_CONTEXT))
+#define G_IS_APP_LAUNCH_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_APP_LAUNCH_CONTEXT))
+#define G_APP_LAUNCH_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_APP_LAUNCH_CONTEXT, GAppLaunchContextClass))
+
+typedef struct _GAppLaunchContextClass GAppLaunchContextClass;
+typedef struct _GAppLaunchContextPrivate GAppLaunchContextPrivate;
+
+/**
+ * GAppInfo:
+ *
+ * Information about an installed application and methods to launch
+ * it (with file arguments).
+ */
+
+/**
+ * GAppInfoIface:
+ * @g_iface: The parent interface.
+ * @dup: Copies a #GAppInfo.
+ * @equal: Checks two #GAppInfo<!-- -->s for equality.
+ * @get_id: Gets a string identifier for a #GAppInfo.
+ * @get_name: Gets the name of the application for a #GAppInfo.
+ * @get_description: Gets a short description for the application described by the #GAppInfo.
+ * @get_executable: Gets the executable name for the #GAppInfo.
+ * @get_icon: Gets the #GIcon for the #GAppInfo.
+ * @launch: Launches an application specified by the #GAppInfo.
+ * @supports_uris: Indicates whether the application specified supports launching URIs.
+ * @supports_files: Indicates whether the application specified accepts filename arguments.
+ * @launch_uris: Launches an application with a list of URIs.
+ * @should_show: Returns whether an application should be shown (e.g. when getting a list of installed applications).
+ * <ulink url="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt">
+ * <citetitle>FreeDesktop.Org Startup Notification Specification</citetitle></ulink>.
+ * @set_as_default_for_type: Sets an application as default for a given content type.
+ * @set_as_default_for_extension: Sets an application as default for a given file extension.
+ * @add_supports_type: Adds to the #GAppInfo information about supported file types.
+ * @can_remove_supports_type: Checks for support for removing supported file types from a #GAppInfo.
+ * @remove_supports_type: Removes a supported application type from a #GAppInfo.
+ * @can_delete: Checks if a #GAppInfo can be deleted. Since 2.20
+ * @do_delete: Deletes a #GAppInfo. Since 2.20
+ * @get_commandline: Gets the commandline for the #GAppInfo. Since 2.20
+ * @get_display_name: Gets the display name for the #GAppInfo. Since 2.24
+ * @set_as_last_used_for_type: Sets the application as the last used. See g_app_info_set_as_last_used_for_type().
+ *
+ * Application Information interface, for operating system portability.
+ */
+typedef struct _GAppInfoIface GAppInfoIface;
+
+struct _GAppInfoIface
+{
+ GTypeInterface g_iface;
+
+ /* Virtual Table */
+
+ GAppInfo * (* dup) (GAppInfo *appinfo);
+ gboolean (* equal) (GAppInfo *appinfo1,
+ GAppInfo *appinfo2);
+ const char * (* get_id) (GAppInfo *appinfo);
+ const char * (* get_name) (GAppInfo *appinfo);
+ const char * (* get_description) (GAppInfo *appinfo);
+ const char * (* get_executable) (GAppInfo *appinfo);
+ GIcon * (* get_icon) (GAppInfo *appinfo);
+ gboolean (* launch) (GAppInfo *appinfo,
+ GList *files,
+ GAppLaunchContext *launch_context,
+ GError **error);
+ gboolean (* supports_uris) (GAppInfo *appinfo);
+ gboolean (* supports_files) (GAppInfo *appinfo);
+ gboolean (* launch_uris) (GAppInfo *appinfo,
+ GList *uris,
+ GAppLaunchContext *launch_context,
+ GError **error);
+ gboolean (* should_show) (GAppInfo *appinfo);
+
+ /* For changing associations */
+ gboolean (* set_as_default_for_type) (GAppInfo *appinfo,
+ const char *content_type,
+ GError **error);
+ gboolean (* set_as_default_for_extension) (GAppInfo *appinfo,
+ const char *extension,
+ GError **error);
+ gboolean (* add_supports_type) (GAppInfo *appinfo,
+ const char *content_type,
+ GError **error);
+ gboolean (* can_remove_supports_type) (GAppInfo *appinfo);
+ gboolean (* remove_supports_type) (GAppInfo *appinfo,
+ const char *content_type,
+ GError **error);
+ gboolean (* can_delete) (GAppInfo *appinfo);
+ gboolean (* do_delete) (GAppInfo *appinfo);
+ const char * (* get_commandline) (GAppInfo *appinfo);
+ const char * (* get_display_name) (GAppInfo *appinfo);
+ gboolean (* set_as_last_used_for_type) (GAppInfo *appinfo,
+ const char *content_type,
+ GError **error);
+ const char ** (* get_supported_types) (GAppInfo *appinfo);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_app_info_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GAppInfo * g_app_info_create_from_commandline (const char *commandline,
+ const char *application_name,
+ GAppInfoCreateFlags flags,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GAppInfo * g_app_info_dup (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_equal (GAppInfo *appinfo1,
+ GAppInfo *appinfo2);
+GLIB_AVAILABLE_IN_ALL
+const char *g_app_info_get_id (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+const char *g_app_info_get_name (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+const char *g_app_info_get_display_name (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+const char *g_app_info_get_description (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+const char *g_app_info_get_executable (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+const char *g_app_info_get_commandline (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_app_info_get_icon (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_launch (GAppInfo *appinfo,
+ GList *files,
+ GAppLaunchContext *launch_context,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_supports_uris (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_supports_files (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_launch_uris (GAppInfo *appinfo,
+ GList *uris,
+ GAppLaunchContext *launch_context,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_should_show (GAppInfo *appinfo);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_set_as_default_for_type (GAppInfo *appinfo,
+ const char *content_type,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_set_as_default_for_extension (GAppInfo *appinfo,
+ const char *extension,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_add_supports_type (GAppInfo *appinfo,
+ const char *content_type,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_can_remove_supports_type (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_remove_supports_type (GAppInfo *appinfo,
+ const char *content_type,
+ GError **error);
+GLIB_AVAILABLE_IN_2_34
+const char **g_app_info_get_supported_types (GAppInfo *appinfo);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_can_delete (GAppInfo *appinfo);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_delete (GAppInfo *appinfo);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_set_as_last_used_for_type (GAppInfo *appinfo,
+ const char *content_type,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+GList * g_app_info_get_all (void);
+GLIB_AVAILABLE_IN_ALL
+GList * g_app_info_get_all_for_type (const char *content_type);
+GLIB_AVAILABLE_IN_ALL
+GList * g_app_info_get_recommended_for_type (const gchar *content_type);
+GLIB_AVAILABLE_IN_ALL
+GList * g_app_info_get_fallback_for_type (const gchar *content_type);
+
+GLIB_AVAILABLE_IN_ALL
+void g_app_info_reset_type_associations (const char *content_type);
+GLIB_AVAILABLE_IN_ALL
+GAppInfo *g_app_info_get_default_for_type (const char *content_type,
+ gboolean must_support_uris);
+GLIB_AVAILABLE_IN_ALL
+GAppInfo *g_app_info_get_default_for_uri_scheme (const char *uri_scheme);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_app_info_launch_default_for_uri (const char *uri,
+ GAppLaunchContext *launch_context,
+ GError **error);
+
+/**
+ * GAppLaunchContext:
+ *
+ * Integrating the launch with the launching application. This is used to
+ * handle for instance startup notification and launching the new application
+ * on the same screen as the launching window.
+ */
+struct _GAppLaunchContext
+{
+ GObject parent_instance;
+
+ /*< private >*/
+ GAppLaunchContextPrivate *priv;
+};
+
+struct _GAppLaunchContextClass
+{
+ GObjectClass parent_class;
+
+ char * (* get_display) (GAppLaunchContext *context,
+ GAppInfo *info,
+ GList *files);
+ char * (* get_startup_notify_id) (GAppLaunchContext *context,
+ GAppInfo *info,
+ GList *files);
+ void (* launch_failed) (GAppLaunchContext *context,
+ const char *startup_notify_id);
+ void (* launched) (GAppLaunchContext *context,
+ GAppInfo *info,
+ GVariant *platform_data);
+
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_app_launch_context_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GAppLaunchContext *g_app_launch_context_new (void);
+
+GLIB_AVAILABLE_IN_2_32
+void g_app_launch_context_setenv (GAppLaunchContext *context,
+ const char *variable,
+ const char *value);
+GLIB_AVAILABLE_IN_2_32
+void g_app_launch_context_unsetenv (GAppLaunchContext *context,
+ const char *variable);
+GLIB_AVAILABLE_IN_2_32
+char ** g_app_launch_context_get_environment (GAppLaunchContext *context);
+
+GLIB_AVAILABLE_IN_ALL
+char * g_app_launch_context_get_display (GAppLaunchContext *context,
+ GAppInfo *info,
+ GList *files);
+GLIB_AVAILABLE_IN_ALL
+char * g_app_launch_context_get_startup_notify_id (GAppLaunchContext *context,
+ GAppInfo *info,
+ GList *files);
+GLIB_AVAILABLE_IN_ALL
+void g_app_launch_context_launch_failed (GAppLaunchContext *context,
+ const char * startup_notify_id);
+
+G_END_DECLS
+
+#endif /* __G_APP_INFO_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gapplication.h b/dist/usr/include/glib-2.0/gio/gapplication.h
new file mode 100644
index 0000000..5878a7f
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gapplication.h
@@ -0,0 +1,206 @@
+/*
+ * Copyright © 2010 Codethink Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_APPLICATION_H__
+#define __G_APPLICATION_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_APPLICATION (g_application_get_type ())
+#define G_APPLICATION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_APPLICATION, GApplication))
+#define G_APPLICATION_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
+ G_TYPE_APPLICATION, GApplicationClass))
+#define G_IS_APPLICATION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_APPLICATION))
+#define G_IS_APPLICATION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_APPLICATION))
+#define G_APPLICATION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
+ G_TYPE_APPLICATION, GApplicationClass))
+
+typedef struct _GApplicationPrivate GApplicationPrivate;
+typedef struct _GApplicationClass GApplicationClass;
+
+/**
+ * GApplication:
+ *
+ * Since: 2.28
+ */
+struct _GApplication
+{
+ /*< private >*/
+ GObject parent_instance;
+
+ GApplicationPrivate *priv;
+};
+
+struct _GApplicationClass
+{
+ /*< private >*/
+ GObjectClass parent_class;
+
+ /*< public >*/
+ /* signals */
+ void (* startup) (GApplication *application);
+
+ void (* activate) (GApplication *application);
+
+ void (* open) (GApplication *application,
+ GFile **files,
+ gint n_files,
+ const gchar *hint);
+
+ int (* command_line) (GApplication *application,
+ GApplicationCommandLine *command_line);
+
+ /* vfuncs */
+
+ /**
+ * GApplicationClass::local_command_line:
+ * @application: a #GApplication
+ * @arguments: (inout) (array zero-terminated=1): array of command line arguments
+ * @exit_status: (out): exit status to fill after processing the command line.
+ *
+ * This virtual function is always invoked in the local instance. It
+ * gets passed a pointer to a %NULL-terminated copy of @argv and is
+ * expected to remove arguments that it handled (shifting up remaining
+ * arguments).
+ *
+ * The last argument to local_command_line() is a pointer to the @status
+ * variable which can used to set the exit status that is returned from
+ * g_application_run().
+ *
+ * See g_application_run() for more details on #GApplication startup.
+ *
+ * Returns: %TRUE if the commandline has been completely handled
+ */
+ gboolean (* local_command_line) (GApplication *application,
+ gchar ***arguments,
+ int *exit_status);
+
+ void (* before_emit) (GApplication *application,
+ GVariant *platform_data);
+ void (* after_emit) (GApplication *application,
+ GVariant *platform_data);
+ void (* add_platform_data) (GApplication *application,
+ GVariantBuilder *builder);
+ void (* quit_mainloop) (GApplication *application);
+ void (* run_mainloop) (GApplication *application);
+ void (* shutdown) (GApplication *application);
+
+ gboolean (* dbus_register) (GApplication *application,
+ GDBusConnection *connection,
+ const gchar *object_path,
+ GError **error);
+ void (* dbus_unregister) (GApplication *application,
+ GDBusConnection *connection,
+ const gchar *object_path);
+
+ /*< private >*/
+ gpointer padding[9];
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_application_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_application_id_is_valid (const gchar *application_id);
+
+GLIB_AVAILABLE_IN_ALL
+GApplication * g_application_new (const gchar *application_id,
+ GApplicationFlags flags);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar * g_application_get_application_id (GApplication *application);
+GLIB_AVAILABLE_IN_ALL
+void g_application_set_application_id (GApplication *application,
+ const gchar *application_id);
+
+GLIB_AVAILABLE_IN_2_34
+GDBusConnection * g_application_get_dbus_connection (GApplication *application);
+GLIB_AVAILABLE_IN_2_34
+const gchar * g_application_get_dbus_object_path (GApplication *application);
+
+GLIB_AVAILABLE_IN_ALL
+guint g_application_get_inactivity_timeout (GApplication *application);
+GLIB_AVAILABLE_IN_ALL
+void g_application_set_inactivity_timeout (GApplication *application,
+ guint inactivity_timeout);
+
+GLIB_AVAILABLE_IN_ALL
+GApplicationFlags g_application_get_flags (GApplication *application);
+GLIB_AVAILABLE_IN_ALL
+void g_application_set_flags (GApplication *application,
+ GApplicationFlags flags);
+
+GLIB_DEPRECATED
+void g_application_set_action_group (GApplication *application,
+ GActionGroup *action_group);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_application_get_is_registered (GApplication *application);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_application_get_is_remote (GApplication *application);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_application_register (GApplication *application,
+ GCancellable *cancellable,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+void g_application_hold (GApplication *application);
+GLIB_AVAILABLE_IN_ALL
+void g_application_release (GApplication *application);
+
+GLIB_AVAILABLE_IN_ALL
+void g_application_activate (GApplication *application);
+
+GLIB_AVAILABLE_IN_ALL
+void g_application_open (GApplication *application,
+ GFile **files,
+ gint n_files,
+ const gchar *hint);
+
+GLIB_AVAILABLE_IN_ALL
+int g_application_run (GApplication *application,
+ int argc,
+ char **argv);
+
+GLIB_AVAILABLE_IN_2_32
+void g_application_quit (GApplication *application);
+
+GLIB_AVAILABLE_IN_2_32
+GApplication * g_application_get_default (void);
+GLIB_AVAILABLE_IN_2_32
+void g_application_set_default (GApplication *application);
+
+GLIB_AVAILABLE_IN_2_38
+void g_application_mark_busy (GApplication *application);
+GLIB_AVAILABLE_IN_2_38
+void g_application_unmark_busy (GApplication *application);
+
+G_END_DECLS
+
+#endif /* __G_APPLICATION_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gapplicationcommandline.h b/dist/usr/include/glib-2.0/gio/gapplicationcommandline.h
new file mode 100644
index 0000000..5f70d65
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gapplicationcommandline.h
@@ -0,0 +1,121 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright © 2010 Codethink Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_APPLICATION_COMMAND_LINE_H__
+#define __G_APPLICATION_COMMAND_LINE_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_APPLICATION_COMMAND_LINE (g_application_command_line_get_type ())
+#define G_APPLICATION_COMMAND_LINE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_APPLICATION_COMMAND_LINE, \
+ GApplicationCommandLine))
+#define G_APPLICATION_COMMAND_LINE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
+ G_TYPE_APPLICATION_COMMAND_LINE, \
+ GApplicationCommandLineClass))
+#define G_IS_APPLICATION_COMMAND_LINE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
+ G_TYPE_APPLICATION_COMMAND_LINE))
+#define G_IS_APPLICATION_COMMAND_LINE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
+ G_TYPE_APPLICATION_COMMAND_LINE))
+#define G_APPLICATION_COMMAND_LINE_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
+ G_TYPE_APPLICATION_COMMAND_LINE, \
+ GApplicationCommandLineClass))
+
+typedef struct _GApplicationCommandLinePrivate GApplicationCommandLinePrivate;
+typedef struct _GApplicationCommandLineClass GApplicationCommandLineClass;
+
+struct _GApplicationCommandLine
+{
+ /*< private >*/
+ GObject parent_instance;
+
+ GApplicationCommandLinePrivate *priv;
+};
+
+struct _GApplicationCommandLineClass
+{
+ /*< private >*/
+ GObjectClass parent_class;
+
+ void (* print_literal) (GApplicationCommandLine *cmdline,
+ const gchar *message);
+ void (* printerr_literal) (GApplicationCommandLine *cmdline,
+ const gchar *message);
+ GInputStream * (* get_stdin) (GApplicationCommandLine *cmdline);
+
+ gpointer padding[11];
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_application_command_line_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+gchar ** g_application_command_line_get_arguments (GApplicationCommandLine *cmdline,
+ int *argc);
+
+GLIB_AVAILABLE_IN_2_36
+GInputStream * g_application_command_line_get_stdin (GApplicationCommandLine *cmdline);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar * const * g_application_command_line_get_environ (GApplicationCommandLine *cmdline);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar * g_application_command_line_getenv (GApplicationCommandLine *cmdline,
+ const gchar *name);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar * g_application_command_line_get_cwd (GApplicationCommandLine *cmdline);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_application_command_line_get_is_remote (GApplicationCommandLine *cmdline);
+
+GLIB_AVAILABLE_IN_ALL
+void g_application_command_line_print (GApplicationCommandLine *cmdline,
+ const gchar *format,
+ ...) G_GNUC_PRINTF(2, 3);
+GLIB_AVAILABLE_IN_ALL
+void g_application_command_line_printerr (GApplicationCommandLine *cmdline,
+ const gchar *format,
+ ...) G_GNUC_PRINTF(2, 3);
+
+GLIB_AVAILABLE_IN_ALL
+int g_application_command_line_get_exit_status (GApplicationCommandLine *cmdline);
+GLIB_AVAILABLE_IN_ALL
+void g_application_command_line_set_exit_status (GApplicationCommandLine *cmdline,
+ int exit_status);
+
+GLIB_AVAILABLE_IN_ALL
+GVariant * g_application_command_line_get_platform_data (GApplicationCommandLine *cmdline);
+
+GLIB_AVAILABLE_IN_2_36
+GFile * g_application_command_line_create_file_for_arg (GApplicationCommandLine *cmdline,
+ const gchar *arg);
+
+G_END_DECLS
+
+#endif /* __G_APPLICATION_COMMAND_LINE_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gasyncinitable.h b/dist/usr/include/glib-2.0/gio/gasyncinitable.h
new file mode 100644
index 0000000..af5cfb1
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gasyncinitable.h
@@ -0,0 +1,126 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2009 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_ASYNC_INITABLE_H__
+#define __G_ASYNC_INITABLE_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+#include <gio/ginitable.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_ASYNC_INITABLE (g_async_initable_get_type ())
+#define G_ASYNC_INITABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_ASYNC_INITABLE, GAsyncInitable))
+#define G_IS_ASYNC_INITABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_ASYNC_INITABLE))
+#define G_ASYNC_INITABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_ASYNC_INITABLE, GAsyncInitableIface))
+#define G_TYPE_IS_ASYNC_INITABLE(type) (g_type_is_a ((type), G_TYPE_ASYNC_INITABLE))
+
+/**
+ * GAsyncInitable:
+ *
+ * Interface for asynchronously initializable objects.
+ *
+ * Since: 2.22
+ **/
+typedef struct _GAsyncInitableIface GAsyncInitableIface;
+
+/**
+ * GAsyncInitableIface:
+ * @g_iface: The parent interface.
+ * @init_async: Starts initialization of the object.
+ * @init_finish: Finishes initialization of the object.
+ *
+ * Provides an interface for asynchronous initializing object such that
+ * initialization may fail.
+ *
+ * Since: 2.22
+ **/
+struct _GAsyncInitableIface
+{
+ GTypeInterface g_iface;
+
+ /* Virtual Table */
+
+ void (* init_async) (GAsyncInitable *initable,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* init_finish) (GAsyncInitable *initable,
+ GAsyncResult *res,
+ GError **error);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_async_initable_get_type (void) G_GNUC_CONST;
+
+
+GLIB_AVAILABLE_IN_ALL
+void g_async_initable_init_async (GAsyncInitable *initable,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_async_initable_init_finish (GAsyncInitable *initable,
+ GAsyncResult *res,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+void g_async_initable_new_async (GType object_type,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data,
+ const gchar *first_property_name,
+ ...);
+GLIB_AVAILABLE_IN_ALL
+void g_async_initable_newv_async (GType object_type,
+ guint n_parameters,
+ GParameter *parameters,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+void g_async_initable_new_valist_async (GType object_type,
+ const gchar *first_property_name,
+ va_list var_args,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GObject *g_async_initable_new_finish (GAsyncInitable *initable,
+ GAsyncResult *res,
+ GError **error);
+
+
+
+G_END_DECLS
+
+
+#endif /* __G_ASYNC_INITABLE_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gasyncresult.h b/dist/usr/include/glib-2.0/gio/gasyncresult.h
new file mode 100644
index 0000000..9c8184f
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gasyncresult.h
@@ -0,0 +1,87 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_ASYNC_RESULT_H__
+#define __G_ASYNC_RESULT_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_ASYNC_RESULT (g_async_result_get_type ())
+#define G_ASYNC_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_ASYNC_RESULT, GAsyncResult))
+#define G_IS_ASYNC_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_ASYNC_RESULT))
+#define G_ASYNC_RESULT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_ASYNC_RESULT, GAsyncResultIface))
+
+/**
+ * GAsyncResult:
+ *
+ * Holds results information for an asynchronous operation,
+ * usually passed directly to a asynchronous _finish() operation.
+ **/
+typedef struct _GAsyncResultIface GAsyncResultIface;
+
+
+/**
+ * GAsyncResultIface:
+ * @g_iface: The parent interface.
+ * @get_user_data: Gets the user data passed to the callback.
+ * @get_source_object: Gets the source object that issued the asynchronous operation.
+ * @is_tagged: Checks if a result is tagged with a particular source.
+ *
+ * Interface definition for #GAsyncResult.
+ **/
+struct _GAsyncResultIface
+{
+ GTypeInterface g_iface;
+
+ /* Virtual Table */
+
+ gpointer (* get_user_data) (GAsyncResult *res);
+ GObject * (* get_source_object) (GAsyncResult *res);
+
+ gboolean (* is_tagged) (GAsyncResult *res,
+ gpointer source_tag);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_async_result_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+gpointer g_async_result_get_user_data (GAsyncResult *res);
+GLIB_AVAILABLE_IN_ALL
+GObject *g_async_result_get_source_object (GAsyncResult *res);
+
+GLIB_AVAILABLE_IN_2_34
+gboolean g_async_result_legacy_propagate_error (GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_2_34
+gboolean g_async_result_is_tagged (GAsyncResult *res,
+ gpointer source_tag);
+
+G_END_DECLS
+
+#endif /* __G_ASYNC_RESULT_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gbufferedinputstream.h b/dist/usr/include/glib-2.0/gio/gbufferedinputstream.h
new file mode 100644
index 0000000..a4f8ef0
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gbufferedinputstream.h
@@ -0,0 +1,135 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Christian Kellner <gicmo@gnome.org>
+ */
+
+#ifndef __G_BUFFERED_INPUT_STREAM_H__
+#define __G_BUFFERED_INPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gfilterinputstream.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_BUFFERED_INPUT_STREAM (g_buffered_input_stream_get_type ())
+#define G_BUFFERED_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStream))
+#define G_BUFFERED_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStreamClass))
+#define G_IS_BUFFERED_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_BUFFERED_INPUT_STREAM))
+#define G_IS_BUFFERED_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_BUFFERED_INPUT_STREAM))
+#define G_BUFFERED_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_BUFFERED_INPUT_STREAM, GBufferedInputStreamClass))
+
+/**
+ * GBufferedInputStream:
+ *
+ * Implements #GFilterInputStream with a sized input buffer.
+ **/
+typedef struct _GBufferedInputStreamClass GBufferedInputStreamClass;
+typedef struct _GBufferedInputStreamPrivate GBufferedInputStreamPrivate;
+
+struct _GBufferedInputStream
+{
+ GFilterInputStream parent_instance;
+
+ /*< private >*/
+ GBufferedInputStreamPrivate *priv;
+};
+
+struct _GBufferedInputStreamClass
+{
+ GFilterInputStreamClass parent_class;
+
+ gssize (* fill) (GBufferedInputStream *stream,
+ gssize count,
+ GCancellable *cancellable,
+ GError **error);
+
+ /* Async ops: (optional in derived classes) */
+ void (* fill_async) (GBufferedInputStream *stream,
+ gssize count,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gssize (* fill_finish) (GBufferedInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+
+GLIB_AVAILABLE_IN_ALL
+GType g_buffered_input_stream_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GInputStream* g_buffered_input_stream_new (GInputStream *base_stream);
+GLIB_AVAILABLE_IN_ALL
+GInputStream* g_buffered_input_stream_new_sized (GInputStream *base_stream,
+ gsize size);
+
+GLIB_AVAILABLE_IN_ALL
+gsize g_buffered_input_stream_get_buffer_size (GBufferedInputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+void g_buffered_input_stream_set_buffer_size (GBufferedInputStream *stream,
+ gsize size);
+GLIB_AVAILABLE_IN_ALL
+gsize g_buffered_input_stream_get_available (GBufferedInputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+gsize g_buffered_input_stream_peek (GBufferedInputStream *stream,
+ void *buffer,
+ gsize offset,
+ gsize count);
+GLIB_AVAILABLE_IN_ALL
+const void* g_buffered_input_stream_peek_buffer (GBufferedInputStream *stream,
+ gsize *count);
+
+GLIB_AVAILABLE_IN_ALL
+gssize g_buffered_input_stream_fill (GBufferedInputStream *stream,
+ gssize count,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_buffered_input_stream_fill_async (GBufferedInputStream *stream,
+ gssize count,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gssize g_buffered_input_stream_fill_finish (GBufferedInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+int g_buffered_input_stream_read_byte (GBufferedInputStream *stream,
+ GCancellable *cancellable,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __G_BUFFERED_INPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gbufferedoutputstream.h b/dist/usr/include/glib-2.0/gio/gbufferedoutputstream.h
new file mode 100644
index 0000000..49c0fa9
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gbufferedoutputstream.h
@@ -0,0 +1,88 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Christian Kellner <gicmo@gnome.org>
+ */
+
+#ifndef __G_BUFFERED_OUTPUT_STREAM_H__
+#define __G_BUFFERED_OUTPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gfilteroutputstream.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_BUFFERED_OUTPUT_STREAM (g_buffered_output_stream_get_type ())
+#define G_BUFFERED_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_BUFFERED_OUTPUT_STREAM, GBufferedOutputStream))
+#define G_BUFFERED_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_BUFFERED_OUTPUT_STREAM, GBufferedOutputStreamClass))
+#define G_IS_BUFFERED_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_BUFFERED_OUTPUT_STREAM))
+#define G_IS_BUFFERED_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_BUFFERED_OUTPUT_STREAM))
+#define G_BUFFERED_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_BUFFERED_OUTPUT_STREAM, GBufferedOutputStreamClass))
+
+/**
+ * GBufferedOutputStream:
+ *
+ * An implementation of #GFilterOutputStream with a sized buffer.
+ **/
+typedef struct _GBufferedOutputStreamClass GBufferedOutputStreamClass;
+typedef struct _GBufferedOutputStreamPrivate GBufferedOutputStreamPrivate;
+
+struct _GBufferedOutputStream
+{
+ GFilterOutputStream parent_instance;
+
+ /*< protected >*/
+ GBufferedOutputStreamPrivate *priv;
+};
+
+struct _GBufferedOutputStreamClass
+{
+ GFilterOutputStreamClass parent_class;
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+};
+
+
+GLIB_AVAILABLE_IN_ALL
+GType g_buffered_output_stream_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GOutputStream* g_buffered_output_stream_new (GOutputStream *base_stream);
+GLIB_AVAILABLE_IN_ALL
+GOutputStream* g_buffered_output_stream_new_sized (GOutputStream *base_stream,
+ gsize size);
+GLIB_AVAILABLE_IN_ALL
+gsize g_buffered_output_stream_get_buffer_size (GBufferedOutputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+void g_buffered_output_stream_set_buffer_size (GBufferedOutputStream *stream,
+ gsize size);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_buffered_output_stream_get_auto_grow (GBufferedOutputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+void g_buffered_output_stream_set_auto_grow (GBufferedOutputStream *stream,
+ gboolean auto_grow);
+
+G_END_DECLS
+
+#endif /* __G_BUFFERED_OUTPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gbytesicon.h b/dist/usr/include/glib-2.0/gio/gbytesicon.h
new file mode 100644
index 0000000..bf7753b
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gbytesicon.h
@@ -0,0 +1,54 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_BYTES_ICON_H__
+#define __G_BYTES_ICON_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_BYTES_ICON (g_bytes_icon_get_type ())
+#define G_BYTES_ICON(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_BYTES_ICON, GBytesIcon))
+#define G_IS_BYTES_ICON(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_BYTES_ICON))
+
+/**
+ * GBytesIcon:
+ *
+ * Gets an icon for a #GBytes. Implements #GLoadableIcon.
+ **/
+GLIB_AVAILABLE_IN_2_38
+GType g_bytes_icon_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_2_38
+GIcon * g_bytes_icon_new (GBytes *bytes);
+
+GLIB_AVAILABLE_IN_2_38
+GBytes * g_bytes_icon_get_bytes (GBytesIcon *icon);
+
+G_END_DECLS
+
+#endif /* __G_BYTES_ICON_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gcancellable.h b/dist/usr/include/glib-2.0/gio/gcancellable.h
new file mode 100644
index 0000000..e44bbad
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gcancellable.h
@@ -0,0 +1,120 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_CANCELLABLE_H__
+#define __G_CANCELLABLE_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_CANCELLABLE (g_cancellable_get_type ())
+#define G_CANCELLABLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_CANCELLABLE, GCancellable))
+#define G_CANCELLABLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_CANCELLABLE, GCancellableClass))
+#define G_IS_CANCELLABLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_CANCELLABLE))
+#define G_IS_CANCELLABLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_CANCELLABLE))
+#define G_CANCELLABLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_CANCELLABLE, GCancellableClass))
+
+/**
+ * GCancellable:
+ *
+ * Allows actions to be cancelled.
+ */
+typedef struct _GCancellableClass GCancellableClass;
+typedef struct _GCancellablePrivate GCancellablePrivate;
+
+struct _GCancellable
+{
+ GObject parent_instance;
+
+ /*< private >*/
+ GCancellablePrivate *priv;
+};
+
+struct _GCancellableClass
+{
+ GObjectClass parent_class;
+
+ void (* cancelled) (GCancellable *cancellable);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_cancellable_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GCancellable *g_cancellable_new (void);
+
+/* These are only safe to call inside a cancellable op */
+GLIB_AVAILABLE_IN_ALL
+gboolean g_cancellable_is_cancelled (GCancellable *cancellable);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_cancellable_set_error_if_cancelled (GCancellable *cancellable,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+int g_cancellable_get_fd (GCancellable *cancellable);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_cancellable_make_pollfd (GCancellable *cancellable,
+ GPollFD *pollfd);
+GLIB_AVAILABLE_IN_ALL
+void g_cancellable_release_fd (GCancellable *cancellable);
+
+GLIB_AVAILABLE_IN_ALL
+GSource * g_cancellable_source_new (GCancellable *cancellable);
+
+GLIB_AVAILABLE_IN_ALL
+GCancellable *g_cancellable_get_current (void);
+GLIB_AVAILABLE_IN_ALL
+void g_cancellable_push_current (GCancellable *cancellable);
+GLIB_AVAILABLE_IN_ALL
+void g_cancellable_pop_current (GCancellable *cancellable);
+GLIB_AVAILABLE_IN_ALL
+void g_cancellable_reset (GCancellable *cancellable);
+GLIB_AVAILABLE_IN_ALL
+gulong g_cancellable_connect (GCancellable *cancellable,
+ GCallback callback,
+ gpointer data,
+ GDestroyNotify data_destroy_func);
+GLIB_AVAILABLE_IN_ALL
+void g_cancellable_disconnect (GCancellable *cancellable,
+ gulong handler_id);
+
+
+/* This is safe to call from another thread */
+GLIB_AVAILABLE_IN_ALL
+void g_cancellable_cancel (GCancellable *cancellable);
+
+G_END_DECLS
+
+#endif /* __G_CANCELLABLE_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gcharsetconverter.h b/dist/usr/include/glib-2.0/gio/gcharsetconverter.h
new file mode 100644
index 0000000..af9b989
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gcharsetconverter.h
@@ -0,0 +1,65 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2009 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_CHARSET_CONVERTER_H__
+#define __G_CHARSET_CONVERTER_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gconverter.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_CHARSET_CONVERTER (g_charset_converter_get_type ())
+#define G_CHARSET_CONVERTER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_CHARSET_CONVERTER, GCharsetConverter))
+#define G_CHARSET_CONVERTER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_CHARSET_CONVERTER, GCharsetConverterClass))
+#define G_IS_CHARSET_CONVERTER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_CHARSET_CONVERTER))
+#define G_IS_CHARSET_CONVERTER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_CHARSET_CONVERTER))
+#define G_CHARSET_CONVERTER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_CHARSET_CONVERTER, GCharsetConverterClass))
+
+typedef struct _GCharsetConverterClass GCharsetConverterClass;
+
+struct _GCharsetConverterClass
+{
+ GObjectClass parent_class;
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_charset_converter_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GCharsetConverter *g_charset_converter_new (const gchar *to_charset,
+ const gchar *from_charset,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_charset_converter_set_use_fallback (GCharsetConverter *converter,
+ gboolean use_fallback);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_charset_converter_get_use_fallback (GCharsetConverter *converter);
+GLIB_AVAILABLE_IN_ALL
+guint g_charset_converter_get_num_fallbacks (GCharsetConverter *converter);
+
+G_END_DECLS
+
+#endif /* __G_CHARSET_CONVERTER_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gcontenttype.h b/dist/usr/include/glib-2.0/gio/gcontenttype.h
new file mode 100644
index 0000000..9ffbdeb
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gcontenttype.h
@@ -0,0 +1,73 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_CONTENT_TYPE_H__
+#define __G_CONTENT_TYPE_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_content_type_equals (const gchar *type1,
+ const gchar *type2);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_content_type_is_a (const gchar *type,
+ const gchar *supertype);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_content_type_is_unknown (const gchar *type);
+GLIB_AVAILABLE_IN_ALL
+gchar * g_content_type_get_description (const gchar *type);
+GLIB_AVAILABLE_IN_ALL
+gchar * g_content_type_get_mime_type (const gchar *type);
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_content_type_get_icon (const gchar *type);
+GLIB_AVAILABLE_IN_2_34
+GIcon * g_content_type_get_symbolic_icon (const gchar *type);
+GLIB_AVAILABLE_IN_2_34
+gchar * g_content_type_get_generic_icon_name (const gchar *type);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_content_type_can_be_executable (const gchar *type);
+
+GLIB_AVAILABLE_IN_ALL
+gchar * g_content_type_from_mime_type (const gchar *mime_type);
+
+GLIB_AVAILABLE_IN_ALL
+gchar * g_content_type_guess (const gchar *filename,
+ const guchar *data,
+ gsize data_size,
+ gboolean *result_uncertain);
+
+GLIB_AVAILABLE_IN_ALL
+gchar ** g_content_type_guess_for_tree (GFile *root);
+
+GLIB_AVAILABLE_IN_ALL
+GList * g_content_types_get_registered (void);
+
+G_END_DECLS
+
+#endif /* __G_CONTENT_TYPE_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gconverter.h b/dist/usr/include/glib-2.0/gio/gconverter.h
new file mode 100644
index 0000000..4fea64d
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gconverter.h
@@ -0,0 +1,98 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2009 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_CONVERTER_H__
+#define __G_CONVERTER_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_CONVERTER (g_converter_get_type ())
+#define G_CONVERTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_CONVERTER, GConverter))
+#define G_IS_CONVERTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_CONVERTER))
+#define G_CONVERTER_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_CONVERTER, GConverterIface))
+
+/**
+ * GConverter:
+ *
+ * Seek object for streaming operations.
+ *
+ * Since: 2.24
+ **/
+typedef struct _GConverterIface GConverterIface;
+
+/**
+ * GConverterIface:
+ * @g_iface: The parent interface.
+ * @convert: Converts data.
+ * @reset: Reverts the internal state of the converter to its initial state.
+ *
+ * Provides an interface for converting data from one type
+ * to another type. The conversion can be stateful
+ * and may fail at any place.
+ *
+ * Since: 2.24
+ **/
+struct _GConverterIface
+{
+ GTypeInterface g_iface;
+
+ /* Virtual Table */
+
+ GConverterResult (* convert) (GConverter *converter,
+ const void *inbuf,
+ gsize inbuf_size,
+ void *outbuf,
+ gsize outbuf_size,
+ GConverterFlags flags,
+ gsize *bytes_read,
+ gsize *bytes_written,
+ GError **error);
+ void (* reset) (GConverter *converter);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_converter_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GConverterResult g_converter_convert (GConverter *converter,
+ const void *inbuf,
+ gsize inbuf_size,
+ void *outbuf,
+ gsize outbuf_size,
+ GConverterFlags flags,
+ gsize *bytes_read,
+ gsize *bytes_written,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_converter_reset (GConverter *converter);
+
+
+G_END_DECLS
+
+
+#endif /* __G_CONVERTER_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gconverterinputstream.h b/dist/usr/include/glib-2.0/gio/gconverterinputstream.h
new file mode 100644
index 0000000..3a8f845
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gconverterinputstream.h
@@ -0,0 +1,82 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2009 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_CONVERTER_INPUT_STREAM_H__
+#define __G_CONVERTER_INPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gfilterinputstream.h>
+#include <gio/gconverter.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_CONVERTER_INPUT_STREAM (g_converter_input_stream_get_type ())
+#define G_CONVERTER_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_CONVERTER_INPUT_STREAM, GConverterInputStream))
+#define G_CONVERTER_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_CONVERTER_INPUT_STREAM, GConverterInputStreamClass))
+#define G_IS_CONVERTER_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_CONVERTER_INPUT_STREAM))
+#define G_IS_CONVERTER_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_CONVERTER_INPUT_STREAM))
+#define G_CONVERTER_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_CONVERTER_INPUT_STREAM, GConverterInputStreamClass))
+
+/**
+ * GConverterInputStream:
+ *
+ * An implementation of #GFilterInputStream that allows data
+ * conversion.
+ **/
+typedef struct _GConverterInputStreamClass GConverterInputStreamClass;
+typedef struct _GConverterInputStreamPrivate GConverterInputStreamPrivate;
+
+struct _GConverterInputStream
+{
+ GFilterInputStream parent_instance;
+
+ /*< private >*/
+ GConverterInputStreamPrivate *priv;
+};
+
+struct _GConverterInputStreamClass
+{
+ GFilterInputStreamClass parent_class;
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_converter_input_stream_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GInputStream *g_converter_input_stream_new (GInputStream *base_stream,
+ GConverter *converter);
+GLIB_AVAILABLE_IN_ALL
+GConverter *g_converter_input_stream_get_converter (GConverterInputStream *converter_stream);
+
+G_END_DECLS
+
+#endif /* __G_CONVERTER_INPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gconverteroutputstream.h b/dist/usr/include/glib-2.0/gio/gconverteroutputstream.h
new file mode 100644
index 0000000..1f91001
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gconverteroutputstream.h
@@ -0,0 +1,82 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2009 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_CONVERTER_OUTPUT_STREAM_H__
+#define __G_CONVERTER_OUTPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gfilteroutputstream.h>
+#include <gio/gconverter.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_CONVERTER_OUTPUT_STREAM (g_converter_output_stream_get_type ())
+#define G_CONVERTER_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_CONVERTER_OUTPUT_STREAM, GConverterOutputStream))
+#define G_CONVERTER_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_CONVERTER_OUTPUT_STREAM, GConverterOutputStreamClass))
+#define G_IS_CONVERTER_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_CONVERTER_OUTPUT_STREAM))
+#define G_IS_CONVERTER_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_CONVERTER_OUTPUT_STREAM))
+#define G_CONVERTER_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_CONVERTER_OUTPUT_STREAM, GConverterOutputStreamClass))
+
+/**
+ * GConverterOutputStream:
+ *
+ * An implementation of #GFilterOutputStream that allows data
+ * conversion.
+ **/
+typedef struct _GConverterOutputStreamClass GConverterOutputStreamClass;
+typedef struct _GConverterOutputStreamPrivate GConverterOutputStreamPrivate;
+
+struct _GConverterOutputStream
+{
+ GFilterOutputStream parent_instance;
+
+ /*< private >*/
+ GConverterOutputStreamPrivate *priv;
+};
+
+struct _GConverterOutputStreamClass
+{
+ GFilterOutputStreamClass parent_class;
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_converter_output_stream_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GOutputStream *g_converter_output_stream_new (GOutputStream *base_stream,
+ GConverter *converter);
+GLIB_AVAILABLE_IN_ALL
+GConverter *g_converter_output_stream_get_converter (GConverterOutputStream *converter_stream);
+
+G_END_DECLS
+
+#endif /* __G_CONVERTER_OUTPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gcredentials.h b/dist/usr/include/glib-2.0/gio/gcredentials.h
new file mode 100644
index 0000000..ff1ae4d
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gcredentials.h
@@ -0,0 +1,87 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_CREDENTIALS_H__
+#define __G_CREDENTIALS_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+#ifdef G_OS_UNIX
+/* To get the uid_t type */
+#include <unistd.h>
+#include <sys/types.h>
+#endif
+
+G_BEGIN_DECLS
+
+#define G_TYPE_CREDENTIALS (g_credentials_get_type ())
+#define G_CREDENTIALS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_CREDENTIALS, GCredentials))
+#define G_CREDENTIALS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_CREDENTIALS, GCredentialsClass))
+#define G_CREDENTIALS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_CREDENTIALS, GCredentialsClass))
+#define G_IS_CREDENTIALS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_CREDENTIALS))
+#define G_IS_CREDENTIALS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_CREDENTIALS))
+
+typedef struct _GCredentialsClass GCredentialsClass;
+
+GLIB_AVAILABLE_IN_ALL
+GType g_credentials_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GCredentials *g_credentials_new (void);
+
+GLIB_AVAILABLE_IN_ALL
+gchar *g_credentials_to_string (GCredentials *credentials);
+
+GLIB_AVAILABLE_IN_ALL
+gpointer g_credentials_get_native (GCredentials *credentials,
+ GCredentialsType native_type);
+
+GLIB_AVAILABLE_IN_ALL
+void g_credentials_set_native (GCredentials *credentials,
+ GCredentialsType native_type,
+ gpointer native);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_credentials_is_same_user (GCredentials *credentials,
+ GCredentials *other_credentials,
+ GError **error);
+
+#ifdef G_OS_UNIX
+GLIB_AVAILABLE_IN_2_36
+pid_t g_credentials_get_unix_pid (GCredentials *credentials,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+uid_t g_credentials_get_unix_user (GCredentials *credentials,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_credentials_set_unix_user (GCredentials *credentials,
+ uid_t uid,
+ GError **error);
+#endif
+
+G_END_DECLS
+
+#endif /* __G_DBUS_PROXY_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdatainputstream.h b/dist/usr/include/glib-2.0/gio/gdatainputstream.h
new file mode 100644
index 0000000..3ebf67a
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdatainputstream.h
@@ -0,0 +1,182 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_DATA_INPUT_STREAM_H__
+#define __G_DATA_INPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gbufferedinputstream.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DATA_INPUT_STREAM (g_data_input_stream_get_type ())
+#define G_DATA_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DATA_INPUT_STREAM, GDataInputStream))
+#define G_DATA_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DATA_INPUT_STREAM, GDataInputStreamClass))
+#define G_IS_DATA_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DATA_INPUT_STREAM))
+#define G_IS_DATA_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DATA_INPUT_STREAM))
+#define G_DATA_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DATA_INPUT_STREAM, GDataInputStreamClass))
+
+/**
+ * GDataInputStream:
+ *
+ * An implementation of #GBufferedInputStream that allows for high-level
+ * data manipulation of arbitrary data (including binary operations).
+ **/
+typedef struct _GDataInputStreamClass GDataInputStreamClass;
+typedef struct _GDataInputStreamPrivate GDataInputStreamPrivate;
+
+struct _GDataInputStream
+{
+ GBufferedInputStream parent_instance;
+
+ /*< private >*/
+ GDataInputStreamPrivate *priv;
+};
+
+struct _GDataInputStreamClass
+{
+ GBufferedInputStreamClass parent_class;
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_data_input_stream_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GDataInputStream * g_data_input_stream_new (GInputStream *base_stream);
+
+GLIB_AVAILABLE_IN_ALL
+void g_data_input_stream_set_byte_order (GDataInputStream *stream,
+ GDataStreamByteOrder order);
+GLIB_AVAILABLE_IN_ALL
+GDataStreamByteOrder g_data_input_stream_get_byte_order (GDataInputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+void g_data_input_stream_set_newline_type (GDataInputStream *stream,
+ GDataStreamNewlineType type);
+GLIB_AVAILABLE_IN_ALL
+GDataStreamNewlineType g_data_input_stream_get_newline_type (GDataInputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+guchar g_data_input_stream_read_byte (GDataInputStream *stream,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gint16 g_data_input_stream_read_int16 (GDataInputStream *stream,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+guint16 g_data_input_stream_read_uint16 (GDataInputStream *stream,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gint32 g_data_input_stream_read_int32 (GDataInputStream *stream,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+guint32 g_data_input_stream_read_uint32 (GDataInputStream *stream,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gint64 g_data_input_stream_read_int64 (GDataInputStream *stream,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+guint64 g_data_input_stream_read_uint64 (GDataInputStream *stream,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+char * g_data_input_stream_read_line (GDataInputStream *stream,
+ gsize *length,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_2_30
+char * g_data_input_stream_read_line_utf8 (GDataInputStream *stream,
+ gsize *length,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_data_input_stream_read_line_async (GDataInputStream *stream,
+ gint io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+char * g_data_input_stream_read_line_finish (GDataInputStream *stream,
+ GAsyncResult *result,
+ gsize *length,
+ GError **error);
+GLIB_AVAILABLE_IN_2_30
+char * g_data_input_stream_read_line_finish_utf8(GDataInputStream *stream,
+ GAsyncResult *result,
+ gsize *length,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+char * g_data_input_stream_read_until (GDataInputStream *stream,
+ const gchar *stop_chars,
+ gsize *length,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_data_input_stream_read_until_async (GDataInputStream *stream,
+ const gchar *stop_chars,
+ gint io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+char * g_data_input_stream_read_until_finish (GDataInputStream *stream,
+ GAsyncResult *result,
+ gsize *length,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+char * g_data_input_stream_read_upto (GDataInputStream *stream,
+ const gchar *stop_chars,
+ gssize stop_chars_len,
+ gsize *length,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_data_input_stream_read_upto_async (GDataInputStream *stream,
+ const gchar *stop_chars,
+ gssize stop_chars_len,
+ gint io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+char * g_data_input_stream_read_upto_finish (GDataInputStream *stream,
+ GAsyncResult *result,
+ gsize *length,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __G_DATA_INPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdataoutputstream.h b/dist/usr/include/glib-2.0/gio/gdataoutputstream.h
new file mode 100644
index 0000000..12db684
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdataoutputstream.h
@@ -0,0 +1,127 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_DATA_OUTPUT_STREAM_H__
+#define __G_DATA_OUTPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gfilteroutputstream.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DATA_OUTPUT_STREAM (g_data_output_stream_get_type ())
+#define G_DATA_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DATA_OUTPUT_STREAM, GDataOutputStream))
+#define G_DATA_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DATA_OUTPUT_STREAM, GDataOutputStreamClass))
+#define G_IS_DATA_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DATA_OUTPUT_STREAM))
+#define G_IS_DATA_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DATA_OUTPUT_STREAM))
+#define G_DATA_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DATA_OUTPUT_STREAM, GDataOutputStreamClass))
+
+/**
+ * GDataOutputStream:
+ *
+ * An implementation of #GBufferedOutputStream that allows for high-level
+ * data manipulation of arbitrary data (including binary operations).
+ **/
+typedef struct _GDataOutputStream GDataOutputStream;
+typedef struct _GDataOutputStreamClass GDataOutputStreamClass;
+typedef struct _GDataOutputStreamPrivate GDataOutputStreamPrivate;
+
+struct _GDataOutputStream
+{
+ GFilterOutputStream parent_instance;
+
+ /*< private >*/
+ GDataOutputStreamPrivate *priv;
+};
+
+struct _GDataOutputStreamClass
+{
+ GFilterOutputStreamClass parent_class;
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+
+GLIB_AVAILABLE_IN_ALL
+GType g_data_output_stream_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GDataOutputStream * g_data_output_stream_new (GOutputStream *base_stream);
+
+GLIB_AVAILABLE_IN_ALL
+void g_data_output_stream_set_byte_order (GDataOutputStream *stream,
+ GDataStreamByteOrder order);
+GLIB_AVAILABLE_IN_ALL
+GDataStreamByteOrder g_data_output_stream_get_byte_order (GDataOutputStream *stream);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_data_output_stream_put_byte (GDataOutputStream *stream,
+ guchar data,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_data_output_stream_put_int16 (GDataOutputStream *stream,
+ gint16 data,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_data_output_stream_put_uint16 (GDataOutputStream *stream,
+ guint16 data,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_data_output_stream_put_int32 (GDataOutputStream *stream,
+ gint32 data,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_data_output_stream_put_uint32 (GDataOutputStream *stream,
+ guint32 data,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_data_output_stream_put_int64 (GDataOutputStream *stream,
+ gint64 data,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_data_output_stream_put_uint64 (GDataOutputStream *stream,
+ guint64 data,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_data_output_stream_put_string (GDataOutputStream *stream,
+ const char *str,
+ GCancellable *cancellable,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __G_DATA_OUTPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusactiongroup.h b/dist/usr/include/glib-2.0/gio/gdbusactiongroup.h
new file mode 100644
index 0000000..4d8e168
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusactiongroup.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright © 2010 Codethink Limited
+ * Copyright © 2011 Canonical Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2 of the licence or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_DBUS_ACTION_GROUP_H__
+#define __G_DBUS_ACTION_GROUP_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include "giotypes.h"
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_ACTION_GROUP (g_dbus_action_group_get_type ())
+#define G_DBUS_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_DBUS_ACTION_GROUP, GDBusActionGroup))
+#define G_DBUS_ACTION_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
+ G_TYPE_DBUS_ACTION_GROUP, GDBusActionGroupClass))
+#define G_IS_DBUS_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
+ G_TYPE_DBUS_ACTION_GROUP))
+#define G_IS_DBUS_ACTION_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
+ G_TYPE_DBUS_ACTION_GROUP))
+#define G_DBUS_ACTION_GROUP_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
+ G_TYPE_DBUS_ACTION_GROUP, GDBusActionGroupClass))
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_action_group_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_2_32
+GDBusActionGroup * g_dbus_action_group_get (GDBusConnection *connection,
+ const gchar *bus_name,
+ const gchar *object_path);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_ACTION_GROUP_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusaddress.h b/dist/usr/include/glib-2.0/gio/gdbusaddress.h
new file mode 100644
index 0000000..08773aa
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusaddress.h
@@ -0,0 +1,67 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_ADDRESS_H__
+#define __G_DBUS_ADDRESS_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+GLIB_AVAILABLE_IN_2_36
+gchar *g_dbus_address_escape_value (const gchar *string);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_is_address (const gchar *string);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_is_supported_address (const gchar *string,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_address_get_stream (const gchar *address,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+
+GLIB_AVAILABLE_IN_ALL
+GIOStream *g_dbus_address_get_stream_finish (GAsyncResult *res,
+ gchar **out_guid,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+GIOStream *g_dbus_address_get_stream_sync (const gchar *address,
+ gchar **out_guid,
+ GCancellable *cancellable,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gchar *g_dbus_address_get_for_bus_sync (GBusType bus_type,
+ GCancellable *cancellable,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_ADDRESS_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusauthobserver.h b/dist/usr/include/glib-2.0/gio/gdbusauthobserver.h
new file mode 100644
index 0000000..bc61c53
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusauthobserver.h
@@ -0,0 +1,53 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_AUTH_OBSERVER_H__
+#define __G_DBUS_AUTH_OBSERVER_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_AUTH_OBSERVER (g_dbus_auth_observer_get_type ())
+#define G_DBUS_AUTH_OBSERVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_AUTH_OBSERVER, GDBusAuthObserver))
+#define G_IS_DBUS_AUTH_OBSERVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_AUTH_OBSERVER))
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_auth_observer_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GDBusAuthObserver *g_dbus_auth_observer_new (void);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_auth_observer_authorize_authenticated_peer (GDBusAuthObserver *observer,
+ GIOStream *stream,
+ GCredentials *credentials);
+
+GLIB_AVAILABLE_IN_2_34
+gboolean g_dbus_auth_observer_allow_mechanism (GDBusAuthObserver *observer,
+ const gchar *mechanism);
+
+G_END_DECLS
+
+#endif /* _G_DBUS_AUTH_OBSERVER_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusconnection.h b/dist/usr/include/glib-2.0/gio/gdbusconnection.h
new file mode 100644
index 0000000..a669953
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusconnection.h
@@ -0,0 +1,669 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_CONNECTION_H__
+#define __G_DBUS_CONNECTION_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_CONNECTION (g_dbus_connection_get_type ())
+#define G_DBUS_CONNECTION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_CONNECTION, GDBusConnection))
+#define G_IS_DBUS_CONNECTION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_CONNECTION))
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_connection_get_type (void) G_GNUC_CONST;
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+GLIB_AVAILABLE_IN_ALL
+void g_bus_get (GBusType bus_type,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_bus_get_finish (GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_bus_get_sync (GBusType bus_type,
+ GCancellable *cancellable,
+ GError **error);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_connection_new (GIOStream *stream,
+ const gchar *guid,
+ GDBusConnectionFlags flags,
+ GDBusAuthObserver *observer,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_dbus_connection_new_finish (GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_dbus_connection_new_sync (GIOStream *stream,
+ const gchar *guid,
+ GDBusConnectionFlags flags,
+ GDBusAuthObserver *observer,
+ GCancellable *cancellable,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_connection_new_for_address (const gchar *address,
+ GDBusConnectionFlags flags,
+ GDBusAuthObserver *observer,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_dbus_connection_new_for_address_finish (GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_dbus_connection_new_for_address_sync (const gchar *address,
+ GDBusConnectionFlags flags,
+ GDBusAuthObserver *observer,
+ GCancellable *cancellable,
+ GError **error);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_connection_start_message_processing (GDBusConnection *connection);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_connection_is_closed (GDBusConnection *connection);
+GLIB_AVAILABLE_IN_ALL
+GIOStream *g_dbus_connection_get_stream (GDBusConnection *connection);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_connection_get_guid (GDBusConnection *connection);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_connection_get_unique_name (GDBusConnection *connection);
+GLIB_AVAILABLE_IN_ALL
+GCredentials *g_dbus_connection_get_peer_credentials (GDBusConnection *connection);
+
+GLIB_AVAILABLE_IN_2_34
+guint32 g_dbus_connection_get_last_serial (GDBusConnection *connection);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_connection_get_exit_on_close (GDBusConnection *connection);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_connection_set_exit_on_close (GDBusConnection *connection,
+ gboolean exit_on_close);
+GLIB_AVAILABLE_IN_ALL
+GDBusCapabilityFlags g_dbus_connection_get_capabilities (GDBusConnection *connection);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_connection_close (GDBusConnection *connection,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_connection_close_finish (GDBusConnection *connection,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_connection_close_sync (GDBusConnection *connection,
+ GCancellable *cancellable,
+ GError **error);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_connection_flush (GDBusConnection *connection,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_connection_flush_finish (GDBusConnection *connection,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_connection_flush_sync (GDBusConnection *connection,
+ GCancellable *cancellable,
+ GError **error);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_connection_send_message (GDBusConnection *connection,
+ GDBusMessage *message,
+ GDBusSendMessageFlags flags,
+ volatile guint32 *out_serial,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_connection_send_message_with_reply (GDBusConnection *connection,
+ GDBusMessage *message,
+ GDBusSendMessageFlags flags,
+ gint timeout_msec,
+ volatile guint32 *out_serial,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_connection_send_message_with_reply_finish (GDBusConnection *connection,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_connection_send_message_with_reply_sync (GDBusConnection *connection,
+ GDBusMessage *message,
+ GDBusSendMessageFlags flags,
+ gint timeout_msec,
+ volatile guint32 *out_serial,
+ GCancellable *cancellable,
+ GError **error);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_connection_emit_signal (GDBusConnection *connection,
+ const gchar *destination_bus_name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *signal_name,
+ GVariant *parameters,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_connection_call (GDBusConnection *connection,
+ const gchar *bus_name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *method_name,
+ GVariant *parameters,
+ const GVariantType *reply_type,
+ GDBusCallFlags flags,
+ gint timeout_msec,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_connection_call_finish (GDBusConnection *connection,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_connection_call_sync (GDBusConnection *connection,
+ const gchar *bus_name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *method_name,
+ GVariant *parameters,
+ const GVariantType *reply_type,
+ GDBusCallFlags flags,
+ gint timeout_msec,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_2_30
+void g_dbus_connection_call_with_unix_fd_list (GDBusConnection *connection,
+ const gchar *bus_name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *method_name,
+ GVariant *parameters,
+ const GVariantType *reply_type,
+ GDBusCallFlags flags,
+ gint timeout_msec,
+ GUnixFDList *fd_list,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_2_30
+GVariant *g_dbus_connection_call_with_unix_fd_list_finish (GDBusConnection *connection,
+ GUnixFDList **out_fd_list,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_2_30
+GVariant *g_dbus_connection_call_with_unix_fd_list_sync (GDBusConnection *connection,
+ const gchar *bus_name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *method_name,
+ GVariant *parameters,
+ const GVariantType *reply_type,
+ GDBusCallFlags flags,
+ gint timeout_msec,
+ GUnixFDList *fd_list,
+ GUnixFDList **out_fd_list,
+ GCancellable *cancellable,
+ GError **error);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+
+/**
+ * GDBusInterfaceMethodCallFunc:
+ * @connection: A #GDBusConnection.
+ * @sender: The unique bus name of the remote caller.
+ * @object_path: The object path that the method was invoked on.
+ * @interface_name: The D-Bus interface name the method was invoked on.
+ * @method_name: The name of the method that was invoked.
+ * @parameters: A #GVariant tuple with parameters.
+ * @invocation: A #GDBusMethodInvocation object that can be used to return a value or error.
+ * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object().
+ *
+ * The type of the @method_call function in #GDBusInterfaceVTable.
+ *
+ * Since: 2.26
+ */
+typedef void (*GDBusInterfaceMethodCallFunc) (GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *method_name,
+ GVariant *parameters,
+ GDBusMethodInvocation *invocation,
+ gpointer user_data);
+
+/**
+ * GDBusInterfaceGetPropertyFunc:
+ * @connection: A #GDBusConnection.
+ * @sender: The unique bus name of the remote caller.
+ * @object_path: The object path that the method was invoked on.
+ * @interface_name: The D-Bus interface name for the property.
+ * @property_name: The name of the property to get the value of.
+ * @error: Return location for error.
+ * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object().
+ *
+ * The type of the @get_property function in #GDBusInterfaceVTable.
+ *
+ * Returns: A #GVariant with the value for @property_name or %NULL if
+ * @error is set. If the returned #GVariant is floating, it is
+ * consumed - otherwise its reference count is decreased by one.
+ *
+ * Since: 2.26
+ */
+typedef GVariant *(*GDBusInterfaceGetPropertyFunc) (GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *property_name,
+ GError **error,
+ gpointer user_data);
+
+/**
+ * GDBusInterfaceSetPropertyFunc:
+ * @connection: A #GDBusConnection.
+ * @sender: The unique bus name of the remote caller.
+ * @object_path: The object path that the method was invoked on.
+ * @interface_name: The D-Bus interface name for the property.
+ * @property_name: The name of the property to get the value of.
+ * @value: The value to set the property to.
+ * @error: Return location for error.
+ * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_object().
+ *
+ * The type of the @set_property function in #GDBusInterfaceVTable.
+ *
+ * Returns: %TRUE if the property was set to @value, %FALSE if @error is set.
+ *
+ * Since: 2.26
+ */
+typedef gboolean (*GDBusInterfaceSetPropertyFunc) (GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *property_name,
+ GVariant *value,
+ GError **error,
+ gpointer user_data);
+
+/**
+ * GDBusInterfaceVTable:
+ * @method_call: Function for handling incoming method calls.
+ * @get_property: Function for getting a property.
+ * @set_property: Function for setting a property.
+ *
+ * Virtual table for handling properties and method calls for a D-Bus
+ * interface.
+ *
+ * Since 2.38, if you want to handle getting/setting D-Bus properties
+ * asynchronously, give %NULL as your get_property() or set_property()
+ * function. The D-Bus call will be directed to your @method_call
+ * function, with the provided @interface_name set to
+ * <literal>"org.freedesktop.DBus.Properties"</literal>.
+ *
+ * The usual checks on the validity of the calls is performed. For
+ * <literal>'Get'</literal> calls, an error is automatically returned if
+ * the property does not exist or the permissions do not allow access.
+ * The same checks are performed for <literal>'Set'</literal> calls, and
+ * the provided value is also checked for being the correct type.
+ *
+ * For both <literal>'Get'</literal> and <literal>'Set'</literal> calls,
+ * the #GDBusMethodInvocation passed to the method_call handler can be
+ * queried with g_dbus_method_invocation_get_property_info() to get a
+ * pointer to the #GDBusPropertyInfo of the property.
+ *
+ * If you have readable properties specified in your interface info, you
+ * must ensure that you either provide a non-%NULL @get_property()
+ * function or provide implementations of both the
+ * <literal>'Get'</literal> and <literal>'GetAll'</literal> methods on
+ * the <literal>'org.freedesktop.DBus.Properties'</literal> interface in
+ * your @method_call function. Note that the required return type of
+ * the <literal>'Get'</literal> call is <literal>(v)</literal>, not the
+ * type of the property. <literal>'GetAll'</literal> expects a return
+ * value of type <literal>a{sv}</literal>.
+ *
+ * If you have writable properties specified in your interface info, you
+ * must ensure that you either provide a non-%NULL @set_property()
+ * function or provide an implementation of the <literal>'Set'</literal>
+ * call. If implementing the call, you must return the value of type
+ * %G_VARIANT_TYPE_UNIT.
+ *
+ * Since: 2.26
+ */
+struct _GDBusInterfaceVTable
+{
+ GDBusInterfaceMethodCallFunc method_call;
+ GDBusInterfaceGetPropertyFunc get_property;
+ GDBusInterfaceSetPropertyFunc set_property;
+
+ /*< private >*/
+ /* Padding for future expansion - also remember to update
+ * gdbusconnection.c:_g_dbus_interface_vtable_copy() when
+ * changing this.
+ */
+ gpointer padding[8];
+};
+
+GLIB_AVAILABLE_IN_ALL
+guint g_dbus_connection_register_object (GDBusConnection *connection,
+ const gchar *object_path,
+ GDBusInterfaceInfo *interface_info,
+ const GDBusInterfaceVTable *vtable,
+ gpointer user_data,
+ GDestroyNotify user_data_free_func,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_connection_unregister_object (GDBusConnection *connection,
+ guint registration_id);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+/**
+ * GDBusSubtreeEnumerateFunc:
+ * @connection: A #GDBusConnection.
+ * @sender: The unique bus name of the remote caller.
+ * @object_path: The object path that was registered with g_dbus_connection_register_subtree().
+ * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree().
+ *
+ * The type of the @enumerate function in #GDBusSubtreeVTable.
+ *
+ * This function is called when generating introspection data and also
+ * when preparing to dispatch incoming messages in the event that the
+ * %G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not
+ * specified (ie: to verify that the object path is valid).
+ *
+ * Hierarchies are not supported; the items that you return should not
+ * contain the '/' character.
+ *
+ * The return value will be freed with g_strfreev().
+ *
+ * Returns: A newly allocated array of strings for node names that are children of @object_path.
+ *
+ * Since: 2.26
+ */
+typedef gchar** (*GDBusSubtreeEnumerateFunc) (GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ gpointer user_data);
+
+/**
+ * GDBusSubtreeIntrospectFunc:
+ * @connection: A #GDBusConnection.
+ * @sender: The unique bus name of the remote caller.
+ * @object_path: The object path that was registered with g_dbus_connection_register_subtree().
+ * @node: A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree.
+ * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree().
+ *
+ * The type of the @introspect function in #GDBusSubtreeVTable.
+ *
+ * Subtrees are flat. @node, if non-%NULL, is always exactly one
+ * segment of the object path (ie: it never contains a slash).
+ *
+ * This function should return %NULL to indicate that there is no object
+ * at this node.
+ *
+ * If this function returns non-%NULL, the return value is expected to
+ * be a %NULL-terminated array of pointers to #GDBusInterfaceInfo
+ * structures describing the interfaces implemented by @node. This
+ * array will have g_dbus_interface_info_unref() called on each item
+ * before being freed with g_free().
+ *
+ * The difference between returning %NULL and an array containing zero
+ * items is that the standard DBus interfaces will returned to the
+ * remote introspector in the empty array case, but not in the %NULL
+ * case.
+ *
+ * Returns: A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL.
+ *
+ * Since: 2.26
+ */
+typedef GDBusInterfaceInfo ** (*GDBusSubtreeIntrospectFunc) (GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ const gchar *node,
+ gpointer user_data);
+
+/**
+ * GDBusSubtreeDispatchFunc:
+ * @connection: A #GDBusConnection.
+ * @sender: The unique bus name of the remote caller.
+ * @object_path: The object path that was registered with g_dbus_connection_register_subtree().
+ * @interface_name: The D-Bus interface name that the method call or property access is for.
+ * @node: A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree.
+ * @out_user_data: Return location for user data to pass to functions in the returned #GDBusInterfaceVTable (never %NULL).
+ * @user_data: The @user_data #gpointer passed to g_dbus_connection_register_subtree().
+ *
+ * The type of the @dispatch function in #GDBusSubtreeVTable.
+ *
+ * Subtrees are flat. @node, if non-%NULL, is always exactly one
+ * segment of the object path (ie: it never contains a slash).
+ *
+ * Returns: A #GDBusInterfaceVTable or %NULL if you don't want to handle the methods.
+ *
+ * Since: 2.26
+ */
+typedef const GDBusInterfaceVTable * (*GDBusSubtreeDispatchFunc) (GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *node,
+ gpointer *out_user_data,
+ gpointer user_data);
+
+/**
+ * GDBusSubtreeVTable:
+ * @enumerate: Function for enumerating child nodes.
+ * @introspect: Function for introspecting a child node.
+ * @dispatch: Function for dispatching a remote call on a child node.
+ *
+ * Virtual table for handling subtrees registered with g_dbus_connection_register_subtree().
+ *
+ * Since: 2.26
+ */
+struct _GDBusSubtreeVTable
+{
+ GDBusSubtreeEnumerateFunc enumerate;
+ GDBusSubtreeIntrospectFunc introspect;
+ GDBusSubtreeDispatchFunc dispatch;
+
+ /*< private >*/
+ /* Padding for future expansion - also remember to update
+ * gdbusconnection.c:_g_dbus_subtree_vtable_copy() when
+ * changing this.
+ */
+ gpointer padding[8];
+};
+
+GLIB_AVAILABLE_IN_ALL
+guint g_dbus_connection_register_subtree (GDBusConnection *connection,
+ const gchar *object_path,
+ const GDBusSubtreeVTable *vtable,
+ GDBusSubtreeFlags flags,
+ gpointer user_data,
+ GDestroyNotify user_data_free_func,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_connection_unregister_subtree (GDBusConnection *connection,
+ guint registration_id);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+/**
+ * GDBusSignalCallback:
+ * @connection: A #GDBusConnection.
+ * @sender_name: The unique bus name of the sender of the signal.
+ * @object_path: The object path that the signal was emitted on.
+ * @interface_name: The name of the interface.
+ * @signal_name: The name of the signal.
+ * @parameters: A #GVariant tuple with parameters for the signal.
+ * @user_data: User data passed when subscribing to the signal.
+ *
+ * Signature for callback function used in g_dbus_connection_signal_subscribe().
+ *
+ * Since: 2.26
+ */
+typedef void (*GDBusSignalCallback) (GDBusConnection *connection,
+ const gchar *sender_name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ const gchar *signal_name,
+ GVariant *parameters,
+ gpointer user_data);
+
+GLIB_AVAILABLE_IN_ALL
+guint g_dbus_connection_signal_subscribe (GDBusConnection *connection,
+ const gchar *sender,
+ const gchar *interface_name,
+ const gchar *member,
+ const gchar *object_path,
+ const gchar *arg0,
+ GDBusSignalFlags flags,
+ GDBusSignalCallback callback,
+ gpointer user_data,
+ GDestroyNotify user_data_free_func);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_connection_signal_unsubscribe (GDBusConnection *connection,
+ guint subscription_id);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+/**
+ * GDBusMessageFilterFunction:
+ * @connection: (transfer none): A #GDBusConnection.
+ * @message: (transfer full): A locked #GDBusMessage that the filter function takes ownership of.
+ * @incoming: %TRUE if it is a message received from the other peer, %FALSE if it is
+ * a message to be sent to the other peer.
+ * @user_data: User data passed when adding the filter.
+ *
+ * Signature for function used in g_dbus_connection_add_filter().
+ *
+ * A filter function is passed a #GDBusMessage and expected to return
+ * a #GDBusMessage too. Passive filter functions that don't modify the
+ * message can simply return the @message object:
+ * |[
+ * static GDBusMessage *
+ * passive_filter (GDBusConnection *connection
+ * GDBusMessage *message,
+ * gboolean incoming,
+ * gpointer user_data)
+ * {
+ * /<!-- -->* inspect @message *<!-- -->/
+ * return message;
+ * }
+ * ]|
+ * Filter functions that wants to drop a message can simply return %NULL:
+ * |[
+ * static GDBusMessage *
+ * drop_filter (GDBusConnection *connection
+ * GDBusMessage *message,
+ * gboolean incoming,
+ * gpointer user_data)
+ * {
+ * if (should_drop_message)
+ * {
+ * g_object_unref (message);
+ * message = NULL;
+ * }
+ * return message;
+ * }
+ * ]|
+ * Finally, a filter function may modify a message by copying it:
+ * |[
+ * static GDBusMessage *
+ * modifying_filter (GDBusConnection *connection
+ * GDBusMessage *message,
+ * gboolean incoming,
+ * gpointer user_data)
+ * {
+ * GDBusMessage *copy;
+ * GError *error;
+ *
+ * error = NULL;
+ * copy = g_dbus_message_copy (message, &error);
+ * /<!-- -->* handle @error being is set *<!-- -->/
+ * g_object_unref (message);
+ *
+ * /<!-- -->* modify @copy *<!-- -->/
+ *
+ * return copy;
+ * }
+ * ]|
+ * If the returned #GDBusMessage is different from @message and cannot
+ * be sent on @connection (it could use features, such as file
+ * descriptors, not compatible with @connection), then a warning is
+ * logged to <emphasis>standard error</emphasis>. Applications can
+ * check this ahead of time using g_dbus_message_to_blob() passing a
+ * #GDBusCapabilityFlags value obtained from @connection.
+ *
+ * Returns: (transfer full) (allow-none): A #GDBusMessage that will be freed with
+ * g_object_unref() or %NULL to drop the message. Passive filter
+ * functions can simply return the passed @message object.
+ *
+ * Since: 2.26
+ */
+typedef GDBusMessage *(*GDBusMessageFilterFunction) (GDBusConnection *connection,
+ GDBusMessage *message,
+ gboolean incoming,
+ gpointer user_data);
+
+GLIB_AVAILABLE_IN_ALL
+guint g_dbus_connection_add_filter (GDBusConnection *connection,
+ GDBusMessageFilterFunction filter_function,
+ gpointer user_data,
+ GDestroyNotify user_data_free_func);
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_connection_remove_filter (GDBusConnection *connection,
+ guint filter_id);
+
+/* ---------------------------------------------------------------------------------------------------- */
+
+
+G_END_DECLS
+
+#endif /* __G_DBUS_CONNECTION_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbuserror.h b/dist/usr/include/glib-2.0/gio/gdbuserror.h
new file mode 100644
index 0000000..cc90a9e
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbuserror.h
@@ -0,0 +1,111 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_ERROR_H__
+#define __G_DBUS_ERROR_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+/**
+ * G_DBUS_ERROR:
+ *
+ * Error domain for errors generated by a remote message bus. Errors
+ * in this domain will be from the #GDBusError enumeration. See
+ * #GError for more information on error domains.
+ *
+ * Note that errors in this error domain is intended only for
+ * returning errors from a remote message bus process. Errors
+ * generated locally in-process by e.g. #GDBusConnection is from the
+ * %G_IO_ERROR domain.
+ *
+ * Since: 2.26
+ */
+#define G_DBUS_ERROR g_dbus_error_quark()
+
+GLIB_AVAILABLE_IN_ALL
+GQuark g_dbus_error_quark (void);
+
+/* Used by applications to check, get and strip the D-Bus error name */
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_error_is_remote_error (const GError *error);
+GLIB_AVAILABLE_IN_ALL
+gchar *g_dbus_error_get_remote_error (const GError *error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_error_strip_remote_error (GError *error);
+
+/**
+ * GDBusErrorEntry:
+ * @error_code: An error code.
+ * @dbus_error_name: The D-Bus error name to associate with @error_code.
+ *
+ * Struct used in g_dbus_error_register_error_domain().
+ *
+ * Since: 2.26
+ */
+struct _GDBusErrorEntry
+{
+ gint error_code;
+ const gchar *dbus_error_name;
+};
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_error_register_error (GQuark error_domain,
+ gint error_code,
+ const gchar *dbus_error_name);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_error_unregister_error (GQuark error_domain,
+ gint error_code,
+ const gchar *dbus_error_name);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_error_register_error_domain (const gchar *error_domain_quark_name,
+ volatile gsize *quark_volatile,
+ const GDBusErrorEntry *entries,
+ guint num_entries);
+
+/* Only used by object mappings to map back and forth to GError */
+GLIB_AVAILABLE_IN_ALL
+GError *g_dbus_error_new_for_dbus_error (const gchar *dbus_error_name,
+ const gchar *dbus_error_message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_error_set_dbus_error (GError **error,
+ const gchar *dbus_error_name,
+ const gchar *dbus_error_message,
+ const gchar *format,
+ ...) G_GNUC_PRINTF(4, 5);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_error_set_dbus_error_valist (GError **error,
+ const gchar *dbus_error_name,
+ const gchar *dbus_error_message,
+ const gchar *format,
+ va_list var_args) G_GNUC_PRINTF(4, 0);
+GLIB_AVAILABLE_IN_ALL
+gchar *g_dbus_error_encode_gerror (const GError *error);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_ERROR_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusinterface.h b/dist/usr/include/glib-2.0/gio/gdbusinterface.h
new file mode 100644
index 0000000..a82a757
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusinterface.h
@@ -0,0 +1,83 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_INTERFACE_H__
+#define __G_DBUS_INTERFACE_H__
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_INTERFACE (g_dbus_interface_get_type())
+#define G_DBUS_INTERFACE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_INTERFACE, GDBusInterface))
+#define G_IS_DBUS_INTERFACE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_INTERFACE))
+#define G_DBUS_INTERFACE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE((o), G_TYPE_DBUS_INTERFACE, GDBusInterfaceIface))
+
+/**
+ * GDBusInterface:
+ *
+ * Base type for D-Bus interfaces.
+ *
+ * Since: 2.30
+ */
+
+typedef struct _GDBusInterfaceIface GDBusInterfaceIface;
+
+/**
+ * GDBusInterfaceIface:
+ * @parent_iface: The parent interface.
+ * @get_info: Returns a #GDBusInterfaceInfo. See g_dbus_interface_get_info().
+ * @get_object: Gets the enclosing #GDBusObject. See g_dbus_interface_get_object().
+ * @set_object: Sets the enclosing #GDBusObject. See g_dbus_interface_set_object().
+ * @dup_object: Gets a reference to the enclosing #GDBusObject. See g_dbus_interface_dup_object(). Added in 2.32.
+ *
+ * Base type for D-Bus interfaces.
+ *
+ * Since: 2.30
+ */
+struct _GDBusInterfaceIface
+{
+ GTypeInterface parent_iface;
+
+ /* Virtual Functions */
+ GDBusInterfaceInfo *(*get_info) (GDBusInterface *interface_);
+ GDBusObject *(*get_object) (GDBusInterface *interface_);
+ void (*set_object) (GDBusInterface *interface_,
+ GDBusObject *object);
+ GDBusObject *(*dup_object) (GDBusInterface *interface_);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_interface_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GDBusInterfaceInfo *g_dbus_interface_get_info (GDBusInterface *interface_);
+GLIB_AVAILABLE_IN_ALL
+GDBusObject *g_dbus_interface_get_object (GDBusInterface *interface_);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_interface_set_object (GDBusInterface *interface_,
+ GDBusObject *object);
+GLIB_AVAILABLE_IN_2_32
+GDBusObject *g_dbus_interface_dup_object (GDBusInterface *interface_);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_INTERFACE_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h b/dist/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h
new file mode 100644
index 0000000..ca79c53
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h
@@ -0,0 +1,129 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_INTERFACE_SKELETON_H__
+#define __G_DBUS_INTERFACE_SKELETON_H__
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_INTERFACE_SKELETON (g_dbus_interface_skeleton_get_type ())
+#define G_DBUS_INTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_INTERFACE_SKELETON, GDBusInterfaceSkeleton))
+#define G_DBUS_INTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_INTERFACE_SKELETON, GDBusInterfaceSkeletonClass))
+#define G_DBUS_INTERFACE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_INTERFACE_SKELETON, GDBusInterfaceSkeletonClass))
+#define G_IS_DBUS_INTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_INTERFACE_SKELETON))
+#define G_IS_DBUS_INTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_INTERFACE_SKELETON))
+
+typedef struct _GDBusInterfaceSkeletonClass GDBusInterfaceSkeletonClass;
+typedef struct _GDBusInterfaceSkeletonPrivate GDBusInterfaceSkeletonPrivate;
+
+/**
+ * GDBusInterfaceSkeleton:
+ *
+ * The #GDBusInterfaceSkeleton structure contains private data and should
+ * only be accessed using the provided API.
+ *
+ * Since: 2.30
+ */
+struct _GDBusInterfaceSkeleton
+{
+ /*< private >*/
+ GObject parent_instance;
+ GDBusInterfaceSkeletonPrivate *priv;
+};
+
+/**
+ * GDBusInterfaceSkeletonClass:
+ * @parent_class: The parent class.
+ * @get_info: Returns a #GDBusInterfaceInfo. See g_dbus_interface_skeleton_get_info() for details.
+ * @get_vtable: Returns a #GDBusInterfaceVTable. See g_dbus_interface_skeleton_get_vtable() for details.
+ * @get_properties: Returns a #GVariant with all properties. See g_dbus_interface_skeleton_get_properties().
+ * @flush: Emits outstanding changes, if any. See g_dbus_interface_skeleton_flush().
+ * @g_authorize_method: Signal class handler for the #GDBusInterfaceSkeleton::g-authorize-method signal.
+ *
+ * Class structure for #GDBusInterfaceSkeleton.
+ *
+ * Since: 2.30
+ */
+struct _GDBusInterfaceSkeletonClass
+{
+ GObjectClass parent_class;
+
+ /* Virtual Functions */
+ GDBusInterfaceInfo *(*get_info) (GDBusInterfaceSkeleton *interface_);
+ GDBusInterfaceVTable *(*get_vtable) (GDBusInterfaceSkeleton *interface_);
+ GVariant *(*get_properties) (GDBusInterfaceSkeleton *interface_);
+ void (*flush) (GDBusInterfaceSkeleton *interface_);
+
+ /*< private >*/
+ gpointer vfunc_padding[8];
+ /*< public >*/
+
+ /* Signals */
+ gboolean (*g_authorize_method) (GDBusInterfaceSkeleton *interface_,
+ GDBusMethodInvocation *invocation);
+
+ /*< private >*/
+ gpointer signal_padding[8];
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_interface_skeleton_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GDBusInterfaceSkeletonFlags g_dbus_interface_skeleton_get_flags (GDBusInterfaceSkeleton *interface_);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_interface_skeleton_set_flags (GDBusInterfaceSkeleton *interface_,
+ GDBusInterfaceSkeletonFlags flags);
+GLIB_AVAILABLE_IN_ALL
+GDBusInterfaceInfo *g_dbus_interface_skeleton_get_info (GDBusInterfaceSkeleton *interface_);
+GLIB_AVAILABLE_IN_ALL
+GDBusInterfaceVTable *g_dbus_interface_skeleton_get_vtable (GDBusInterfaceSkeleton *interface_);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_interface_skeleton_get_properties (GDBusInterfaceSkeleton *interface_);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_interface_skeleton_flush (GDBusInterfaceSkeleton *interface_);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_interface_skeleton_export (GDBusInterfaceSkeleton *interface_,
+ GDBusConnection *connection,
+ const gchar *object_path,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_interface_skeleton_unexport (GDBusInterfaceSkeleton *interface_);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_interface_skeleton_unexport_from_connection (GDBusInterfaceSkeleton *interface_,
+ GDBusConnection *connection);
+
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_dbus_interface_skeleton_get_connection (GDBusInterfaceSkeleton *interface_);
+GLIB_AVAILABLE_IN_ALL
+GList *g_dbus_interface_skeleton_get_connections (GDBusInterfaceSkeleton *interface_);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_interface_skeleton_has_connection (GDBusInterfaceSkeleton *interface_,
+ GDBusConnection *connection);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_interface_skeleton_get_object_path (GDBusInterfaceSkeleton *interface_);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_INTERFACE_SKELETON_H */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusintrospection.h b/dist/usr/include/glib-2.0/gio/gdbusintrospection.h
new file mode 100644
index 0000000..32ee784
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusintrospection.h
@@ -0,0 +1,327 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_INTROSPECTION_H__
+#define __G_DBUS_INTROSPECTION_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+/**
+ * GDBusAnnotationInfo:
+ * @ref_count: The reference count or -1 if statically allocated.
+ * @key: The name of the annotation, e.g. "org.freedesktop.DBus.Deprecated".
+ * @value: The value of the annotation.
+ * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
+ *
+ * Information about an annotation.
+ *
+ * Since: 2.26
+ */
+struct _GDBusAnnotationInfo
+{
+ /*< public >*/
+ volatile gint ref_count;
+ gchar *key;
+ gchar *value;
+ GDBusAnnotationInfo **annotations;
+};
+
+/**
+ * GDBusArgInfo:
+ * @ref_count: The reference count or -1 if statically allocated.
+ * @name: Name of the argument, e.g. @unix_user_id.
+ * @signature: D-Bus signature of the argument (a single complete type).
+ * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
+ *
+ * Information about an argument for a method or a signal.
+ *
+ * Since: 2.26
+ */
+struct _GDBusArgInfo
+{
+ /*< public >*/
+ volatile gint ref_count;
+ gchar *name;
+ gchar *signature;
+ GDBusAnnotationInfo **annotations;
+};
+
+/**
+ * GDBusMethodInfo:
+ * @ref_count: The reference count or -1 if statically allocated.
+ * @name: The name of the D-Bus method, e.g. @RequestName.
+ * @in_args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no in arguments.
+ * @out_args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no out arguments.
+ * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
+ *
+ * Information about a method on an D-Bus interface.
+ *
+ * Since: 2.26
+ */
+struct _GDBusMethodInfo
+{
+ /*< public >*/
+ volatile gint ref_count;
+ gchar *name;
+ GDBusArgInfo **in_args;
+ GDBusArgInfo **out_args;
+ GDBusAnnotationInfo **annotations;
+};
+
+/**
+ * GDBusSignalInfo:
+ * @ref_count: The reference count or -1 if statically allocated.
+ * @name: The name of the D-Bus signal, e.g. "NameOwnerChanged".
+ * @args: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no arguments.
+ * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
+ *
+ * Information about a signal on a D-Bus interface.
+ *
+ * Since: 2.26
+ */
+struct _GDBusSignalInfo
+{
+ /*< public >*/
+ volatile gint ref_count;
+ gchar *name;
+ GDBusArgInfo **args;
+ GDBusAnnotationInfo **annotations;
+};
+
+/**
+ * GDBusPropertyInfo:
+ * @ref_count: The reference count or -1 if statically allocated.
+ * @name: The name of the D-Bus property, e.g. "SupportedFilesystems".
+ * @signature: The D-Bus signature of the property (a single complete type).
+ * @flags: Access control flags for the property.
+ * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
+ *
+ * Information about a D-Bus property on a D-Bus interface.
+ *
+ * Since: 2.26
+ */
+struct _GDBusPropertyInfo
+{
+ /*< public >*/
+ volatile gint ref_count;
+ gchar *name;
+ gchar *signature;
+ GDBusPropertyInfoFlags flags;
+ GDBusAnnotationInfo **annotations;
+};
+
+/**
+ * GDBusInterfaceInfo:
+ * @ref_count: The reference count or -1 if statically allocated.
+ * @name: The name of the D-Bus interface, e.g. "org.freedesktop.DBus.Properties".
+ * @methods: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusMethodInfo structures or %NULL if there are no methods.
+ * @signals: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusSignalInfo structures or %NULL if there are no signals.
+ * @properties: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusPropertyInfo structures or %NULL if there are no properties.
+ * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
+ *
+ * Information about a D-Bus interface.
+ *
+ * Since: 2.26
+ */
+struct _GDBusInterfaceInfo
+{
+ /*< public >*/
+ volatile gint ref_count;
+ gchar *name;
+ GDBusMethodInfo **methods;
+ GDBusSignalInfo **signals;
+ GDBusPropertyInfo **properties;
+ GDBusAnnotationInfo **annotations;
+};
+
+/**
+ * GDBusNodeInfo:
+ * @ref_count: The reference count or -1 if statically allocated.
+ * @path: The path of the node or %NULL if omitted. Note that this may be a relative path. See the D-Bus specification for more details.
+ * @interfaces: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusInterfaceInfo structures or %NULL if there are no interfaces.
+ * @nodes: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusNodeInfo structures or %NULL if there are no nodes.
+ * @annotations: (array zero-terminated=1): A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
+ *
+ * Information about nodes in a remote object hierarchy.
+ *
+ * Since: 2.26
+ */
+struct _GDBusNodeInfo
+{
+ /*< public >*/
+ volatile gint ref_count;
+ gchar *path;
+ GDBusInterfaceInfo **interfaces;
+ GDBusNodeInfo **nodes;
+ GDBusAnnotationInfo **annotations;
+};
+
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_annotation_info_lookup (GDBusAnnotationInfo **annotations,
+ const gchar *name);
+GLIB_AVAILABLE_IN_ALL
+GDBusMethodInfo *g_dbus_interface_info_lookup_method (GDBusInterfaceInfo *info,
+ const gchar *name);
+GLIB_AVAILABLE_IN_ALL
+GDBusSignalInfo *g_dbus_interface_info_lookup_signal (GDBusInterfaceInfo *info,
+ const gchar *name);
+GLIB_AVAILABLE_IN_ALL
+GDBusPropertyInfo *g_dbus_interface_info_lookup_property (GDBusInterfaceInfo *info,
+ const gchar *name);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_interface_info_cache_build (GDBusInterfaceInfo *info);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_interface_info_cache_release (GDBusInterfaceInfo *info);
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_interface_info_generate_xml (GDBusInterfaceInfo *info,
+ guint indent,
+ GString *string_builder);
+
+GLIB_AVAILABLE_IN_ALL
+GDBusNodeInfo *g_dbus_node_info_new_for_xml (const gchar *xml_data,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusInterfaceInfo *g_dbus_node_info_lookup_interface (GDBusNodeInfo *info,
+ const gchar *name);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_node_info_generate_xml (GDBusNodeInfo *info,
+ guint indent,
+ GString *string_builder);
+
+GLIB_AVAILABLE_IN_ALL
+GDBusNodeInfo *g_dbus_node_info_ref (GDBusNodeInfo *info);
+GLIB_AVAILABLE_IN_ALL
+GDBusInterfaceInfo *g_dbus_interface_info_ref (GDBusInterfaceInfo *info);
+GLIB_AVAILABLE_IN_ALL
+GDBusMethodInfo *g_dbus_method_info_ref (GDBusMethodInfo *info);
+GLIB_AVAILABLE_IN_ALL
+GDBusSignalInfo *g_dbus_signal_info_ref (GDBusSignalInfo *info);
+GLIB_AVAILABLE_IN_ALL
+GDBusPropertyInfo *g_dbus_property_info_ref (GDBusPropertyInfo *info);
+GLIB_AVAILABLE_IN_ALL
+GDBusArgInfo *g_dbus_arg_info_ref (GDBusArgInfo *info);
+GLIB_AVAILABLE_IN_ALL
+GDBusAnnotationInfo *g_dbus_annotation_info_ref (GDBusAnnotationInfo *info);
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_node_info_unref (GDBusNodeInfo *info);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_interface_info_unref (GDBusInterfaceInfo *info);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_method_info_unref (GDBusMethodInfo *info);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_signal_info_unref (GDBusSignalInfo *info);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_property_info_unref (GDBusPropertyInfo *info);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_arg_info_unref (GDBusArgInfo *info);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_annotation_info_unref (GDBusAnnotationInfo *info);
+
+/**
+ * G_TYPE_DBUS_NODE_INFO:
+ *
+ * The #GType for a boxed type holding a #GDBusNodeInfo.
+ *
+ * Since: 2.26
+ */
+#define G_TYPE_DBUS_NODE_INFO (g_dbus_node_info_get_type ())
+
+/**
+ * G_TYPE_DBUS_INTERFACE_INFO:
+ *
+ * The #GType for a boxed type holding a #GDBusInterfaceInfo.
+ *
+ * Since: 2.26
+ */
+#define G_TYPE_DBUS_INTERFACE_INFO (g_dbus_interface_info_get_type ())
+
+/**
+ * G_TYPE_DBUS_METHOD_INFO:
+ *
+ * The #GType for a boxed type holding a #GDBusMethodInfo.
+ *
+ * Since: 2.26
+ */
+#define G_TYPE_DBUS_METHOD_INFO (g_dbus_method_info_get_type ())
+
+/**
+ * G_TYPE_DBUS_SIGNAL_INFO:
+ *
+ * The #GType for a boxed type holding a #GDBusSignalInfo.
+ *
+ * Since: 2.26
+ */
+#define G_TYPE_DBUS_SIGNAL_INFO (g_dbus_signal_info_get_type ())
+
+/**
+ * G_TYPE_DBUS_PROPERTY_INFO:
+ *
+ * The #GType for a boxed type holding a #GDBusPropertyInfo.
+ *
+ * Since: 2.26
+ */
+#define G_TYPE_DBUS_PROPERTY_INFO (g_dbus_property_info_get_type ())
+
+/**
+ * G_TYPE_DBUS_ARG_INFO:
+ *
+ * The #GType for a boxed type holding a #GDBusArgInfo.
+ *
+ * Since: 2.26
+ */
+#define G_TYPE_DBUS_ARG_INFO (g_dbus_arg_info_get_type ())
+
+/**
+ * G_TYPE_DBUS_ANNOTATION_INFO:
+ *
+ * The #GType for a boxed type holding a #GDBusAnnotationInfo.
+ *
+ * Since: 2.26
+ */
+#define G_TYPE_DBUS_ANNOTATION_INFO (g_dbus_annotation_info_get_type ())
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_node_info_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_interface_info_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_method_info_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_signal_info_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_property_info_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_arg_info_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_annotation_info_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* __G_DBUS_INTROSPECTION_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusmenumodel.h b/dist/usr/include/glib-2.0/gio/gdbusmenumodel.h
new file mode 100644
index 0000000..e0ec520
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusmenumodel.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright © 2011 Canonical Ltd.
+ *
+ * This library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * licence, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ * USA.
+ *
+ * Author: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_DBUS_MENU_MODEL_H__
+#define __G_DBUS_MENU_MODEL_H__
+
+#include <gio/gdbusconnection.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_MENU_MODEL (g_dbus_menu_model_get_type ())
+#define G_DBUS_MENU_MODEL(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_DBUS_MENU_MODEL, GDBusMenuModel))
+#define G_IS_DBUS_MENU_MODEL(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
+ G_TYPE_DBUS_MENU_MODEL))
+
+typedef struct _GDBusMenuModel GDBusMenuModel;
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_menu_model_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GDBusMenuModel * g_dbus_menu_model_get (GDBusConnection *connection,
+ const gchar *bus_name,
+ const gchar *object_path);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_MENU_MODEL_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusmessage.h b/dist/usr/include/glib-2.0/gio/gdbusmessage.h
new file mode 100644
index 0000000..bf27f7a
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusmessage.h
@@ -0,0 +1,199 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_MESSAGE_H__
+#define __G_DBUS_MESSAGE_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_MESSAGE (g_dbus_message_get_type ())
+#define G_DBUS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_MESSAGE, GDBusMessage))
+#define G_IS_DBUS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_MESSAGE))
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_message_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_message_new (void);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_message_new_signal (const gchar *path,
+ const gchar *interface_,
+ const gchar *signal);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_message_new_method_call (const gchar *name,
+ const gchar *path,
+ const gchar *interface_,
+ const gchar *method);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_message_new_method_reply (GDBusMessage *method_call_message);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_message_new_method_error (GDBusMessage *method_call_message,
+ const gchar *error_name,
+ const gchar *error_message_format,
+ ...);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_message_new_method_error_valist (GDBusMessage *method_call_message,
+ const gchar *error_name,
+ const gchar *error_message_format,
+ va_list var_args);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_message_new_method_error_literal (GDBusMessage *method_call_message,
+ const gchar *error_name,
+ const gchar *error_message);
+GLIB_AVAILABLE_IN_ALL
+gchar *g_dbus_message_print (GDBusMessage *message,
+ guint indent);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_message_get_locked (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_lock (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_message_copy (GDBusMessage *message,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessageByteOrder g_dbus_message_get_byte_order (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_byte_order (GDBusMessage *message,
+ GDBusMessageByteOrder byte_order);
+
+GLIB_AVAILABLE_IN_ALL
+GDBusMessageType g_dbus_message_get_message_type (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_message_type (GDBusMessage *message,
+ GDBusMessageType type);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessageFlags g_dbus_message_get_flags (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_flags (GDBusMessage *message,
+ GDBusMessageFlags flags);
+GLIB_AVAILABLE_IN_ALL
+guint32 g_dbus_message_get_serial (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_serial (GDBusMessage *message,
+ guint32 serial);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_message_get_header (GDBusMessage *message,
+ GDBusMessageHeaderField header_field);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_header (GDBusMessage *message,
+ GDBusMessageHeaderField header_field,
+ GVariant *value);
+GLIB_AVAILABLE_IN_ALL
+guchar *g_dbus_message_get_header_fields (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_message_get_body (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_body (GDBusMessage *message,
+ GVariant *body);
+GLIB_AVAILABLE_IN_ALL
+GUnixFDList *g_dbus_message_get_unix_fd_list (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_unix_fd_list (GDBusMessage *message,
+ GUnixFDList *fd_list);
+
+GLIB_AVAILABLE_IN_ALL
+guint32 g_dbus_message_get_reply_serial (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_reply_serial (GDBusMessage *message,
+ guint32 value);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_message_get_interface (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_interface (GDBusMessage *message,
+ const gchar *value);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_message_get_member (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_member (GDBusMessage *message,
+ const gchar *value);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_message_get_path (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_path (GDBusMessage *message,
+ const gchar *value);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_message_get_sender (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_sender (GDBusMessage *message,
+ const gchar *value);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_message_get_destination (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_destination (GDBusMessage *message,
+ const gchar *value);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_message_get_error_name (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_error_name (GDBusMessage *message,
+ const gchar *value);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_message_get_signature (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_signature (GDBusMessage *message,
+ const gchar *value);
+
+GLIB_AVAILABLE_IN_ALL
+guint32 g_dbus_message_get_num_unix_fds (GDBusMessage *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_message_set_num_unix_fds (GDBusMessage *message,
+ guint32 value);
+
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_message_get_arg0 (GDBusMessage *message);
+
+
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_message_new_from_blob (guchar *blob,
+ gsize blob_len,
+ GDBusCapabilityFlags capabilities,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gssize g_dbus_message_bytes_needed (guchar *blob,
+ gsize blob_len,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+guchar *g_dbus_message_to_blob (GDBusMessage *message,
+ gsize *out_size,
+ GDBusCapabilityFlags capabilities,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_message_to_gerror (GDBusMessage *message,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_MESSAGE_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusmethodinvocation.h b/dist/usr/include/glib-2.0/gio/gdbusmethodinvocation.h
new file mode 100644
index 0000000..7fd4aff
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusmethodinvocation.h
@@ -0,0 +1,99 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_METHOD_INVOCATION_H__
+#define __G_DBUS_METHOD_INVOCATION_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_METHOD_INVOCATION (g_dbus_method_invocation_get_type ())
+#define G_DBUS_METHOD_INVOCATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_METHOD_INVOCATION, GDBusMethodInvocation))
+#define G_IS_DBUS_METHOD_INVOCATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_METHOD_INVOCATION))
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_method_invocation_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_method_invocation_get_sender (GDBusMethodInvocation *invocation);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_method_invocation_get_object_path (GDBusMethodInvocation *invocation);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_method_invocation_get_interface_name (GDBusMethodInvocation *invocation);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_method_invocation_get_method_name (GDBusMethodInvocation *invocation);
+GLIB_AVAILABLE_IN_ALL
+const GDBusMethodInfo *g_dbus_method_invocation_get_method_info (GDBusMethodInvocation *invocation);
+GLIB_AVAILABLE_IN_2_38
+const GDBusPropertyInfo *g_dbus_method_invocation_get_property_info (GDBusMethodInvocation *invocation);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_dbus_method_invocation_get_connection (GDBusMethodInvocation *invocation);
+GLIB_AVAILABLE_IN_ALL
+GDBusMessage *g_dbus_method_invocation_get_message (GDBusMethodInvocation *invocation);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_method_invocation_get_parameters (GDBusMethodInvocation *invocation);
+GLIB_AVAILABLE_IN_ALL
+gpointer g_dbus_method_invocation_get_user_data (GDBusMethodInvocation *invocation);
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_method_invocation_return_value (GDBusMethodInvocation *invocation,
+ GVariant *parameters);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_method_invocation_return_value_with_unix_fd_list (GDBusMethodInvocation *invocation,
+ GVariant *parameters,
+ GUnixFDList *fd_list);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_method_invocation_return_error (GDBusMethodInvocation *invocation,
+ GQuark domain,
+ gint code,
+ const gchar *format,
+ ...) G_GNUC_PRINTF(4, 5);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_method_invocation_return_error_valist (GDBusMethodInvocation *invocation,
+ GQuark domain,
+ gint code,
+ const gchar *format,
+ va_list var_args)
+ G_GNUC_PRINTF(4, 0);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_method_invocation_return_error_literal (GDBusMethodInvocation *invocation,
+ GQuark domain,
+ gint code,
+ const gchar *message);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_method_invocation_return_gerror (GDBusMethodInvocation *invocation,
+ const GError *error);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_method_invocation_take_error (GDBusMethodInvocation *invocation,
+ GError *error);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_method_invocation_return_dbus_error (GDBusMethodInvocation *invocation,
+ const gchar *error_name,
+ const gchar *error_message);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_METHOD_INVOCATION_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusnameowning.h b/dist/usr/include/glib-2.0/gio/gdbusnameowning.h
new file mode 100644
index 0000000..6e69bff
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusnameowning.h
@@ -0,0 +1,117 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_NAME_OWNING_H__
+#define __G_DBUS_NAME_OWNING_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+/**
+ * GBusAcquiredCallback:
+ * @connection: The #GDBusConnection to a message bus.
+ * @name: The name that is requested to be owned.
+ * @user_data: User data passed to g_bus_own_name().
+ *
+ * Invoked when a connection to a message bus has been obtained.
+ *
+ * Since: 2.26
+ */
+typedef void (*GBusAcquiredCallback) (GDBusConnection *connection,
+ const gchar *name,
+ gpointer user_data);
+
+/**
+ * GBusNameAcquiredCallback:
+ * @connection: The #GDBusConnection on which to acquired the name.
+ * @name: The name being owned.
+ * @user_data: User data passed to g_bus_own_name() or g_bus_own_name_on_connection().
+ *
+ * Invoked when the name is acquired.
+ *
+ * Since: 2.26
+ */
+typedef void (*GBusNameAcquiredCallback) (GDBusConnection *connection,
+ const gchar *name,
+ gpointer user_data);
+
+/**
+ * GBusNameLostCallback:
+ * @connection: The #GDBusConnection on which to acquire the name or %NULL if
+ * the connection was disconnected.
+ * @name: The name being owned.
+ * @user_data: User data passed to g_bus_own_name() or g_bus_own_name_on_connection().
+ *
+ * Invoked when the name is lost or @connection has been closed.
+ *
+ * Since: 2.26
+ */
+typedef void (*GBusNameLostCallback) (GDBusConnection *connection,
+ const gchar *name,
+ gpointer user_data);
+
+GLIB_AVAILABLE_IN_ALL
+guint g_bus_own_name (GBusType bus_type,
+ const gchar *name,
+ GBusNameOwnerFlags flags,
+ GBusAcquiredCallback bus_acquired_handler,
+ GBusNameAcquiredCallback name_acquired_handler,
+ GBusNameLostCallback name_lost_handler,
+ gpointer user_data,
+ GDestroyNotify user_data_free_func);
+
+GLIB_AVAILABLE_IN_ALL
+guint g_bus_own_name_on_connection (GDBusConnection *connection,
+ const gchar *name,
+ GBusNameOwnerFlags flags,
+ GBusNameAcquiredCallback name_acquired_handler,
+ GBusNameLostCallback name_lost_handler,
+ gpointer user_data,
+ GDestroyNotify user_data_free_func);
+
+GLIB_AVAILABLE_IN_ALL
+guint g_bus_own_name_with_closures (GBusType bus_type,
+ const gchar *name,
+ GBusNameOwnerFlags flags,
+ GClosure *bus_acquired_closure,
+ GClosure *name_acquired_closure,
+ GClosure *name_lost_closure);
+
+GLIB_AVAILABLE_IN_ALL
+guint g_bus_own_name_on_connection_with_closures (
+ GDBusConnection *connection,
+ const gchar *name,
+ GBusNameOwnerFlags flags,
+ GClosure *name_acquired_closure,
+ GClosure *name_lost_closure);
+
+GLIB_AVAILABLE_IN_ALL
+void g_bus_unown_name (guint owner_id);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_NAME_OWNING_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusnamewatching.h b/dist/usr/include/glib-2.0/gio/gdbusnamewatching.h
new file mode 100644
index 0000000..85607bf
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusnamewatching.h
@@ -0,0 +1,104 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_NAME_WATCHING_H__
+#define __G_DBUS_NAME_WATCHING_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+/**
+ * GBusNameAppearedCallback:
+ * @connection: The #GDBusConnection the name is being watched on.
+ * @name: The name being watched.
+ * @name_owner: Unique name of the owner of the name being watched.
+ * @user_data: User data passed to g_bus_watch_name().
+ *
+ * Invoked when the name being watched is known to have to have a owner.
+ *
+ * Since: 2.26
+ */
+typedef void (*GBusNameAppearedCallback) (GDBusConnection *connection,
+ const gchar *name,
+ const gchar *name_owner,
+ gpointer user_data);
+
+/**
+ * GBusNameVanishedCallback:
+ * @connection: The #GDBusConnection the name is being watched on, or
+ * %NULL.
+ * @name: The name being watched.
+ * @user_data: User data passed to g_bus_watch_name().
+ *
+ * Invoked when the name being watched is known not to have to have a owner.
+ *
+ * This is also invoked when the #GDBusConection on which the watch was
+ * established has been closed. In that case, @connection will be
+ * %NULL.
+ *
+ * Since: 2.26
+ */
+typedef void (*GBusNameVanishedCallback) (GDBusConnection *connection,
+ const gchar *name,
+ gpointer user_data);
+
+
+GLIB_AVAILABLE_IN_ALL
+guint g_bus_watch_name (GBusType bus_type,
+ const gchar *name,
+ GBusNameWatcherFlags flags,
+ GBusNameAppearedCallback name_appeared_handler,
+ GBusNameVanishedCallback name_vanished_handler,
+ gpointer user_data,
+ GDestroyNotify user_data_free_func);
+GLIB_AVAILABLE_IN_ALL
+guint g_bus_watch_name_on_connection (GDBusConnection *connection,
+ const gchar *name,
+ GBusNameWatcherFlags flags,
+ GBusNameAppearedCallback name_appeared_handler,
+ GBusNameVanishedCallback name_vanished_handler,
+ gpointer user_data,
+ GDestroyNotify user_data_free_func);
+GLIB_AVAILABLE_IN_ALL
+guint g_bus_watch_name_with_closures (GBusType bus_type,
+ const gchar *name,
+ GBusNameWatcherFlags flags,
+ GClosure *name_appeared_closure,
+ GClosure *name_vanished_closure);
+GLIB_AVAILABLE_IN_ALL
+guint g_bus_watch_name_on_connection_with_closures (
+ GDBusConnection *connection,
+ const gchar *name,
+ GBusNameWatcherFlags flags,
+ GClosure *name_appeared_closure,
+ GClosure *name_vanished_closure);
+GLIB_AVAILABLE_IN_ALL
+void g_bus_unwatch_name (guint watcher_id);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_NAME_WATCHING_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusobject.h b/dist/usr/include/glib-2.0/gio/gdbusobject.h
new file mode 100644
index 0000000..ad6c4d8
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusobject.h
@@ -0,0 +1,80 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_OBJECT_H__
+#define __G_DBUS_OBJECT_H__
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_OBJECT (g_dbus_object_get_type())
+#define G_DBUS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT, GDBusObject))
+#define G_IS_DBUS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT))
+#define G_DBUS_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE((o), G_TYPE_DBUS_OBJECT, GDBusObjectIface))
+
+typedef struct _GDBusObjectIface GDBusObjectIface;
+
+/**
+ * GDBusObjectIface:
+ * @parent_iface: The parent interface.
+ * @get_object_path: Returns the object path. See g_dbus_object_get_object_path().
+ * @get_interfaces: Returns all interfaces. See g_dbus_object_get_interfaces().
+ * @get_interface: Returns an interface by name. See g_dbus_object_get_interface().
+ * @interface_added: Signal handler for the #GDBusObject::interface-added signal.
+ * @interface_removed: Signal handler for the #GDBusObject::interface-removed signal.
+ *
+ * Base object type for D-Bus objects.
+ *
+ * Since: 2.30
+ */
+struct _GDBusObjectIface
+{
+ GTypeInterface parent_iface;
+
+ /* Virtual Functions */
+ const gchar *(*get_object_path) (GDBusObject *object);
+ GList *(*get_interfaces) (GDBusObject *object);
+ GDBusInterface *(*get_interface) (GDBusObject *object,
+ const gchar *interface_name);
+
+ /* Signals */
+ void (*interface_added) (GDBusObject *object,
+ GDBusInterface *interface_);
+ void (*interface_removed) (GDBusObject *object,
+ GDBusInterface *interface_);
+
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_object_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_object_get_object_path (GDBusObject *object);
+GLIB_AVAILABLE_IN_ALL
+GList *g_dbus_object_get_interfaces (GDBusObject *object);
+GLIB_AVAILABLE_IN_ALL
+GDBusInterface *g_dbus_object_get_interface (GDBusObject *object,
+ const gchar *interface_name);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_OBJECT_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusobjectmanager.h b/dist/usr/include/glib-2.0/gio/gdbusobjectmanager.h
new file mode 100644
index 0000000..bc00c5e
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusobjectmanager.h
@@ -0,0 +1,96 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_OBJECT_MANAGER_H__
+#define __G_DBUS_OBJECT_MANAGER_H__
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_OBJECT_MANAGER (g_dbus_object_manager_get_type())
+#define G_DBUS_OBJECT_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_MANAGER, GDBusObjectManager))
+#define G_IS_DBUS_OBJECT_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_MANAGER))
+#define G_DBUS_OBJECT_MANAGER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE((o), G_TYPE_DBUS_OBJECT_MANAGER, GDBusObjectManagerIface))
+
+typedef struct _GDBusObjectManagerIface GDBusObjectManagerIface;
+
+/**
+ * GDBusObjectManagerIface:
+ * @parent_iface: The parent interface.
+ * @get_object_path: Virtual function for g_dbus_object_manager_get_object_path().
+ * @get_objects: Virtual function for g_dbus_object_manager_get_objects().
+ * @get_object: Virtual function for g_dbus_object_manager_get_object().
+ * @get_interface: Virtual function for g_dbus_object_manager_get_interface().
+ * @object_added: Signal handler for the #GDBusObjectManager::object-added signal.
+ * @object_removed: Signal handler for the #GDBusObjectManager::object-removed signal.
+ * @interface_added: Signal handler for the #GDBusObjectManager::interface-added signal.
+ * @interface_removed: Signal handler for the #GDBusObjectManager::interface-removed signal.
+ *
+ * Base type for D-Bus object managers.
+ *
+ * Since: 2.30
+ */
+struct _GDBusObjectManagerIface
+{
+ GTypeInterface parent_iface;
+
+ /* Virtual Functions */
+ const gchar *(*get_object_path) (GDBusObjectManager *manager);
+ GList *(*get_objects) (GDBusObjectManager *manager);
+ GDBusObject *(*get_object) (GDBusObjectManager *manager,
+ const gchar *object_path);
+ GDBusInterface *(*get_interface) (GDBusObjectManager *manager,
+ const gchar *object_path,
+ const gchar *interface_name);
+
+ /* Signals */
+ void (*object_added) (GDBusObjectManager *manager,
+ GDBusObject *object);
+ void (*object_removed) (GDBusObjectManager *manager,
+ GDBusObject *object);
+
+ void (*interface_added) (GDBusObjectManager *manager,
+ GDBusObject *object,
+ GDBusInterface *interface_);
+ void (*interface_removed) (GDBusObjectManager *manager,
+ GDBusObject *object,
+ GDBusInterface *interface_);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_object_manager_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_object_manager_get_object_path (GDBusObjectManager *manager);
+GLIB_AVAILABLE_IN_ALL
+GList *g_dbus_object_manager_get_objects (GDBusObjectManager *manager);
+GLIB_AVAILABLE_IN_ALL
+GDBusObject *g_dbus_object_manager_get_object (GDBusObjectManager *manager,
+ const gchar *object_path);
+GLIB_AVAILABLE_IN_ALL
+GDBusInterface *g_dbus_object_manager_get_interface (GDBusObjectManager *manager,
+ const gchar *object_path,
+ const gchar *interface_name);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_OBJECT_MANAGER_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h b/dist/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h
new file mode 100644
index 0000000..91d45a8
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h
@@ -0,0 +1,148 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_OBJECT_MANAGER_CLIENT_H__
+#define __G_DBUS_OBJECT_MANAGER_CLIENT_H__
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_OBJECT_MANAGER_CLIENT (g_dbus_object_manager_client_get_type ())
+#define G_DBUS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT, GDBusObjectManagerClient))
+#define G_DBUS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT, GDBusObjectManagerClientClass))
+#define G_DBUS_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT, GDBusObjectManagerClientClass))
+#define G_IS_DBUS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT))
+#define G_IS_DBUS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_OBJECT_MANAGER_CLIENT))
+
+typedef struct _GDBusObjectManagerClientClass GDBusObjectManagerClientClass;
+typedef struct _GDBusObjectManagerClientPrivate GDBusObjectManagerClientPrivate;
+
+/**
+ * GDBusObjectManagerClient:
+ *
+ * The #GDBusObjectManagerClient structure contains private data and should
+ * only be accessed using the provided API.
+ *
+ * Since: 2.30
+ */
+struct _GDBusObjectManagerClient
+{
+ /*< private >*/
+ GObject parent_instance;
+ GDBusObjectManagerClientPrivate *priv;
+};
+
+/**
+ * GDBusObjectManagerClientClass:
+ * @parent_class: The parent class.
+ * @interface_proxy_signal: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-signal signal.
+ * @interface_proxy_properties_changed: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-properties-changed signal.
+ *
+ * Class structure for #GDBusObjectManagerClient.
+ *
+ * Since: 2.30
+ */
+struct _GDBusObjectManagerClientClass
+{
+ GObjectClass parent_class;
+
+ /* signals */
+ void (*interface_proxy_signal) (GDBusObjectManagerClient *manager,
+ GDBusObjectProxy *object_proxy,
+ GDBusProxy *interface_proxy,
+ const gchar *sender_name,
+ const gchar *signal_name,
+ GVariant *parameters);
+
+ void (*interface_proxy_properties_changed) (GDBusObjectManagerClient *manager,
+ GDBusObjectProxy *object_proxy,
+ GDBusProxy *interface_proxy,
+ GVariant *changed_properties,
+ const gchar* const *invalidated_properties);
+
+ /*< private >*/
+ gpointer padding[8];
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_object_manager_client_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_object_manager_client_new (GDBusConnection *connection,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GDBusProxyTypeFunc get_proxy_type_func,
+ gpointer get_proxy_type_user_data,
+ GDestroyNotify get_proxy_type_destroy_notify,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GDBusObjectManager *g_dbus_object_manager_client_new_finish (GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusObjectManager *g_dbus_object_manager_client_new_sync (GDBusConnection *connection,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GDBusProxyTypeFunc get_proxy_type_func,
+ gpointer get_proxy_type_user_data,
+ GDestroyNotify get_proxy_type_destroy_notify,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_object_manager_client_new_for_bus (GBusType bus_type,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GDBusProxyTypeFunc get_proxy_type_func,
+ gpointer get_proxy_type_user_data,
+ GDestroyNotify get_proxy_type_destroy_notify,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_finish (GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_sync (GBusType bus_type,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GDBusProxyTypeFunc get_proxy_type_func,
+ gpointer get_proxy_type_user_data,
+ GDestroyNotify get_proxy_type_destroy_notify,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_dbus_object_manager_client_get_connection (GDBusObjectManagerClient *manager);
+GLIB_AVAILABLE_IN_ALL
+GDBusObjectManagerClientFlags g_dbus_object_manager_client_get_flags (GDBusObjectManagerClient *manager);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_object_manager_client_get_name (GDBusObjectManagerClient *manager);
+GLIB_AVAILABLE_IN_ALL
+gchar *g_dbus_object_manager_client_get_name_owner (GDBusObjectManagerClient *manager);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_OBJECT_MANAGER_CLIENT_H */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h b/dist/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h
new file mode 100644
index 0000000..cd7bb4b
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h
@@ -0,0 +1,95 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_OBJECT_MANAGER_SERVER_H__
+#define __G_DBUS_OBJECT_MANAGER_SERVER_H__
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_OBJECT_MANAGER_SERVER (g_dbus_object_manager_server_get_type ())
+#define G_DBUS_OBJECT_MANAGER_SERVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_MANAGER_SERVER, GDBusObjectManagerServer))
+#define G_DBUS_OBJECT_MANAGER_SERVER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_OBJECT_MANAGER_SERVER, GDBusObjectManagerServerClass))
+#define G_DBUS_OBJECT_MANAGER_SERVER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_OBJECT_MANAGER_SERVER, GDBusObjectManagerServerClass))
+#define G_IS_DBUS_OBJECT_MANAGER_SERVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_MANAGER_SERVER))
+#define G_IS_DBUS_OBJECT_MANAGER_SERVER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_OBJECT_MANAGER_SERVER))
+
+typedef struct _GDBusObjectManagerServerClass GDBusObjectManagerServerClass;
+typedef struct _GDBusObjectManagerServerPrivate GDBusObjectManagerServerPrivate;
+
+/**
+ * GDBusObjectManagerServer:
+ *
+ * The #GDBusObjectManagerServer structure contains private data and should
+ * only be accessed using the provided API.
+ *
+ * Since: 2.30
+ */
+struct _GDBusObjectManagerServer
+{
+ /*< private >*/
+ GObject parent_instance;
+ GDBusObjectManagerServerPrivate *priv;
+};
+
+/**
+ * GDBusObjectManagerServerClass:
+ * @parent_class: The parent class.
+ *
+ * Class structure for #GDBusObjectManagerServer.
+ *
+ * Since: 2.30
+ */
+struct _GDBusObjectManagerServerClass
+{
+ GObjectClass parent_class;
+
+ /*< private >*/
+ gpointer padding[8];
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_object_manager_server_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GDBusObjectManagerServer *g_dbus_object_manager_server_new (const gchar *object_path);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_dbus_object_manager_server_get_connection (GDBusObjectManagerServer *manager);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_object_manager_server_set_connection (GDBusObjectManagerServer *manager,
+ GDBusConnection *connection);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_object_manager_server_export (GDBusObjectManagerServer *manager,
+ GDBusObjectSkeleton *object);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_object_manager_server_export_uniquely (GDBusObjectManagerServer *manager,
+ GDBusObjectSkeleton *object);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_object_manager_server_is_exported (GDBusObjectManagerServer *manager,
+ GDBusObjectSkeleton *object);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_object_manager_server_unexport (GDBusObjectManagerServer *manager,
+ const gchar *object_path);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_OBJECT_MANAGER_SERVER_H */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusobjectproxy.h b/dist/usr/include/glib-2.0/gio/gdbusobjectproxy.h
new file mode 100644
index 0000000..8fe7416
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusobjectproxy.h
@@ -0,0 +1,81 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_OBJECT_PROXY_H__
+#define __G_DBUS_OBJECT_PROXY_H__
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_OBJECT_PROXY (g_dbus_object_proxy_get_type ())
+#define G_DBUS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_PROXY, GDBusObjectProxy))
+#define G_DBUS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_OBJECT_PROXY, GDBusObjectProxyClass))
+#define G_DBUS_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_OBJECT_PROXY, GDBusObjectProxyClass))
+#define G_IS_DBUS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_PROXY))
+#define G_IS_DBUS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_OBJECT_PROXY))
+
+typedef struct _GDBusObjectProxyClass GDBusObjectProxyClass;
+typedef struct _GDBusObjectProxyPrivate GDBusObjectProxyPrivate;
+
+/**
+ * GDBusObjectProxy:
+ *
+ * The #GDBusObjectProxy structure contains private data and should
+ * only be accessed using the provided API.
+ *
+ * Since: 2.30
+ */
+struct _GDBusObjectProxy
+{
+ /*< private >*/
+ GObject parent_instance;
+ GDBusObjectProxyPrivate *priv;
+};
+
+/**
+ * GDBusObjectProxyClass:
+ * @parent_class: The parent class.
+ *
+ * Class structure for #GDBusObjectProxy.
+ *
+ * Since: 2.30
+ */
+struct _GDBusObjectProxyClass
+{
+ GObjectClass parent_class;
+
+ /*< private >*/
+ gpointer padding[8];
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_object_proxy_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GDBusObjectProxy *g_dbus_object_proxy_new (GDBusConnection *connection,
+ const gchar *object_path);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_dbus_object_proxy_get_connection (GDBusObjectProxy *proxy);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_OBJECT_PROXY_H */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusobjectskeleton.h b/dist/usr/include/glib-2.0/gio/gdbusobjectskeleton.h
new file mode 100644
index 0000000..3bce873
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusobjectskeleton.h
@@ -0,0 +1,98 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_OBJECT_SKELETON_H__
+#define __G_DBUS_OBJECT_SKELETON_H__
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_OBJECT_SKELETON (g_dbus_object_skeleton_get_type ())
+#define G_DBUS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_SKELETON, GDBusObjectSkeleton))
+#define G_DBUS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_OBJECT_SKELETON, GDBusObjectSkeletonClass))
+#define G_DBUS_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_OBJECT_SKELETON, GDBusObjectSkeletonClass))
+#define G_IS_DBUS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_SKELETON))
+#define G_IS_DBUS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_OBJECT_SKELETON))
+
+typedef struct _GDBusObjectSkeletonClass GDBusObjectSkeletonClass;
+typedef struct _GDBusObjectSkeletonPrivate GDBusObjectSkeletonPrivate;
+
+/**
+ * GDBusObjectSkeleton:
+ *
+ * The #GDBusObjectSkeleton structure contains private data and should only be
+ * accessed using the provided API.
+ *
+ * Since: 2.30
+ */
+struct _GDBusObjectSkeleton
+{
+ /*< private >*/
+ GObject parent_instance;
+ GDBusObjectSkeletonPrivate *priv;
+};
+
+/**
+ * GDBusObjectSkeletonClass:
+ * @parent_class: The parent class.
+ * @authorize_method: Signal class handler for the #GDBusObjectSkeleton::authorize-method signal.
+ *
+ * Class structure for #GDBusObjectSkeleton.
+ *
+ * Since: 2.30
+ */
+struct _GDBusObjectSkeletonClass
+{
+ GObjectClass parent_class;
+
+ /* Signals */
+ gboolean (*authorize_method) (GDBusObjectSkeleton *object,
+ GDBusInterfaceSkeleton *interface_,
+ GDBusMethodInvocation *invocation);
+
+ /*< private >*/
+ gpointer padding[8];
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_object_skeleton_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GDBusObjectSkeleton *g_dbus_object_skeleton_new (const gchar *object_path);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_object_skeleton_flush (GDBusObjectSkeleton *object);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_object_skeleton_add_interface (GDBusObjectSkeleton *object,
+ GDBusInterfaceSkeleton *interface_);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_object_skeleton_remove_interface (GDBusObjectSkeleton *object,
+ GDBusInterfaceSkeleton *interface_);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_object_skeleton_remove_interface_by_name (GDBusObjectSkeleton *object,
+ const gchar *interface_name);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_object_skeleton_set_object_path (GDBusObjectSkeleton *object,
+ const gchar *object_path);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_OBJECT_SKELETON_H */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusproxy.h b/dist/usr/include/glib-2.0/gio/gdbusproxy.h
new file mode 100644
index 0000000..18a9138
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusproxy.h
@@ -0,0 +1,216 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_PROXY_H__
+#define __G_DBUS_PROXY_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+#include <gio/gdbusintrospection.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_PROXY (g_dbus_proxy_get_type ())
+#define G_DBUS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_PROXY, GDBusProxy))
+#define G_DBUS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_PROXY, GDBusProxyClass))
+#define G_DBUS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_PROXY, GDBusProxyClass))
+#define G_IS_DBUS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_PROXY))
+#define G_IS_DBUS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_PROXY))
+
+typedef struct _GDBusProxyClass GDBusProxyClass;
+typedef struct _GDBusProxyPrivate GDBusProxyPrivate;
+
+/**
+ * GDBusProxy:
+ *
+ * The #GDBusProxy structure contains only private data and
+ * should only be accessed using the provided API.
+ *
+ * Since: 2.26
+ */
+struct _GDBusProxy
+{
+ /*< private >*/
+ GObject parent_instance;
+ GDBusProxyPrivate *priv;
+};
+
+/**
+ * GDBusProxyClass:
+ * @g_properties_changed: Signal class handler for the #GDBusProxy::g-properties-changed signal.
+ * @g_signal: Signal class handler for the #GDBusProxy::g-signal signal.
+ *
+ * Class structure for #GDBusProxy.
+ *
+ * Since: 2.26
+ */
+struct _GDBusProxyClass
+{
+ /*< private >*/
+ GObjectClass parent_class;
+
+ /*< public >*/
+ /* Signals */
+ void (*g_properties_changed) (GDBusProxy *proxy,
+ GVariant *changed_properties,
+ const gchar* const *invalidated_properties);
+ void (*g_signal) (GDBusProxy *proxy,
+ const gchar *sender_name,
+ const gchar *signal_name,
+ GVariant *parameters);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ gpointer padding[32];
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_proxy_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_proxy_new (GDBusConnection *connection,
+ GDBusProxyFlags flags,
+ GDBusInterfaceInfo *info,
+ const gchar *name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GDBusProxy *g_dbus_proxy_new_finish (GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusProxy *g_dbus_proxy_new_sync (GDBusConnection *connection,
+ GDBusProxyFlags flags,
+ GDBusInterfaceInfo *info,
+ const gchar *name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_proxy_new_for_bus (GBusType bus_type,
+ GDBusProxyFlags flags,
+ GDBusInterfaceInfo *info,
+ const gchar *name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GDBusProxy *g_dbus_proxy_new_for_bus_finish (GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusProxy *g_dbus_proxy_new_for_bus_sync (GBusType bus_type,
+ GDBusProxyFlags flags,
+ GDBusInterfaceInfo *info,
+ const gchar *name,
+ const gchar *object_path,
+ const gchar *interface_name,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GDBusConnection *g_dbus_proxy_get_connection (GDBusProxy *proxy);
+GLIB_AVAILABLE_IN_ALL
+GDBusProxyFlags g_dbus_proxy_get_flags (GDBusProxy *proxy);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_proxy_get_name (GDBusProxy *proxy);
+GLIB_AVAILABLE_IN_ALL
+gchar *g_dbus_proxy_get_name_owner (GDBusProxy *proxy);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_proxy_get_object_path (GDBusProxy *proxy);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_proxy_get_interface_name (GDBusProxy *proxy);
+GLIB_AVAILABLE_IN_ALL
+gint g_dbus_proxy_get_default_timeout (GDBusProxy *proxy);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_proxy_set_default_timeout (GDBusProxy *proxy,
+ gint timeout_msec);
+GLIB_AVAILABLE_IN_ALL
+GDBusInterfaceInfo *g_dbus_proxy_get_interface_info (GDBusProxy *proxy);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_proxy_set_interface_info (GDBusProxy *proxy,
+ GDBusInterfaceInfo *info);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_proxy_get_cached_property (GDBusProxy *proxy,
+ const gchar *property_name);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_proxy_set_cached_property (GDBusProxy *proxy,
+ const gchar *property_name,
+ GVariant *value);
+GLIB_AVAILABLE_IN_ALL
+gchar **g_dbus_proxy_get_cached_property_names (GDBusProxy *proxy);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_proxy_call (GDBusProxy *proxy,
+ const gchar *method_name,
+ GVariant *parameters,
+ GDBusCallFlags flags,
+ gint timeout_msec,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_proxy_call_finish (GDBusProxy *proxy,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_proxy_call_sync (GDBusProxy *proxy,
+ const gchar *method_name,
+ GVariant *parameters,
+ GDBusCallFlags flags,
+ gint timeout_msec,
+ GCancellable *cancellable,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_proxy_call_with_unix_fd_list (GDBusProxy *proxy,
+ const gchar *method_name,
+ GVariant *parameters,
+ GDBusCallFlags flags,
+ gint timeout_msec,
+ GUnixFDList *fd_list,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_proxy_call_with_unix_fd_list_finish (GDBusProxy *proxy,
+ GUnixFDList **out_fd_list,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_proxy_call_with_unix_fd_list_sync (GDBusProxy *proxy,
+ const gchar *method_name,
+ GVariant *parameters,
+ GDBusCallFlags flags,
+ gint timeout_msec,
+ GUnixFDList *fd_list,
+ GUnixFDList **out_fd_list,
+ GCancellable *cancellable,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_PROXY_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusserver.h b/dist/usr/include/glib-2.0/gio/gdbusserver.h
new file mode 100644
index 0000000..05557f0
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusserver.h
@@ -0,0 +1,62 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_SERVER_H__
+#define __G_DBUS_SERVER_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DBUS_SERVER (g_dbus_server_get_type ())
+#define G_DBUS_SERVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_SERVER, GDBusServer))
+#define G_IS_DBUS_SERVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_SERVER))
+
+GLIB_AVAILABLE_IN_ALL
+GType g_dbus_server_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GDBusServer *g_dbus_server_new_sync (const gchar *address,
+ GDBusServerFlags flags,
+ const gchar *guid,
+ GDBusAuthObserver *observer,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_server_get_client_address (GDBusServer *server);
+GLIB_AVAILABLE_IN_ALL
+const gchar *g_dbus_server_get_guid (GDBusServer *server);
+GLIB_AVAILABLE_IN_ALL
+GDBusServerFlags g_dbus_server_get_flags (GDBusServer *server);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_server_start (GDBusServer *server);
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_server_stop (GDBusServer *server);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_server_is_active (GDBusServer *server);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_SERVER_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdbusutils.h b/dist/usr/include/glib-2.0/gio/gdbusutils.h
new file mode 100644
index 0000000..6ef2ffd
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdbusutils.h
@@ -0,0 +1,57 @@
+/* GDBus - GLib D-Bus Library
+ *
+ * Copyright (C) 2008-2010 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DBUS_UTILS_H__
+#define __G_DBUS_UTILS_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_is_guid (const gchar *string);
+GLIB_AVAILABLE_IN_ALL
+gchar *g_dbus_generate_guid (void);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_is_name (const gchar *string);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_is_unique_name (const gchar *string);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_is_member_name (const gchar *string);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_dbus_is_interface_name (const gchar *string);
+
+GLIB_AVAILABLE_IN_ALL
+void g_dbus_gvariant_to_gvalue (GVariant *value,
+ GValue *out_gvalue);
+GLIB_AVAILABLE_IN_ALL
+GVariant *g_dbus_gvalue_to_gvariant (const GValue *gvalue,
+ const GVariantType *type);
+
+G_END_DECLS
+
+#endif /* __G_DBUS_UTILS_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gdrive.h b/dist/usr/include/glib-2.0/gio/gdrive.h
new file mode 100644
index 0000000..13c02ae
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gdrive.h
@@ -0,0 +1,261 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ * David Zeuthen <davidz@redhat.com>
+ */
+
+#ifndef __G_DRIVE_H__
+#define __G_DRIVE_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_DRIVE (g_drive_get_type ())
+#define G_DRIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_DRIVE, GDrive))
+#define G_IS_DRIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_DRIVE))
+#define G_DRIVE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_DRIVE, GDriveIface))
+
+/**
+ * GDriveIface:
+ * @g_iface: The parent interface.
+ * @changed: Signal emitted when the drive is changed.
+ * @disconnected: The removed signal that is emitted when the #GDrive have been disconnected. If the recipient is holding references to the object they should release them so the object can be finalized.
+ * @eject_button: Signal emitted when the physical eject button (if any) of a drive have been pressed.
+ * @get_name: Returns the name for the given #GDrive.
+ * @get_icon: Returns a #GIcon for the given #GDrive.
+ * @has_volumes: Returns %TRUE if the #GDrive has mountable volumes.
+ * @get_volumes: Returns a list #GList of #GVolume for the #GDrive.
+ * @is_media_removable: Returns %TRUE if the #GDrive supports removal and insertion of media.
+ * @has_media: Returns %TRUE if the #GDrive has media inserted.
+ * @is_media_check_automatic: Returns %TRUE if the #GDrive is capabable of automatically detecting media changes.
+ * @can_poll_for_media: Returns %TRUE if the #GDrive is capable of manually polling for media change.
+ * @can_eject: Returns %TRUE if the #GDrive can eject media.
+ * @eject: Ejects a #GDrive.
+ * @eject_finish: Finishes an eject operation.
+ * @poll_for_media: Poll for media insertion/removal on a #GDrive.
+ * @poll_for_media_finish: Finishes a media poll operation.
+ * @get_identifier: Returns the identifier of the given kind, or %NULL if
+ * the #GDrive doesn't have one.
+ * @enumerate_identifiers: Returns an array strings listing the kinds
+ * of identifiers which the #GDrive has.
+ * @get_start_stop_type: Gets a #GDriveStartStopType with details about starting/stopping the drive. Since 2.22.
+ * @can_stop: Returns %TRUE if a #GDrive can be stopped. Since 2.22.
+ * @stop: Stops a #GDrive. Since 2.22.
+ * @stop_finish: Finishes a stop operation. Since 2.22.
+ * @can_start: Returns %TRUE if a #GDrive can be started. Since 2.22.
+ * @can_start_degraded: Returns %TRUE if a #GDrive can be started degraded. Since 2.22.
+ * @start: Starts a #GDrive. Since 2.22.
+ * @start_finish: Finishes a start operation. Since 2.22.
+ * @stop_button: Signal emitted when the physical stop button (if any) of a drive have been pressed. Since 2.22.
+ * @eject_with_operation: Starts ejecting a #GDrive using a #GMountOperation. Since 2.22.
+ * @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.
+ * @get_sort_key: Gets a key used for sorting #GDrive instances or %NULL if no such key exists. Since 2.32.
+ * @get_symbolic_icon: Returns a symbolic #GIcon for the given #GDrive. Since 2.34.
+ *
+ * Interface for creating #GDrive implementations.
+ */
+typedef struct _GDriveIface GDriveIface;
+
+struct _GDriveIface
+{
+ GTypeInterface g_iface;
+
+ /* signals */
+ void (* changed) (GDrive *drive);
+ void (* disconnected) (GDrive *drive);
+ void (* eject_button) (GDrive *drive);
+
+ /* Virtual Table */
+ char * (* get_name) (GDrive *drive);
+ GIcon * (* get_icon) (GDrive *drive);
+ gboolean (* has_volumes) (GDrive *drive);
+ GList * (* get_volumes) (GDrive *drive);
+ gboolean (* is_media_removable) (GDrive *drive);
+ gboolean (* has_media) (GDrive *drive);
+ gboolean (* is_media_check_automatic) (GDrive *drive);
+ gboolean (* can_eject) (GDrive *drive);
+ gboolean (* can_poll_for_media) (GDrive *drive);
+ void (* eject) (GDrive *drive,
+ GMountUnmountFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* eject_finish) (GDrive *drive,
+ GAsyncResult *result,
+ GError **error);
+ void (* poll_for_media) (GDrive *drive,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* poll_for_media_finish) (GDrive *drive,
+ GAsyncResult *result,
+ GError **error);
+
+ char * (* get_identifier) (GDrive *drive,
+ const char *kind);
+ char ** (* enumerate_identifiers) (GDrive *drive);
+
+ GDriveStartStopType (* get_start_stop_type) (GDrive *drive);
+
+ gboolean (* can_start) (GDrive *drive);
+ gboolean (* can_start_degraded) (GDrive *drive);
+ void (* start) (GDrive *drive,
+ GDriveStartFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* start_finish) (GDrive *drive,
+ GAsyncResult *result,
+ GError **error);
+
+ gboolean (* can_stop) (GDrive *drive);
+ void (* stop) (GDrive *drive,
+ GMountUnmountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* stop_finish) (GDrive *drive,
+ GAsyncResult *result,
+ GError **error);
+ /* signal, not VFunc */
+ void (* stop_button) (GDrive *drive);
+
+ void (* eject_with_operation) (GDrive *drive,
+ GMountUnmountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* eject_with_operation_finish) (GDrive *drive,
+ GAsyncResult *result,
+ GError **error);
+
+ const gchar * (* get_sort_key) (GDrive *drive);
+ GIcon * (* get_symbolic_icon) (GDrive *drive);
+
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_drive_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+char * g_drive_get_name (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_drive_get_icon (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_drive_get_symbolic_icon (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_has_volumes (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+GList * g_drive_get_volumes (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_is_media_removable (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_has_media (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_is_media_check_automatic (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_can_poll_for_media (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_can_eject (GDrive *drive);
+GLIB_DEPRECATED_FOR(g_drive_eject_with_operation)
+void g_drive_eject (GDrive *drive,
+ GMountUnmountFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+
+GLIB_DEPRECATED_FOR(g_drive_eject_with_operation_finish)
+gboolean g_drive_eject_finish (GDrive *drive,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_drive_poll_for_media (GDrive *drive,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_poll_for_media_finish (GDrive *drive,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+char * g_drive_get_identifier (GDrive *drive,
+ const char *kind);
+GLIB_AVAILABLE_IN_ALL
+char ** g_drive_enumerate_identifiers (GDrive *drive);
+
+GLIB_AVAILABLE_IN_ALL
+GDriveStartStopType g_drive_get_start_stop_type (GDrive *drive);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_can_start (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_can_start_degraded (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+void g_drive_start (GDrive *drive,
+ GDriveStartFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_start_finish (GDrive *drive,
+ GAsyncResult *result,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_can_stop (GDrive *drive);
+GLIB_AVAILABLE_IN_ALL
+void g_drive_stop (GDrive *drive,
+ GMountUnmountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_stop_finish (GDrive *drive,
+ GAsyncResult *result,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+void g_drive_eject_with_operation (GDrive *drive,
+ GMountUnmountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_drive_eject_with_operation_finish (GDrive *drive,
+ GAsyncResult *result,
+ GError **error);
+
+GLIB_AVAILABLE_IN_2_32
+const gchar *g_drive_get_sort_key (GDrive *drive);
+
+G_END_DECLS
+
+#endif /* __G_DRIVE_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gemblem.h b/dist/usr/include/glib-2.0/gio/gemblem.h
new file mode 100644
index 0000000..d581abb
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gemblem.h
@@ -0,0 +1,63 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2008 Clemens N. Buss <cebuzz@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef __G_EMBLEM_H__
+#define __G_EMBLEM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gioenums.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_EMBLEM (g_emblem_get_type ())
+#define G_EMBLEM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_EMBLEM, GEmblem))
+#define G_EMBLEM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_EMBLEM, GEmblemClass))
+#define G_IS_EMBLEM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_EMBLEM))
+#define G_IS_EMBLEM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_EMBLEM))
+#define G_EMBLEM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_EMBLEM, GEmblemClass))
+
+/**
+ * GEmblem:
+ *
+ * An object for Emblems
+ */
+typedef struct _GEmblem GEmblem;
+typedef struct _GEmblemClass GEmblemClass;
+
+GLIB_AVAILABLE_IN_ALL
+GType g_emblem_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GEmblem *g_emblem_new (GIcon *icon);
+GLIB_AVAILABLE_IN_ALL
+GEmblem *g_emblem_new_with_origin (GIcon *icon,
+ GEmblemOrigin origin);
+GLIB_AVAILABLE_IN_ALL
+GIcon *g_emblem_get_icon (GEmblem *emblem);
+GLIB_AVAILABLE_IN_ALL
+GEmblemOrigin g_emblem_get_origin (GEmblem *emblem);
+
+G_END_DECLS
+
+#endif /* __G_EMBLEM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gemblemedicon.h b/dist/usr/include/glib-2.0/gio/gemblemedicon.h
new file mode 100644
index 0000000..714fe39
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gemblemedicon.h
@@ -0,0 +1,83 @@
+/* Gio - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Matthias Clasen <mclasen@redhat.com>
+ * Clemens N. Buss <cebuzz@gmail.com>
+ */
+
+#ifndef __G_EMBLEMED_ICON_H__
+#define __G_EMBLEMED_ICON_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gicon.h>
+#include <gio/gemblem.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_EMBLEMED_ICON (g_emblemed_icon_get_type ())
+#define G_EMBLEMED_ICON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_EMBLEMED_ICON, GEmblemedIcon))
+#define G_EMBLEMED_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_EMBLEMED_ICON, GEmblemedIconClass))
+#define G_IS_EMBLEMED_ICON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_EMBLEMED_ICON))
+#define G_IS_EMBLEMED_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_EMBLEMED_ICON))
+#define G_EMBLEMED_ICON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_EMBLEMED_ICON, GEmblemedIconClass))
+
+/**
+ * GEmblemedIcon:
+ *
+ * An implementation of #GIcon for icons with emblems.
+ **/
+typedef struct _GEmblemedIcon GEmblemedIcon;
+typedef struct _GEmblemedIconClass GEmblemedIconClass;
+typedef struct _GEmblemedIconPrivate GEmblemedIconPrivate;
+
+struct _GEmblemedIcon
+{
+ GObject parent_instance;
+
+ /*< private >*/
+ GEmblemedIconPrivate *priv;
+};
+
+struct _GEmblemedIconClass
+{
+ GObjectClass parent_class;
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_emblemed_icon_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GIcon *g_emblemed_icon_new (GIcon *icon,
+ GEmblem *emblem);
+GLIB_AVAILABLE_IN_ALL
+GIcon *g_emblemed_icon_get_icon (GEmblemedIcon *emblemed);
+GLIB_AVAILABLE_IN_ALL
+GList *g_emblemed_icon_get_emblems (GEmblemedIcon *emblemed);
+GLIB_AVAILABLE_IN_ALL
+void g_emblemed_icon_add_emblem (GEmblemedIcon *emblemed,
+ GEmblem *emblem);
+GLIB_AVAILABLE_IN_ALL
+void g_emblemed_icon_clear_emblems (GEmblemedIcon *emblemed);
+
+G_END_DECLS
+
+#endif /* __G_EMBLEMED_ICON_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfile.h b/dist/usr/include/glib-2.0/gio/gfile.h
new file mode 100644
index 0000000..0cf6ee2
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfile.h
@@ -0,0 +1,1190 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_FILE_H__
+#define __G_FILE_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILE (g_file_get_type ())
+#define G_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_FILE, GFile))
+#define G_IS_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_FILE))
+#define G_FILE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_FILE, GFileIface))
+
+#if 0
+/**
+ * GFile:
+ *
+ * A handle to an object implementing the #GFileIface interface.
+ * Generally stores a location within the file system. Handles do not
+ * necessarily represent files or directories that currently exist.
+ **/
+typedef struct _GFile GFile; /* Dummy typedef */
+#endif
+typedef struct _GFileIface GFileIface;
+
+
+/**
+ * GFileIface:
+ * @g_iface: The parent interface.
+ * @dup: Duplicates a #GFile.
+ * @hash: Creates a hash of a #GFile.
+ * @equal: Checks equality of two given #GFile<!-- -->s.
+ * @is_native: Checks to see if a file is native to the system.
+ * @has_uri_scheme: Checks to see if a #GFile has a given URI scheme.
+ * @get_uri_scheme: Gets the URI scheme for a #GFile.
+ * @get_basename: Gets the basename for a given #GFile.
+ * @get_path: Gets the current path within a #GFile.
+ * @get_uri: Gets a URI for the path within a #GFile.
+ * @get_parse_name: Gets the parsed name for the #GFile.
+ * @get_parent: Gets the parent directory for the #GFile.
+ * @prefix_matches: Checks whether a #GFile contains a specified file.
+ * @get_relative_path: Gets the path for a #GFile relative to a given path.
+ * @resolve_relative_path: Resolves a relative path for a #GFile to an absolute path.
+ * @get_child_for_display_name: Gets the child #GFile for a given display name.
+ * @enumerate_children: Gets a #GFileEnumerator with the children of a #GFile.
+ * @enumerate_children_async: Asynchronously gets a #GFileEnumerator with the children of a #GFile.
+ * @enumerate_children_finish: Finishes asynchronously enumerating the children.
+ * @query_info: Gets the #GFileInfo for a #GFile.
+ * @query_info_async: Asynchronously gets the #GFileInfo for a #GFile.
+ * @query_info_finish: Finishes an asynchronous query info operation.
+ * @query_filesystem_info: Gets a #GFileInfo for the file system #GFile is on.
+ * @query_filesystem_info_async: Asynchronously gets a #GFileInfo for the file system #GFile is on.
+ * @query_filesystem_info_finish: Finishes asynchronously getting the file system info.
+ * @find_enclosing_mount: Gets a #GMount for the #GFile.
+ * @find_enclosing_mount_async: Asynchronously gets the #GMount for a #GFile.
+ * @find_enclosing_mount_finish: Finishes asynchronously getting the volume.
+ * @set_display_name: Sets the display name for a #GFile.
+ * @set_display_name_async: Asynchronously sets a #GFile's display name.
+ * @set_display_name_finish: Finishes asynchronously setting a #GFile's display name.
+ * @query_settable_attributes: Returns a list of #GFileAttribute<!-- -->s that can be set.
+ * @_query_settable_attributes_async: Asynchronously gets a list of #GFileAttribute<!-- -->s that can be set.
+ * @_query_settable_attributes_finish: Finishes asynchronously querying settable attributes.
+ * @query_writable_namespaces: Returns a list of #GFileAttribute namespaces that are writable.
+ * @_query_writable_namespaces_async: Asynchronously gets a list of #GFileAttribute namespaces that are writable.
+ * @_query_writable_namespaces_finish: Finishes asynchronously querying the writable namespaces.
+ * @set_attribute: Sets a #GFileAttribute.
+ * @set_attributes_from_info: Sets a #GFileAttribute with information from a #GFileInfo.
+ * @set_attributes_async: Asynchronously sets a file's attributes.
+ * @set_attributes_finish: Finishes setting a file's attributes asynchronously.
+ * @read_fn: Reads a file asynchronously.
+ * @read_async: Asynchronously reads a file.
+ * @read_finish: Finishes asynchronously reading a file.
+ * @append_to: Writes to the end of a file.
+ * @append_to_async: Asynchronously writes to the end of a file.
+ * @append_to_finish: Finishes an asynchronous file append operation.
+ * @create: Creates a new file.
+ * @create_async: Asynchronously creates a file.
+ * @create_finish: Finishes asynchronously creating a file.
+ * @replace: Replaces the contents of a file.
+ * @replace_async: Asynchronously replaces the contents of a file.
+ * @replace_finish: Finishes asynchronously replacing a file.
+ * @delete_file: Deletes a file.
+ * @delete_file_async: Asynchronously deletes a file.
+ * @delete_file_finish: Finishes an asynchronous delete.
+ * @trash: Sends a #GFile to the Trash location.
+ * @trash_async: Asynchronously sends a #GFile to the Trash location.
+ * @trash_finish: Finishes an asynchronous file trashing operation.
+ * @make_directory: Makes a directory.
+ * @make_directory_async: Asynchronously makes a directory.
+ * @make_directory_finish: Finishes making a directory asynchronously.
+ * @make_symbolic_link: Makes a symbolic link.
+ * @_make_symbolic_link_async: Asynchronously makes a symbolic link
+ * @_make_symbolic_link_finish: Finishes making a symbolic link asynchronously.
+ * @copy: Copies a file.
+ * @copy_async: Asynchronously copies a file.
+ * @copy_finish: Finishes an asynchronous copy operation.
+ * @move: Moves a file.
+ * @_move_async: Asynchronously moves a file.
+ * @_move_finish: Finishes an asynchronous move operation.
+ * @mount_mountable: Mounts a mountable object.
+ * @mount_mountable_finish: Finishes a mounting operation.
+ * @unmount_mountable: Unmounts a mountable object.
+ * @unmount_mountable_finish: Finishes an unmount operation.
+ * @eject_mountable: Ejects a mountable.
+ * @eject_mountable_finish: Finishes an eject operation.
+ * @mount_enclosing_volume: Mounts a specified location.
+ * @mount_enclosing_volume_finish: Finishes mounting a specified location.
+ * @monitor_dir: Creates a #GFileMonitor for the location.
+ * @monitor_file: Creates a #GFileMonitor for the location.
+ * @open_readwrite: Open file read/write. Since 2.22.
+ * @open_readwrite_async: Asynchronously opens file read/write. Since 2.22.
+ * @open_readwrite_finish: Finishes an asynchronous open read/write. Since 2.22.
+ * @create_readwrite: Creates file read/write. Since 2.22.
+ * @create_readwrite_async: Asynchronously creates file read/write. Since 2.22.
+ * @create_readwrite_finish: Finishes an asynchronous creates read/write. Since 2.22.
+ * @replace_readwrite: Replaces file read/write. Since 2.22.
+ * @replace_readwrite_async: Asynchronously replaces file read/write. Since 2.22.
+ * @replace_readwrite_finish: Finishes an asynchronous replace read/write. Since 2.22.
+ * @start_mountable: Starts a mountable object. Since 2.22.
+ * @start_mountable_finish: Finishes an start operation. Since 2.22.
+ * @stop_mountable: Stops a mountable. Since 2.22.
+ * @stop_mountable_finish: Finishes an stop operation. Since 2.22.
+ * @supports_thread_contexts: a boolean that indicates whether the #GFile implementation supports thread-default contexts. Since 2.22.
+ * @unmount_mountable_with_operation: Unmounts a mountable object using a #GMountOperation. Since 2.22.
+ * @unmount_mountable_with_operation_finish: Finishes an unmount operation using a #GMountOperation. Since 2.22.
+ * @eject_mountable_with_operation: Ejects a mountable object using a #GMountOperation. Since 2.22.
+ * @eject_mountable_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.
+ * @poll_mountable: Polls a mountable object for media changes. Since 2.22.
+ * @poll_mountable_finish: Finishes an poll operation for media changes. Since 2.22.
+ *
+ * An interface for writing VFS file handles.
+ **/
+struct _GFileIface
+{
+ GTypeInterface g_iface;
+
+ /* Virtual Table */
+
+ GFile * (* dup) (GFile *file);
+ guint (* hash) (GFile *file);
+ gboolean (* equal) (GFile *file1,
+ GFile *file2);
+ gboolean (* is_native) (GFile *file);
+ gboolean (* has_uri_scheme) (GFile *file,
+ const char *uri_scheme);
+ char * (* get_uri_scheme) (GFile *file);
+ char * (* get_basename) (GFile *file);
+ char * (* get_path) (GFile *file);
+ char * (* get_uri) (GFile *file);
+ char * (* get_parse_name) (GFile *file);
+ GFile * (* get_parent) (GFile *file);
+ gboolean (* prefix_matches) (GFile *prefix,
+ GFile *file);
+ char * (* get_relative_path) (GFile *parent,
+ GFile *descendant);
+ GFile * (* resolve_relative_path) (GFile *file,
+ const char *relative_path);
+ GFile * (* get_child_for_display_name) (GFile *file,
+ const char *display_name,
+ GError **error);
+
+ GFileEnumerator * (* enumerate_children) (GFile *file,
+ const char *attributes,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+ void (* enumerate_children_async) (GFile *file,
+ const char *attributes,
+ GFileQueryInfoFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileEnumerator * (* enumerate_children_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ GFileInfo * (* query_info) (GFile *file,
+ const char *attributes,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+ void (* query_info_async) (GFile *file,
+ const char *attributes,
+ GFileQueryInfoFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileInfo * (* query_info_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ GFileInfo * (* query_filesystem_info) (GFile *file,
+ const char *attributes,
+ GCancellable *cancellable,
+ GError **error);
+ void (* query_filesystem_info_async) (GFile *file,
+ const char *attributes,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileInfo * (* query_filesystem_info_finish)(GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ GMount * (* find_enclosing_mount) (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+ void (* find_enclosing_mount_async) (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GMount * (* find_enclosing_mount_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ GFile * (* set_display_name) (GFile *file,
+ const char *display_name,
+ GCancellable *cancellable,
+ GError **error);
+ void (* set_display_name_async) (GFile *file,
+ const char *display_name,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFile * (* set_display_name_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ GFileAttributeInfoList * (* query_settable_attributes) (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+ void (* _query_settable_attributes_async) (void);
+ void (* _query_settable_attributes_finish) (void);
+
+ GFileAttributeInfoList * (* query_writable_namespaces) (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+ void (* _query_writable_namespaces_async) (void);
+ void (* _query_writable_namespaces_finish) (void);
+
+ gboolean (* set_attribute) (GFile *file,
+ const char *attribute,
+ GFileAttributeType type,
+ gpointer value_p,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+ gboolean (* set_attributes_from_info) (GFile *file,
+ GFileInfo *info,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+ void (* set_attributes_async) (GFile *file,
+ GFileInfo *info,
+ GFileQueryInfoFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* set_attributes_finish) (GFile *file,
+ GAsyncResult *result,
+ GFileInfo **info,
+ GError **error);
+
+ GFileInputStream * (* read_fn) (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+ void (* read_async) (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileInputStream * (* read_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ GFileOutputStream * (* append_to) (GFile *file,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+ void (* append_to_async) (GFile *file,
+ GFileCreateFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileOutputStream * (* append_to_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ GFileOutputStream * (* create) (GFile *file,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+ void (* create_async) (GFile *file,
+ GFileCreateFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileOutputStream * (* create_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ GFileOutputStream * (* replace) (GFile *file,
+ const char *etag,
+ gboolean make_backup,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+ void (* replace_async) (GFile *file,
+ const char *etag,
+ gboolean make_backup,
+ GFileCreateFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileOutputStream * (* replace_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ gboolean (* delete_file) (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+ void (* delete_file_async) (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* delete_file_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+ gboolean (* trash) (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+ void (* trash_async) (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* trash_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+ gboolean (* make_directory) (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+ void (* make_directory_async) (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* make_directory_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+ gboolean (* make_symbolic_link) (GFile *file,
+ const char *symlink_value,
+ GCancellable *cancellable,
+ GError **error);
+ void (* _make_symbolic_link_async) (void);
+ void (* _make_symbolic_link_finish) (void);
+
+ gboolean (* copy) (GFile *source,
+ GFile *destination,
+ GFileCopyFlags flags,
+ GCancellable *cancellable,
+ GFileProgressCallback progress_callback,
+ gpointer progress_callback_data,
+ GError **error);
+ void (* copy_async) (GFile *source,
+ GFile *destination,
+ GFileCopyFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GFileProgressCallback progress_callback,
+ gpointer progress_callback_data,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* copy_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ gboolean (* move) (GFile *source,
+ GFile *destination,
+ GFileCopyFlags flags,
+ GCancellable *cancellable,
+ GFileProgressCallback progress_callback,
+ gpointer progress_callback_data,
+ GError **error);
+ void (* _move_async) (void);
+ void (* _move_finish) (void);
+
+ void (* mount_mountable) (GFile *file,
+ GMountMountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFile * (* mount_mountable_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+ void (* unmount_mountable) (GFile *file,
+ GMountUnmountFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* unmount_mountable_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+ void (* eject_mountable) (GFile *file,
+ GMountUnmountFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* eject_mountable_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+ void (* mount_enclosing_volume) (GFile *location,
+ GMountMountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* mount_enclosing_volume_finish) (GFile *location,
+ GAsyncResult *result,
+ GError **error);
+
+ GFileMonitor * (* monitor_dir) (GFile *file,
+ GFileMonitorFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+ GFileMonitor * (* monitor_file) (GFile *file,
+ GFileMonitorFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+
+ GFileIOStream * (* open_readwrite) (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+ void (* open_readwrite_async) (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileIOStream * (* open_readwrite_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+ GFileIOStream * (* create_readwrite) (GFile *file,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+ void (* create_readwrite_async) (GFile *file,
+ GFileCreateFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileIOStream * (* create_readwrite_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+ GFileIOStream * (* replace_readwrite) (GFile *file,
+ const char *etag,
+ gboolean make_backup,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+ void (* replace_readwrite_async) (GFile *file,
+ const char *etag,
+ gboolean make_backup,
+ GFileCreateFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileIOStream * (* replace_readwrite_finish) (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+
+ void (* start_mountable) (GFile *file,
+ GDriveStartFlags flags,
+ GMountOperation *start_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* start_mountable_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+ void (* stop_mountable) (GFile *file,
+ GMountUnmountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* stop_mountable_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+ gboolean supports_thread_contexts;
+
+ void (* unmount_mountable_with_operation) (GFile *file,
+ GMountUnmountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* unmount_mountable_with_operation_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+ void (* eject_mountable_with_operation) (GFile *file,
+ GMountUnmountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* eject_mountable_with_operation_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+ void (* poll_mountable) (GFile *file,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* poll_mountable_finish) (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_file_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_new_for_path (const char *path);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_new_for_uri (const char *uri);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_new_for_commandline_arg (const char *arg);
+GLIB_AVAILABLE_IN_2_36
+GFile * g_file_new_for_commandline_arg_and_cwd (const gchar *arg,
+ const gchar *cwd);
+GLIB_AVAILABLE_IN_2_32
+GFile * g_file_new_tmp (const char *tmpl,
+ GFileIOStream **iostream,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_parse_name (const char *parse_name);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_dup (GFile *file);
+GLIB_AVAILABLE_IN_ALL
+guint g_file_hash (gconstpointer file);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_equal (GFile *file1,
+ GFile *file2);
+GLIB_AVAILABLE_IN_ALL
+char * g_file_get_basename (GFile *file);
+GLIB_AVAILABLE_IN_ALL
+char * g_file_get_path (GFile *file);
+GLIB_AVAILABLE_IN_ALL
+char * g_file_get_uri (GFile *file);
+GLIB_AVAILABLE_IN_ALL
+char * g_file_get_parse_name (GFile *file);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_get_parent (GFile *file);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_has_parent (GFile *file,
+ GFile *parent);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_get_child (GFile *file,
+ const char *name);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_get_child_for_display_name (GFile *file,
+ const char *display_name,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_has_prefix (GFile *file,
+ GFile *prefix);
+GLIB_AVAILABLE_IN_ALL
+char * g_file_get_relative_path (GFile *parent,
+ GFile *descendant);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_resolve_relative_path (GFile *file,
+ const char *relative_path);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_is_native (GFile *file);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_has_uri_scheme (GFile *file,
+ const char *uri_scheme);
+GLIB_AVAILABLE_IN_ALL
+char * g_file_get_uri_scheme (GFile *file);
+GLIB_AVAILABLE_IN_ALL
+GFileInputStream * g_file_read (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_read_async (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileInputStream * g_file_read_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileOutputStream * g_file_append_to (GFile *file,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileOutputStream * g_file_create (GFile *file,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileOutputStream * g_file_replace (GFile *file,
+ const char *etag,
+ gboolean make_backup,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_append_to_async (GFile *file,
+ GFileCreateFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileOutputStream * g_file_append_to_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_create_async (GFile *file,
+ GFileCreateFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileOutputStream * g_file_create_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_replace_async (GFile *file,
+ const char *etag,
+ gboolean make_backup,
+ GFileCreateFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileOutputStream * g_file_replace_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileIOStream * g_file_open_readwrite (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_open_readwrite_async (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileIOStream * g_file_open_readwrite_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileIOStream * g_file_create_readwrite (GFile *file,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_create_readwrite_async (GFile *file,
+ GFileCreateFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileIOStream * g_file_create_readwrite_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileIOStream * g_file_replace_readwrite (GFile *file,
+ const char *etag,
+ gboolean make_backup,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_replace_readwrite_async (GFile *file,
+ const char *etag,
+ gboolean make_backup,
+ GFileCreateFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileIOStream * g_file_replace_readwrite_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_query_exists (GFile *file,
+ GCancellable *cancellable);
+GLIB_AVAILABLE_IN_ALL
+GFileType g_file_query_file_type (GFile *file,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable);
+GLIB_AVAILABLE_IN_ALL
+GFileInfo * g_file_query_info (GFile *file,
+ const char *attributes,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_query_info_async (GFile *file,
+ const char *attributes,
+ GFileQueryInfoFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileInfo * g_file_query_info_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileInfo * g_file_query_filesystem_info (GFile *file,
+ const char *attributes,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_query_filesystem_info_async (GFile *file,
+ const char *attributes,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileInfo * g_file_query_filesystem_info_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GMount * g_file_find_enclosing_mount (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_find_enclosing_mount_async (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GMount * g_file_find_enclosing_mount_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileEnumerator * g_file_enumerate_children (GFile *file,
+ const char *attributes,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_enumerate_children_async (GFile *file,
+ const char *attributes,
+ GFileQueryInfoFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileEnumerator * g_file_enumerate_children_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_set_display_name (GFile *file,
+ const char *display_name,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_set_display_name_async (GFile *file,
+ const char *display_name,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_set_display_name_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_delete (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+
+GLIB_AVAILABLE_IN_2_34
+void g_file_delete_async (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+
+GLIB_AVAILABLE_IN_2_34
+gboolean g_file_delete_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_trash (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+
+GLIB_AVAILABLE_IN_2_38
+void g_file_trash_async (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+
+GLIB_AVAILABLE_IN_2_38
+gboolean g_file_trash_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_copy (GFile *source,
+ GFile *destination,
+ GFileCopyFlags flags,
+ GCancellable *cancellable,
+ GFileProgressCallback progress_callback,
+ gpointer progress_callback_data,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_copy_async (GFile *source,
+ GFile *destination,
+ GFileCopyFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GFileProgressCallback progress_callback,
+ gpointer progress_callback_data,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_copy_finish (GFile *file,
+ GAsyncResult *res,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_move (GFile *source,
+ GFile *destination,
+ GFileCopyFlags flags,
+ GCancellable *cancellable,
+ GFileProgressCallback progress_callback,
+ gpointer progress_callback_data,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_make_directory (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_2_38
+void g_file_make_directory_async (GFile *file,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_2_38
+gboolean g_file_make_directory_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_make_directory_with_parents (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_make_symbolic_link (GFile *file,
+ const char *symlink_value,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileAttributeInfoList *g_file_query_settable_attributes (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileAttributeInfoList *g_file_query_writable_namespaces (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_set_attribute (GFile *file,
+ const char *attribute,
+ GFileAttributeType type,
+ gpointer value_p,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_set_attributes_from_info (GFile *file,
+ GFileInfo *info,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_set_attributes_async (GFile *file,
+ GFileInfo *info,
+ GFileQueryInfoFlags flags,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_set_attributes_finish (GFile *file,
+ GAsyncResult *result,
+ GFileInfo **info,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_set_attribute_string (GFile *file,
+ const char *attribute,
+ const char *value,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_set_attribute_byte_string (GFile *file,
+ const char *attribute,
+ const char *value,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_set_attribute_uint32 (GFile *file,
+ const char *attribute,
+ guint32 value,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_set_attribute_int32 (GFile *file,
+ const char *attribute,
+ gint32 value,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_set_attribute_uint64 (GFile *file,
+ const char *attribute,
+ guint64 value,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_set_attribute_int64 (GFile *file,
+ const char *attribute,
+ gint64 value,
+ GFileQueryInfoFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_mount_enclosing_volume (GFile *location,
+ GMountMountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_mount_enclosing_volume_finish (GFile *location,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_mount_mountable (GFile *file,
+ GMountMountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_mount_mountable_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+GLIB_DEPRECATED_FOR(g_file_unmount_mountable_with_operation)
+void g_file_unmount_mountable (GFile *file,
+ GMountUnmountFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+
+GLIB_DEPRECATED_FOR(g_file_unmount_mountable_with_operation_finish)
+gboolean g_file_unmount_mountable_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_unmount_mountable_with_operation (GFile *file,
+ GMountUnmountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_unmount_mountable_with_operation_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+GLIB_DEPRECATED_FOR(g_file_eject_mountable_with_operation)
+void g_file_eject_mountable (GFile *file,
+ GMountUnmountFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+
+GLIB_DEPRECATED_FOR(g_file_eject_mountable_with_operation_finish)
+gboolean g_file_eject_mountable_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_eject_mountable_with_operation (GFile *file,
+ GMountUnmountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_eject_mountable_with_operation_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_copy_attributes (GFile *source,
+ GFile *destination,
+ GFileCopyFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+
+
+GLIB_AVAILABLE_IN_ALL
+GFileMonitor* g_file_monitor_directory (GFile *file,
+ GFileMonitorFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileMonitor* g_file_monitor_file (GFile *file,
+ GFileMonitorFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GFileMonitor* g_file_monitor (GFile *file,
+ GFileMonitorFlags flags,
+ GCancellable *cancellable,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+void g_file_start_mountable (GFile *file,
+ GDriveStartFlags flags,
+ GMountOperation *start_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_start_mountable_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_stop_mountable (GFile *file,
+ GMountUnmountFlags flags,
+ GMountOperation *mount_operation,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_stop_mountable_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+void g_file_poll_mountable (GFile *file,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_poll_mountable_finish (GFile *file,
+ GAsyncResult *result,
+ GError **error);
+
+/* Utilities */
+
+GLIB_AVAILABLE_IN_ALL
+GAppInfo *g_file_query_default_handler (GFile *file,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_load_contents (GFile *file,
+ GCancellable *cancellable,
+ char **contents,
+ gsize *length,
+ char **etag_out,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_load_contents_async (GFile *file,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_load_contents_finish (GFile *file,
+ GAsyncResult *res,
+ char **contents,
+ gsize *length,
+ char **etag_out,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_load_partial_contents_async (GFile *file,
+ GCancellable *cancellable,
+ GFileReadMoreCallback read_more_callback,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_load_partial_contents_finish (GFile *file,
+ GAsyncResult *res,
+ char **contents,
+ gsize *length,
+ char **etag_out,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_replace_contents (GFile *file,
+ const char *contents,
+ gsize length,
+ const char *etag,
+ gboolean make_backup,
+ GFileCreateFlags flags,
+ char **new_etag,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_replace_contents_async (GFile *file,
+ const char *contents,
+ gsize length,
+ const char *etag,
+ gboolean make_backup,
+ GFileCreateFlags flags,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_replace_contents_finish (GFile *file,
+ GAsyncResult *res,
+ char **new_etag,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_supports_thread_contexts (GFile *file);
+
+G_END_DECLS
+
+#endif /* __G_FILE_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfileattribute.h b/dist/usr/include/glib-2.0/gio/gfileattribute.h
new file mode 100644
index 0000000..8ebdcd4
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfileattribute.h
@@ -0,0 +1,86 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_FILE_ATTRIBUTE_H__
+#define __G_FILE_ATTRIBUTE_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+/**
+ * GFileAttributeInfo:
+ * @name: the name of the attribute.
+ * @type: the #GFileAttributeType type of the attribute.
+ * @flags: a set of #GFileAttributeInfoFlags.
+ *
+ * Information about a specific attribute.
+ **/
+struct _GFileAttributeInfo
+{
+ char *name;
+ GFileAttributeType type;
+ GFileAttributeInfoFlags flags;
+};
+
+/**
+ * GFileAttributeInfoList:
+ * @infos: an array of #GFileAttributeInfo<!-- -->s.
+ * @n_infos: the number of values in the array.
+ *
+ * Acts as a lightweight registry for possible valid file attributes.
+ * The registry stores Key-Value pair formats as #GFileAttributeInfo<!-- -->s.
+ **/
+struct _GFileAttributeInfoList
+{
+ GFileAttributeInfo *infos;
+ int n_infos;
+};
+
+#define G_TYPE_FILE_ATTRIBUTE_INFO_LIST (g_file_attribute_info_list_get_type ())
+GLIB_AVAILABLE_IN_ALL
+GType g_file_attribute_info_list_get_type (void);
+
+GLIB_AVAILABLE_IN_ALL
+GFileAttributeInfoList * g_file_attribute_info_list_new (void);
+GLIB_AVAILABLE_IN_ALL
+GFileAttributeInfoList * g_file_attribute_info_list_ref (GFileAttributeInfoList *list);
+GLIB_AVAILABLE_IN_ALL
+void g_file_attribute_info_list_unref (GFileAttributeInfoList *list);
+GLIB_AVAILABLE_IN_ALL
+GFileAttributeInfoList * g_file_attribute_info_list_dup (GFileAttributeInfoList *list);
+GLIB_AVAILABLE_IN_ALL
+const GFileAttributeInfo *g_file_attribute_info_list_lookup (GFileAttributeInfoList *list,
+ const char *name);
+GLIB_AVAILABLE_IN_ALL
+void g_file_attribute_info_list_add (GFileAttributeInfoList *list,
+ const char *name,
+ GFileAttributeType type,
+ GFileAttributeInfoFlags flags);
+
+G_END_DECLS
+
+#endif /* __G_FILE_INFO_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfileenumerator.h b/dist/usr/include/glib-2.0/gio/gfileenumerator.h
new file mode 100644
index 0000000..7607002
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfileenumerator.h
@@ -0,0 +1,146 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_FILE_ENUMERATOR_H__
+#define __G_FILE_ENUMERATOR_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILE_ENUMERATOR (g_file_enumerator_get_type ())
+#define G_FILE_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_ENUMERATOR, GFileEnumerator))
+#define G_FILE_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_ENUMERATOR, GFileEnumeratorClass))
+#define G_IS_FILE_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_ENUMERATOR))
+#define G_IS_FILE_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_ENUMERATOR))
+#define G_FILE_ENUMERATOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_ENUMERATOR, GFileEnumeratorClass))
+
+/**
+ * GFileEnumerator:
+ *
+ * A per matched file iterator.
+ **/
+typedef struct _GFileEnumeratorClass GFileEnumeratorClass;
+typedef struct _GFileEnumeratorPrivate GFileEnumeratorPrivate;
+
+struct _GFileEnumerator
+{
+ GObject parent_instance;
+
+ /*< private >*/
+ GFileEnumeratorPrivate *priv;
+};
+
+struct _GFileEnumeratorClass
+{
+ GObjectClass parent_class;
+
+ /* Virtual Table */
+
+ GFileInfo * (* next_file) (GFileEnumerator *enumerator,
+ GCancellable *cancellable,
+ GError **error);
+ gboolean (* close_fn) (GFileEnumerator *enumerator,
+ GCancellable *cancellable,
+ GError **error);
+
+ void (* next_files_async) (GFileEnumerator *enumerator,
+ int num_files,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GList * (* next_files_finish) (GFileEnumerator *enumerator,
+ GAsyncResult *result,
+ GError **error);
+ void (* close_async) (GFileEnumerator *enumerator,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* close_finish) (GFileEnumerator *enumerator,
+ GAsyncResult *result,
+ GError **error);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+ void (*_g_reserved6) (void);
+ void (*_g_reserved7) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_file_enumerator_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GFileInfo *g_file_enumerator_next_file (GFileEnumerator *enumerator,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_enumerator_close (GFileEnumerator *enumerator,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_enumerator_next_files_async (GFileEnumerator *enumerator,
+ int num_files,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GList * g_file_enumerator_next_files_finish (GFileEnumerator *enumerator,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_enumerator_close_async (GFileEnumerator *enumerator,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_enumerator_close_finish (GFileEnumerator *enumerator,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_enumerator_is_closed (GFileEnumerator *enumerator);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_enumerator_has_pending (GFileEnumerator *enumerator);
+GLIB_AVAILABLE_IN_ALL
+void g_file_enumerator_set_pending (GFileEnumerator *enumerator,
+ gboolean pending);
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_enumerator_get_container (GFileEnumerator *enumerator);
+GLIB_AVAILABLE_IN_2_36
+GFile * g_file_enumerator_get_child (GFileEnumerator *enumerator,
+ GFileInfo *info);
+
+G_END_DECLS
+
+#endif /* __G_FILE_ENUMERATOR_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfileicon.h b/dist/usr/include/glib-2.0/gio/gfileicon.h
new file mode 100644
index 0000000..2e6f3d5
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfileicon.h
@@ -0,0 +1,59 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_FILE_ICON_H__
+#define __G_FILE_ICON_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILE_ICON (g_file_icon_get_type ())
+#define G_FILE_ICON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_ICON, GFileIcon))
+#define G_FILE_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_ICON, GFileIconClass))
+#define G_IS_FILE_ICON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_ICON))
+#define G_IS_FILE_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_ICON))
+#define G_FILE_ICON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_ICON, GFileIconClass))
+
+/**
+ * GFileIcon:
+ *
+ * Gets an icon for a #GFile. Implements #GLoadableIcon.
+ **/
+typedef struct _GFileIconClass GFileIconClass;
+
+GLIB_AVAILABLE_IN_ALL
+GType g_file_icon_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_file_icon_new (GFile *file);
+
+GLIB_AVAILABLE_IN_ALL
+GFile * g_file_icon_get_file (GFileIcon *icon);
+
+G_END_DECLS
+
+#endif /* __G_FILE_ICON_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfileinfo.h b/dist/usr/include/glib-2.0/gio/gfileinfo.h
new file mode 100644
index 0000000..a001b0d
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfileinfo.h
@@ -0,0 +1,1057 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_FILE_INFO_H__
+#define __G_FILE_INFO_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILE_INFO (g_file_info_get_type ())
+#define G_FILE_INFO(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_INFO, GFileInfo))
+#define G_FILE_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_INFO, GFileInfoClass))
+#define G_IS_FILE_INFO(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_INFO))
+#define G_IS_FILE_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_INFO))
+#define G_FILE_INFO_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_INFO, GFileInfoClass))
+
+/**
+ * GFileInfo:
+ *
+ * Stores information about a file system object referenced by a #GFile.
+ **/
+typedef struct _GFileInfoClass GFileInfoClass;
+
+
+/* Common Attributes: */
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_TYPE:
+ *
+ * A key in the "standard" namespace for storing file types.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ * The value for this key should contain a #GFileType.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_TYPE "standard::type" /* uint32 (GFileType) */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN:
+ *
+ * A key in the "standard" namespace for checking if a file is hidden.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN "standard::is-hidden" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP:
+ *
+ * A key in the "standard" namespace for checking if a file is a backup file.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP "standard::is-backup" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK:
+ *
+ * A key in the "standard" namespace for checking if the file is a symlink.
+ * Typically the actual type is something else, if we followed the symlink
+ * to get the type.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK "standard::is-symlink" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL:
+ *
+ * A key in the "standard" namespace for checking if a file is virtual.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL "standard::is-virtual" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_NAME:
+ *
+ * A key in the "standard" namespace for getting the name of the file.
+ * The name is the on-disk filename which may not be in any known encoding,
+ * and can thus not be generally displayed as is.
+ * Use #G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME if you need to display the
+ * name in a user interface.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_NAME "standard::name" /* byte string */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME:
+ *
+ * A key in the "standard" namespace for getting the display name of the file.
+ * A display name is guaranteed to be in UTF8 and can thus be displayed in
+ * the UI.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME "standard::display-name" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME:
+ *
+ * A key in the "standard" namespace for edit name of the file.
+ * An edit name is similar to the display name, but it is meant to be
+ * used when you want to rename the file in the UI. The display name
+ * might contain information you don't want in the new filename (such as
+ * "(invalid unicode)" if the filename was in an invalid encoding).
+ *
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME "standard::edit-name" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_COPY_NAME:
+ *
+ * A key in the "standard" namespace for getting the copy name of the file.
+ * The copy name is an optional version of the name. If available it's always
+ * in UTF8, and corresponds directly to the original filename (only transcoded to
+ * UTF8). This is useful if you want to copy the file to another filesystem that
+ * might have a different encoding. If the filename is not a valid string in the
+ * encoding selected for the filesystem it is in then the copy name will not be set.
+ *
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_COPY_NAME "standard::copy-name" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION:
+ *
+ * A key in the "standard" namespace for getting the description of the file.
+ * The description is a utf8 string that describes the file, generally containing
+ * the filename, but can also contain furter information. Example descriptions
+ * could be "filename (on hostname)" for a remote file or "filename (in trash)"
+ * for a file in the trash. This is useful for instance as the window title
+ * when displaying a directory or for a bookmarks menu.
+ *
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION "standard::description" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_ICON:
+ *
+ * A key in the "standard" namespace for getting the icon for the file.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
+ * The value for this key should contain a #GIcon.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_ICON "standard::icon" /* object (GIcon) */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON:
+ *
+ * A key in the "standard" namespace for getting the symbolic icon for the file.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
+ * The value for this key should contain a #GIcon.
+ *
+ * Since: 2.34
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON "standard::symbolic-icon" /* object (GIcon) */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE:
+ *
+ * A key in the "standard" namespace for getting the content type of the file.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ * The value for this key should contain a valid content type.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "standard::content-type" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE:
+ *
+ * A key in the "standard" namespace for getting the fast content type.
+ * The fast content type isn't as reliable as the regular one, as it
+ * only uses the filename to guess it, but it is faster to calculate than the
+ * regular content type.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ *
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE "standard::fast-content-type" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_SIZE:
+ *
+ * A key in the "standard" namespace for getting the file's size (in bytes).
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_SIZE "standard::size" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE:
+ *
+ * A key in the "standard" namespace for getting the amount of disk space
+ * that is consumed by the file (in bytes). This will generally be larger
+ * than the file size (due to block size overhead) but can occasionally be
+ * smaller (for example, for sparse files).
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
+ *
+ * Since: 2.20
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE "standard::allocated-size" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET:
+ *
+ * A key in the "standard" namespace for getting the symlink target, if the file
+ * is a symlink. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET "standard::symlink-target" /* byte string */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_TARGET_URI:
+ *
+ * A key in the "standard" namespace for getting the target URI for the file, in
+ * the case of %G_FILE_TYPE_SHORTCUT or %G_FILE_TYPE_MOUNTABLE files.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_TARGET_URI "standard::target-uri" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER:
+ *
+ * A key in the "standard" namespace for setting the sort order of a file.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT32.
+ * An example use would be in file managers, which would use this key
+ * to set the order files are displayed. Files with smaller sort order
+ * should be sorted first, and files without sort order as if sort order
+ * was zero.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER "standard::sort-order" /* int32 */
+
+/* Entity tags, used to avoid missing updates on save */
+
+/**
+ * G_FILE_ATTRIBUTE_ETAG_VALUE:
+ *
+ * A key in the "etag" namespace for getting the value of the file's
+ * entity tag. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_ETAG_VALUE "etag::value" /* string */
+
+/* File identifier, for e.g. avoiding loops when doing recursive
+ * directory scanning
+ */
+
+/**
+ * G_FILE_ATTRIBUTE_ID_FILE:
+ *
+ * A key in the "id" namespace for getting a file identifier.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ * An example use would be during listing files, to avoid recursive
+ * directory scanning.
+ **/
+#define G_FILE_ATTRIBUTE_ID_FILE "id::file" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_ID_FILESYSTEM:
+ *
+ * A key in the "id" namespace for getting the file system identifier.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ * An example use would be during drag and drop to see if the source
+ * and target are on the same filesystem (default to move) or not (default
+ * to copy).
+ **/
+#define G_FILE_ATTRIBUTE_ID_FILESYSTEM "id::filesystem" /* string */
+
+/* Calculated Access Rights for current user */
+
+/**
+ * G_FILE_ATTRIBUTE_ACCESS_CAN_READ:
+ *
+ * A key in the "access" namespace for getting read privileges.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ * This attribute will be %TRUE if the user is able to read the file.
+ **/
+#define G_FILE_ATTRIBUTE_ACCESS_CAN_READ "access::can-read" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE:
+ *
+ * A key in the "access" namespace for getting write privileges.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ * This attribute will be %TRUE if the user is able to write to the file.
+ **/
+#define G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE "access::can-write" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE:
+ *
+ * A key in the "access" namespace for getting execution privileges.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ * This attribute will be %TRUE if the user is able to execute the file.
+ **/
+#define G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE "access::can-execute" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE:
+ *
+ * A key in the "access" namespace for checking deletion privileges.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ * This attribute will be %TRUE if the user is able to delete the file.
+ **/
+#define G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE "access::can-delete" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH:
+ *
+ * A key in the "access" namespace for checking trashing privileges.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ * This attribute will be %TRUE if the user is able to move the file to
+ * the trash.
+ **/
+#define G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH "access::can-trash" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME:
+ *
+ * A key in the "access" namespace for checking renaming privileges.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ * This attribute will be %TRUE if the user is able to rename the file.
+ **/
+#define G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME "access::can-rename" /* boolean */
+
+/* TODO: Should we have special version for directories? can_enumerate, etc */
+
+/* Mountable attributes */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT:
+ *
+ * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is mountable.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT "mountable::can-mount" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT:
+ *
+ * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is unmountable.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT "mountable::can-unmount" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT:
+ *
+ * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be ejected.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT "mountable::can-eject" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE:
+ *
+ * A key in the "mountable" namespace for getting the unix device.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE "mountable::unix-device" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE:
+ *
+ * A key in the "mountable" namespace for getting the unix device file.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ *
+ * Since: 2.22
+ **/
+#define G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE "mountable::unix-device-file" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI:
+ *
+ * A key in the "mountable" namespace for getting the HAL UDI for the mountable
+ * file. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI "mountable::hal-udi" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START:
+ *
+ * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ *
+ * Since: 2.22
+ */
+#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START "mountable::can-start" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED:
+ *
+ * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started
+ * degraded.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ *
+ * Since: 2.22
+ */
+#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED "mountable::can-start-degraded" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP:
+ *
+ * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be stopped.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ *
+ * Since: 2.22
+ */
+#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP "mountable::can-stop" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE:
+ *
+ * A key in the "mountable" namespace for getting the #GDriveStartStopType.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ *
+ * Since: 2.22
+ */
+#define G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE "mountable::start-stop-type" /* uint32 (GDriveStartStopType) */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL:
+ *
+ * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be polled.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ *
+ * Since: 2.22
+ */
+#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL "mountable::can-poll" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC:
+ *
+ * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE)
+ * is automatically polled for media.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ *
+ * Since: 2.22
+ */
+#define G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC "mountable::is-media-check-automatic" /* boolean */
+
+/* Time attributes */
+
+/**
+ * G_FILE_ATTRIBUTE_TIME_MODIFIED:
+ *
+ * A key in the "time" namespace for getting the time the file was last
+ * modified. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the UNIX time since the
+ * file was modified.
+ **/
+#define G_FILE_ATTRIBUTE_TIME_MODIFIED "time::modified" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC:
+ *
+ * A key in the "time" namespace for getting the miliseconds of the time
+ * the file was last modified. This should be used in conjunction with
+ * #G_FILE_ATTRIBUTE_TIME_MODIFIED. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC "time::modified-usec" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_TIME_ACCESS:
+ *
+ * A key in the "time" namespace for getting the time the file was last
+ * accessed. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the UNIX time since the
+ * file was last accessed.
+ **/
+#define G_FILE_ATTRIBUTE_TIME_ACCESS "time::access" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_TIME_ACCESS_USEC:
+ *
+ * A key in the "time" namespace for getting the microseconds of the time
+ * the file was last accessed. This should be used in conjunction with
+ * #G_FILE_ATTRIBUTE_TIME_ACCESS. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_TIME_ACCESS_USEC "time::access-usec" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_TIME_CHANGED:
+ *
+ * A key in the "time" namespace for getting the time the file was last
+ * changed. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64,
+ * and contains the UNIX time since the file was last changed.
+ *
+ * This corresponds to the traditional UNIX ctime.
+ **/
+#define G_FILE_ATTRIBUTE_TIME_CHANGED "time::changed" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_TIME_CHANGED_USEC:
+ *
+ * A key in the "time" namespace for getting the microseconds of the time
+ * the file was last changed. This should be used in conjunction with
+ * #G_FILE_ATTRIBUTE_TIME_CHANGED. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_TIME_CHANGED_USEC "time::changed-usec" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_TIME_CREATED:
+ *
+ * A key in the "time" namespace for getting the time the file was created.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64,
+ * and contains the UNIX time since the file was created.
+ *
+ * This corresponds to the NTFS ctime.
+ **/
+#define G_FILE_ATTRIBUTE_TIME_CREATED "time::created" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_TIME_CREATED_USEC:
+ *
+ * A key in the "time" namespace for getting the microseconds of the time
+ * the file was created. This should be used in conjunction with
+ * #G_FILE_ATTRIBUTE_TIME_CREATED. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_TIME_CREATED_USEC "time::created-usec" /* uint32 */
+
+/* Unix specific attributes */
+
+/**
+ * G_FILE_ATTRIBUTE_UNIX_DEVICE:
+ *
+ * A key in the "unix" namespace for getting the device id of the device the
+ * file is located on (see stat() documentation). This attribute is only
+ * available for UNIX file systems. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_UNIX_DEVICE "unix::device" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_UNIX_INODE:
+ *
+ * A key in the "unix" namespace for getting the inode of the file.
+ * This attribute is only available for UNIX file systems. Corresponding
+ * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
+ **/
+#define G_FILE_ATTRIBUTE_UNIX_INODE "unix::inode" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_UNIX_MODE:
+ *
+ * A key in the "unix" namespace for getting the mode of the file
+ * (e.g. whether the file is a regular file, symlink, etc). See lstat()
+ * documentation. This attribute is only available for UNIX file systems.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_UNIX_MODE "unix::mode" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_UNIX_NLINK:
+ *
+ * A key in the "unix" namespace for getting the number of hard links
+ * for a file. See lstat() documentation. This attribute is only available
+ * for UNIX file systems. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_UNIX_NLINK "unix::nlink" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_UNIX_UID:
+ *
+ * A key in the "unix" namespace for getting the user ID for the file.
+ * This attribute is only available for UNIX file systems.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_UNIX_UID "unix::uid" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_UNIX_GID:
+ *
+ * A key in the "unix" namespace for getting the group ID for the file.
+ * This attribute is only available for UNIX file systems.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_UNIX_GID "unix::gid" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_UNIX_RDEV:
+ *
+ * A key in the "unix" namespace for getting the device ID for the file
+ * (if it is a special file). See lstat() documentation. This attribute
+ * is only available for UNIX file systems. Corresponding #GFileAttributeType
+ * is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_UNIX_RDEV "unix::rdev" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE:
+ *
+ * A key in the "unix" namespace for getting the block size for the file
+ * system. This attribute is only available for UNIX file systems.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE "unix::block-size" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_UNIX_BLOCKS:
+ *
+ * A key in the "unix" namespace for getting the number of blocks allocated
+ * for the file. This attribute is only available for UNIX file systems.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
+ **/
+#define G_FILE_ATTRIBUTE_UNIX_BLOCKS "unix::blocks" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT:
+ *
+ * A key in the "unix" namespace for checking if the file represents a
+ * UNIX mount point. This attribute is %TRUE if the file is a UNIX mount
+ * point. This attribute is only available for UNIX file systems.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT "unix::is-mountpoint" /* boolean */
+
+/* DOS specific attributes */
+
+/**
+ * G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE:
+ *
+ * A key in the "dos" namespace for checking if the file's archive flag
+ * is set. This attribute is %TRUE if the archive flag is set. This attribute
+ * is only available for DOS file systems. Corresponding #GFileAttributeType
+ * is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE "dos::is-archive" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_DOS_IS_SYSTEM:
+ *
+ * A key in the "dos" namespace for checking if the file's backup flag
+ * is set. This attribute is %TRUE if the backup flag is set. This attribute
+ * is only available for DOS file systems. Corresponding #GFileAttributeType
+ * is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_DOS_IS_SYSTEM "dos::is-system" /* boolean */
+
+/* Owner attributes */
+
+/**
+ * G_FILE_ATTRIBUTE_OWNER_USER:
+ *
+ * A key in the "owner" namespace for getting the user name of the
+ * file's owner. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_OWNER_USER "owner::user" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_OWNER_USER_REAL:
+ *
+ * A key in the "owner" namespace for getting the real name of the
+ * user that owns the file. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_OWNER_USER_REAL "owner::user-real" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_OWNER_GROUP:
+ *
+ * A key in the "owner" namespace for getting the file owner's group.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_OWNER_GROUP "owner::group" /* string */
+
+/* Thumbnails */
+
+/**
+ * G_FILE_ATTRIBUTE_THUMBNAIL_PATH:
+ *
+ * A key in the "thumbnail" namespace for getting the path to the thumbnail
+ * image. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_THUMBNAIL_PATH "thumbnail::path" /* bytestring */
+/**
+ * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED:
+ *
+ * A key in the "thumbnail" namespace for checking if thumbnailing failed.
+ * This attribute is %TRUE if thumbnailing failed. Corresponding
+ * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED "thumbnail::failed" /* boolean */
+
+/* Preview */
+
+/**
+ * G_FILE_ATTRIBUTE_PREVIEW_ICON:
+ *
+ * A key in the "preview" namespace for getting a #GIcon that can be
+ * used to get preview of the file. For example, it may be a low
+ * resolution thumbnail without metadata. Corresponding
+ * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. The value
+ * for this key should contain a #GIcon.
+ *
+ * Since: 2.20
+ **/
+#define G_FILE_ATTRIBUTE_PREVIEW_ICON "preview::icon" /* object (GIcon) */
+
+/* File system info (for g_file_get_filesystem_info) */
+
+/**
+ * G_FILE_ATTRIBUTE_FILESYSTEM_SIZE:
+ *
+ * A key in the "filesystem" namespace for getting the total size (in bytes) of the file system,
+ * used in g_file_query_filesystem_info(). Corresponding #GFileAttributeType
+ * is %G_FILE_ATTRIBUTE_TYPE_UINT64.
+ **/
+#define G_FILE_ATTRIBUTE_FILESYSTEM_SIZE "filesystem::size" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_FILESYSTEM_FREE:
+ *
+ * A key in the "filesystem" namespace for getting the number of bytes of free space left on the
+ * file system. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_UINT64.
+ **/
+#define G_FILE_ATTRIBUTE_FILESYSTEM_FREE "filesystem::free" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_FILESYSTEM_USED:
+ *
+ * A key in the "filesystem" namespace for getting the number of bytes of used on the
+ * file system. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_UINT64.
+ *
+ * Since: 2.32
+ */
+#define G_FILE_ATTRIBUTE_FILESYSTEM_USED "filesystem::used" /* uint64 */
+
+/**
+ * G_FILE_ATTRIBUTE_FILESYSTEM_TYPE:
+ *
+ * A key in the "filesystem" namespace for getting the file system's type.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_FILESYSTEM_TYPE "filesystem::type" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_FILESYSTEM_READONLY:
+ *
+ * A key in the "filesystem" namespace for checking if the file system
+ * is read only. Is set to %TRUE if the file system is read only.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ **/
+#define G_FILE_ATTRIBUTE_FILESYSTEM_READONLY "filesystem::readonly" /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW:
+ *
+ * A key in the "filesystem" namespace for hinting a file manager
+ * application whether it should preview (e.g. thumbnail) files on the
+ * file system. The value for this key contain a
+ * #GFilesystemPreviewType.
+ **/
+#define G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW "filesystem::use-preview" /* uint32 (GFilesystemPreviewType) */
+
+/**
+ * G_FILE_ATTRIBUTE_GVFS_BACKEND:
+ *
+ * A key in the "gvfs" namespace that gets the name of the current
+ * GVFS backend in use. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_STRING.
+ **/
+#define G_FILE_ATTRIBUTE_GVFS_BACKEND "gvfs::backend" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_SELINUX_CONTEXT:
+ *
+ * A key in the "selinux" namespace for getting the file's SELinux
+ * context. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_STRING. Note that this attribute is only
+ * available if GLib has been built with SELinux support.
+ **/
+#define G_FILE_ATTRIBUTE_SELINUX_CONTEXT "selinux::context" /* string */
+
+/**
+ * G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT:
+ *
+ * A key in the "trash" namespace. When requested against
+ * "trash:///" returns the number of (toplevel) items in the trash folder.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ **/
+#define G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT "trash::item-count" /* uint32 */
+
+/**
+ * G_FILE_ATTRIBUTE_TRASH_ORIG_PATH:
+ *
+ * A key in the "trash" namespace. When requested against
+ * items in "trash:///", will return the original path to the file before it
+ * was trashed. Corresponding #GFileAttributeType is
+ * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
+ *
+ * Since: 2.24.
+ **/
+#define G_FILE_ATTRIBUTE_TRASH_ORIG_PATH "trash::orig-path" /* byte string */
+
+/**
+ * G_FILE_ATTRIBUTE_TRASH_DELETION_DATE:
+ *
+ * A key in the "trash" namespace. When requested against
+ * items in "trash:///", will return the date and time when the file
+ * was trashed. The format of the returned string is YYYY-MM-DDThh:mm:ss.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
+ *
+ * Since: 2.24.
+ **/
+#define G_FILE_ATTRIBUTE_TRASH_DELETION_DATE "trash::deletion-date" /* string */
+
+GLIB_AVAILABLE_IN_ALL
+GType g_file_info_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GFileInfo * g_file_info_new (void);
+GLIB_AVAILABLE_IN_ALL
+GFileInfo * g_file_info_dup (GFileInfo *other);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_copy_into (GFileInfo *src_info,
+ GFileInfo *dest_info);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_info_has_attribute (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_info_has_namespace (GFileInfo *info,
+ const char *name_space);
+GLIB_AVAILABLE_IN_ALL
+char ** g_file_info_list_attributes (GFileInfo *info,
+ const char *name_space);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_info_get_attribute_data (GFileInfo *info,
+ const char *attribute,
+ GFileAttributeType *type,
+ gpointer *value_pp,
+ GFileAttributeStatus *status);
+GLIB_AVAILABLE_IN_ALL
+GFileAttributeType g_file_info_get_attribute_type (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_remove_attribute (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+GFileAttributeStatus g_file_info_get_attribute_status (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_info_set_attribute_status (GFileInfo *info,
+ const char *attribute,
+ GFileAttributeStatus status);
+GLIB_AVAILABLE_IN_ALL
+char * g_file_info_get_attribute_as_string (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+const char * g_file_info_get_attribute_string (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+const char * g_file_info_get_attribute_byte_string (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_info_get_attribute_boolean (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+guint32 g_file_info_get_attribute_uint32 (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+gint32 g_file_info_get_attribute_int32 (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+guint64 g_file_info_get_attribute_uint64 (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+gint64 g_file_info_get_attribute_int64 (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+GObject * g_file_info_get_attribute_object (GFileInfo *info,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+char ** g_file_info_get_attribute_stringv (GFileInfo *info,
+ const char *attribute);
+
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute (GFileInfo *info,
+ const char *attribute,
+ GFileAttributeType type,
+ gpointer value_p);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute_string (GFileInfo *info,
+ const char *attribute,
+ const char *attr_value);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute_byte_string (GFileInfo *info,
+ const char *attribute,
+ const char *attr_value);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute_boolean (GFileInfo *info,
+ const char *attribute,
+ gboolean attr_value);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute_uint32 (GFileInfo *info,
+ const char *attribute,
+ guint32 attr_value);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute_int32 (GFileInfo *info,
+ const char *attribute,
+ gint32 attr_value);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute_uint64 (GFileInfo *info,
+ const char *attribute,
+ guint64 attr_value);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute_int64 (GFileInfo *info,
+ const char *attribute,
+ gint64 attr_value);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute_object (GFileInfo *info,
+ const char *attribute,
+ GObject *attr_value);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute_stringv (GFileInfo *info,
+ const char *attribute,
+ char **attr_value);
+
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_clear_status (GFileInfo *info);
+
+/* Helper getters: */
+GLIB_AVAILABLE_IN_2_36
+GDateTime * g_file_info_get_deletion_date (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+GFileType g_file_info_get_file_type (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_info_get_is_hidden (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_info_get_is_backup (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_info_get_is_symlink (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+const char * g_file_info_get_name (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+const char * g_file_info_get_display_name (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+const char * g_file_info_get_edit_name (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_file_info_get_icon (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+GIcon * g_file_info_get_symbolic_icon (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+const char * g_file_info_get_content_type (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+goffset g_file_info_get_size (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_get_modification_time (GFileInfo *info,
+ GTimeVal *result);
+GLIB_AVAILABLE_IN_ALL
+const char * g_file_info_get_symlink_target (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+const char * g_file_info_get_etag (GFileInfo *info);
+GLIB_AVAILABLE_IN_ALL
+gint32 g_file_info_get_sort_order (GFileInfo *info);
+
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_attribute_mask (GFileInfo *info,
+ GFileAttributeMatcher *mask);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_unset_attribute_mask (GFileInfo *info);
+
+/* Helper setters: */
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_file_type (GFileInfo *info,
+ GFileType type);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_is_hidden (GFileInfo *info,
+ gboolean is_hidden);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_is_symlink (GFileInfo *info,
+ gboolean is_symlink);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_name (GFileInfo *info,
+ const char *name);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_display_name (GFileInfo *info,
+ const char *display_name);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_edit_name (GFileInfo *info,
+ const char *edit_name);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_icon (GFileInfo *info,
+ GIcon *icon);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_symbolic_icon (GFileInfo *info,
+ GIcon *icon);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_content_type (GFileInfo *info,
+ const char *content_type);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_size (GFileInfo *info,
+ goffset size);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_modification_time (GFileInfo *info,
+ GTimeVal *mtime);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_symlink_target (GFileInfo *info,
+ const char *symlink_target);
+GLIB_AVAILABLE_IN_ALL
+void g_file_info_set_sort_order (GFileInfo *info,
+ gint32 sort_order);
+
+#define G_TYPE_FILE_ATTRIBUTE_MATCHER (g_file_attribute_matcher_get_type ())
+GLIB_AVAILABLE_IN_ALL
+GType g_file_attribute_matcher_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GFileAttributeMatcher *g_file_attribute_matcher_new (const char *attributes);
+GLIB_AVAILABLE_IN_ALL
+GFileAttributeMatcher *g_file_attribute_matcher_ref (GFileAttributeMatcher *matcher);
+GLIB_AVAILABLE_IN_ALL
+void g_file_attribute_matcher_unref (GFileAttributeMatcher *matcher);
+GLIB_AVAILABLE_IN_ALL
+GFileAttributeMatcher *g_file_attribute_matcher_subtract (GFileAttributeMatcher *matcher,
+ GFileAttributeMatcher *subtract);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_attribute_matcher_matches (GFileAttributeMatcher *matcher,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_attribute_matcher_matches_only (GFileAttributeMatcher *matcher,
+ const char *attribute);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_attribute_matcher_enumerate_namespace (GFileAttributeMatcher *matcher,
+ const char *ns);
+GLIB_AVAILABLE_IN_ALL
+const char * g_file_attribute_matcher_enumerate_next (GFileAttributeMatcher *matcher);
+GLIB_AVAILABLE_IN_2_32
+char * g_file_attribute_matcher_to_string (GFileAttributeMatcher *matcher);
+
+G_END_DECLS
+
+#endif /* __G_FILE_INFO_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfileinputstream.h b/dist/usr/include/glib-2.0/gio/gfileinputstream.h
new file mode 100644
index 0000000..338ccae
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfileinputstream.h
@@ -0,0 +1,116 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_FILE_INPUT_STREAM_H__
+#define __G_FILE_INPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/ginputstream.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILE_INPUT_STREAM (g_file_input_stream_get_type ())
+#define G_FILE_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_INPUT_STREAM, GFileInputStream))
+#define G_FILE_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_INPUT_STREAM, GFileInputStreamClass))
+#define G_IS_FILE_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_INPUT_STREAM))
+#define G_IS_FILE_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_INPUT_STREAM))
+#define G_FILE_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_INPUT_STREAM, GFileInputStreamClass))
+
+/**
+ * GFileInputStream:
+ *
+ * A subclass of GInputStream for opened files. This adds
+ * a few file-specific operations and seeking.
+ *
+ * #GFileInputStream implements #GSeekable.
+ **/
+typedef struct _GFileInputStreamClass GFileInputStreamClass;
+typedef struct _GFileInputStreamPrivate GFileInputStreamPrivate;
+
+struct _GFileInputStream
+{
+ GInputStream parent_instance;
+
+ /*< private >*/
+ GFileInputStreamPrivate *priv;
+};
+
+struct _GFileInputStreamClass
+{
+ GInputStreamClass parent_class;
+
+ goffset (* tell) (GFileInputStream *stream);
+ gboolean (* can_seek) (GFileInputStream *stream);
+ gboolean (* seek) (GFileInputStream *stream,
+ goffset offset,
+ GSeekType type,
+ GCancellable *cancellable,
+ GError **error);
+ GFileInfo * (* query_info) (GFileInputStream *stream,
+ const char *attributes,
+ GCancellable *cancellable,
+ GError **error);
+ void (* query_info_async) (GFileInputStream *stream,
+ const char *attributes,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileInfo * (* query_info_finish) (GFileInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_file_input_stream_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GFileInfo *g_file_input_stream_query_info (GFileInputStream *stream,
+ const char *attributes,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_input_stream_query_info_async (GFileInputStream *stream,
+ const char *attributes,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileInfo *g_file_input_stream_query_info_finish (GFileInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __G_FILE_FILE_INPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfileiostream.h b/dist/usr/include/glib-2.0/gio/gfileiostream.h
new file mode 100644
index 0000000..89a5536
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfileiostream.h
@@ -0,0 +1,123 @@
+/* GIO - GLib Input, Io and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_FILE_IO_STREAM_H__
+#define __G_FILE_IO_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giostream.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILE_IO_STREAM (g_file_io_stream_get_type ())
+#define G_FILE_IO_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_IO_STREAM, GFileIOStream))
+#define G_FILE_IO_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_IO_STREAM, GFileIOStreamClass))
+#define G_IS_FILE_IO_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_IO_STREAM))
+#define G_IS_FILE_IO_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_IO_STREAM))
+#define G_FILE_IO_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_IO_STREAM, GFileIOStreamClass))
+
+/**
+ * GFileIOStream:
+ *
+ * A subclass of GIOStream for opened files. This adds
+ * a few file-specific operations and seeking and truncating.
+ *
+ * #GFileIOStream implements GSeekable.
+ **/
+typedef struct _GFileIOStreamClass GFileIOStreamClass;
+typedef struct _GFileIOStreamPrivate GFileIOStreamPrivate;
+
+struct _GFileIOStream
+{
+ GIOStream parent_instance;
+
+ /*< private >*/
+ GFileIOStreamPrivate *priv;
+};
+
+struct _GFileIOStreamClass
+{
+ GIOStreamClass parent_class;
+
+ goffset (* tell) (GFileIOStream *stream);
+ gboolean (* can_seek) (GFileIOStream *stream);
+ gboolean (* seek) (GFileIOStream *stream,
+ goffset offset,
+ GSeekType type,
+ GCancellable *cancellable,
+ GError **error);
+ gboolean (* can_truncate) (GFileIOStream *stream);
+ gboolean (* truncate_fn) (GFileIOStream *stream,
+ goffset size,
+ GCancellable *cancellable,
+ GError **error);
+ GFileInfo * (* query_info) (GFileIOStream *stream,
+ const char *attributes,
+ GCancellable *cancellable,
+ GError **error);
+ void (* query_info_async) (GFileIOStream *stream,
+ const char *attributes,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileInfo * (* query_info_finish) (GFileIOStream *stream,
+ GAsyncResult *result,
+ GError **error);
+ char * (* get_etag) (GFileIOStream *stream);
+
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_file_io_stream_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GFileInfo *g_file_io_stream_query_info (GFileIOStream *stream,
+ const char *attributes,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_io_stream_query_info_async (GFileIOStream *stream,
+ const char *attributes,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileInfo *g_file_io_stream_query_info_finish (GFileIOStream *stream,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+char * g_file_io_stream_get_etag (GFileIOStream *stream);
+
+G_END_DECLS
+
+#endif /* __G_FILE_FILE_IO_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfilemonitor.h b/dist/usr/include/glib-2.0/gio/gfilemonitor.h
new file mode 100644
index 0000000..e29ad0a
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfilemonitor.h
@@ -0,0 +1,100 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_FILE_MONITOR_H__
+#define __G_FILE_MONITOR_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILE_MONITOR (g_file_monitor_get_type ())
+#define G_FILE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_MONITOR, GFileMonitor))
+#define G_FILE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_MONITOR, GFileMonitorClass))
+#define G_IS_FILE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_MONITOR))
+#define G_IS_FILE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_MONITOR))
+#define G_FILE_MONITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_MONITOR, GFileMonitorClass))
+
+typedef struct _GFileMonitorClass GFileMonitorClass;
+typedef struct _GFileMonitorPrivate GFileMonitorPrivate;
+
+/**
+ * GFileMonitor:
+ *
+ * Watches for changes to a file.
+ **/
+struct _GFileMonitor
+{
+ GObject parent_instance;
+
+ /*< private >*/
+ GFileMonitorPrivate *priv;
+};
+
+struct _GFileMonitorClass
+{
+ GObjectClass parent_class;
+
+ /* Signals */
+ void (* changed) (GFileMonitor *monitor,
+ GFile *file,
+ GFile *other_file,
+ GFileMonitorEvent event_type);
+
+ /* Virtual Table */
+ gboolean (* cancel) (GFileMonitor *monitor);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_file_monitor_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_monitor_cancel (GFileMonitor *monitor);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_file_monitor_is_cancelled (GFileMonitor *monitor);
+GLIB_AVAILABLE_IN_ALL
+void g_file_monitor_set_rate_limit (GFileMonitor *monitor,
+ gint limit_msecs);
+
+
+/* For implementations */
+GLIB_AVAILABLE_IN_ALL
+void g_file_monitor_emit_event (GFileMonitor *monitor,
+ GFile *child,
+ GFile *other_file,
+ GFileMonitorEvent event_type);
+
+G_END_DECLS
+
+#endif /* __G_FILE_MONITOR_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfilenamecompleter.h b/dist/usr/include/glib-2.0/gio/gfilenamecompleter.h
new file mode 100644
index 0000000..0745bbb
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfilenamecompleter.h
@@ -0,0 +1,81 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_FILENAME_COMPLETER_H__
+#define __G_FILENAME_COMPLETER_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILENAME_COMPLETER (g_filename_completer_get_type ())
+#define G_FILENAME_COMPLETER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILENAME_COMPLETER, GFilenameCompleter))
+#define G_FILENAME_COMPLETER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILENAME_COMPLETER, GFilenameCompleterClass))
+#define G_FILENAME_COMPLETER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILENAME_COMPLETER, GFilenameCompleterClass))
+#define G_IS_FILENAME_COMPLETER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILENAME_COMPLETER))
+#define G_IS_FILENAME_COMPLETER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILENAME_COMPLETER))
+
+/**
+ * GFilenameCompleter:
+ *
+ * Completes filenames based on files that exist within the file system.
+ **/
+typedef struct _GFilenameCompleterClass GFilenameCompleterClass;
+
+struct _GFilenameCompleterClass
+{
+ GObjectClass parent_class;
+
+ /*< public >*/
+ /* signals */
+ void (* got_completion_data) (GFilenameCompleter *filename_completer);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_filename_completer_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GFilenameCompleter *g_filename_completer_new (void);
+
+GLIB_AVAILABLE_IN_ALL
+char * g_filename_completer_get_completion_suffix (GFilenameCompleter *completer,
+ const char *initial_text);
+GLIB_AVAILABLE_IN_ALL
+char ** g_filename_completer_get_completions (GFilenameCompleter *completer,
+ const char *initial_text);
+GLIB_AVAILABLE_IN_ALL
+void g_filename_completer_set_dirs_only (GFilenameCompleter *completer,
+ gboolean dirs_only);
+
+G_END_DECLS
+
+#endif /* __G_FILENAME_COMPLETER_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfileoutputstream.h b/dist/usr/include/glib-2.0/gio/gfileoutputstream.h
new file mode 100644
index 0000000..5e8a5fe
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfileoutputstream.h
@@ -0,0 +1,124 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_FILE_OUTPUT_STREAM_H__
+#define __G_FILE_OUTPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/goutputstream.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILE_OUTPUT_STREAM (g_file_output_stream_get_type ())
+#define G_FILE_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_OUTPUT_STREAM, GFileOutputStream))
+#define G_FILE_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_OUTPUT_STREAM, GFileOutputStreamClass))
+#define G_IS_FILE_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_OUTPUT_STREAM))
+#define G_IS_FILE_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_OUTPUT_STREAM))
+#define G_FILE_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_OUTPUT_STREAM, GFileOutputStreamClass))
+
+/**
+ * GFileOutputStream:
+ *
+ * A subclass of GOutputStream for opened files. This adds
+ * a few file-specific operations and seeking and truncating.
+ *
+ * #GFileOutputStream implements GSeekable.
+ **/
+typedef struct _GFileOutputStreamClass GFileOutputStreamClass;
+typedef struct _GFileOutputStreamPrivate GFileOutputStreamPrivate;
+
+struct _GFileOutputStream
+{
+ GOutputStream parent_instance;
+
+ /*< private >*/
+ GFileOutputStreamPrivate *priv;
+};
+
+struct _GFileOutputStreamClass
+{
+ GOutputStreamClass parent_class;
+
+ goffset (* tell) (GFileOutputStream *stream);
+ gboolean (* can_seek) (GFileOutputStream *stream);
+ gboolean (* seek) (GFileOutputStream *stream,
+ goffset offset,
+ GSeekType type,
+ GCancellable *cancellable,
+ GError **error);
+ gboolean (* can_truncate) (GFileOutputStream *stream);
+ gboolean (* truncate_fn) (GFileOutputStream *stream,
+ goffset size,
+ GCancellable *cancellable,
+ GError **error);
+ GFileInfo * (* query_info) (GFileOutputStream *stream,
+ const char *attributes,
+ GCancellable *cancellable,
+ GError **error);
+ void (* query_info_async) (GFileOutputStream *stream,
+ const char *attributes,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ GFileInfo * (* query_info_finish) (GFileOutputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+ char * (* get_etag) (GFileOutputStream *stream);
+
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_file_output_stream_get_type (void) G_GNUC_CONST;
+
+
+GLIB_AVAILABLE_IN_ALL
+GFileInfo *g_file_output_stream_query_info (GFileOutputStream *stream,
+ const char *attributes,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_file_output_stream_query_info_async (GFileOutputStream *stream,
+ const char *attributes,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+GFileInfo *g_file_output_stream_query_info_finish (GFileOutputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+char * g_file_output_stream_get_etag (GFileOutputStream *stream);
+
+G_END_DECLS
+
+#endif /* __G_FILE_FILE_OUTPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfilterinputstream.h b/dist/usr/include/glib-2.0/gio/gfilterinputstream.h
new file mode 100644
index 0000000..afe15a5
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfilterinputstream.h
@@ -0,0 +1,80 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Christian Kellner <gicmo@gnome.org>
+ */
+
+#ifndef __G_FILTER_INPUT_STREAM_H__
+#define __G_FILTER_INPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/ginputstream.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILTER_INPUT_STREAM (g_filter_input_stream_get_type ())
+#define G_FILTER_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStream))
+#define G_FILTER_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStreamClass))
+#define G_IS_FILTER_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILTER_INPUT_STREAM))
+#define G_IS_FILTER_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILTER_INPUT_STREAM))
+#define G_FILTER_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILTER_INPUT_STREAM, GFilterInputStreamClass))
+
+/**
+ * GFilterInputStream:
+ *
+ * A base class for all input streams that work on an underlying stream.
+ **/
+typedef struct _GFilterInputStreamClass GFilterInputStreamClass;
+
+struct _GFilterInputStream
+{
+ GInputStream parent_instance;
+
+ /*<protected >*/
+ GInputStream *base_stream;
+};
+
+struct _GFilterInputStreamClass
+{
+ GInputStreamClass parent_class;
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+};
+
+
+GLIB_AVAILABLE_IN_ALL
+GType g_filter_input_stream_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GInputStream * g_filter_input_stream_get_base_stream (GFilterInputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_filter_input_stream_get_close_base_stream (GFilterInputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+void g_filter_input_stream_set_close_base_stream (GFilterInputStream *stream,
+ gboolean close_base);
+
+G_END_DECLS
+
+#endif /* __G_FILTER_INPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gfilteroutputstream.h b/dist/usr/include/glib-2.0/gio/gfilteroutputstream.h
new file mode 100644
index 0000000..7e29086
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gfilteroutputstream.h
@@ -0,0 +1,80 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Christian Kellner <gicmo@gnome.org>
+ */
+
+#ifndef __G_FILTER_OUTPUT_STREAM_H__
+#define __G_FILTER_OUTPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/goutputstream.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_FILTER_OUTPUT_STREAM (g_filter_output_stream_get_type ())
+#define G_FILTER_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILTER_OUTPUT_STREAM, GFilterOutputStream))
+#define G_FILTER_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILTER_OUTPUT_STREAM, GFilterOutputStreamClass))
+#define G_IS_FILTER_OUTPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILTER_OUTPUT_STREAM))
+#define G_IS_FILTER_OUTPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILTER_OUTPUT_STREAM))
+#define G_FILTER_OUTPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILTER_OUTPUT_STREAM, GFilterOutputStreamClass))
+
+/**
+ * GFilterOutputStream:
+ *
+ * A base class for all output streams that work on an underlying stream.
+ **/
+typedef struct _GFilterOutputStreamClass GFilterOutputStreamClass;
+
+struct _GFilterOutputStream
+{
+ GOutputStream parent_instance;
+
+ /*< protected >*/
+ GOutputStream *base_stream;
+};
+
+struct _GFilterOutputStreamClass
+{
+ GOutputStreamClass parent_class;
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+};
+
+
+GLIB_AVAILABLE_IN_ALL
+GType g_filter_output_stream_get_type (void) G_GNUC_CONST;
+GLIB_AVAILABLE_IN_ALL
+GOutputStream * g_filter_output_stream_get_base_stream (GFilterOutputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_filter_output_stream_get_close_base_stream (GFilterOutputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+void g_filter_output_stream_set_close_base_stream (GFilterOutputStream *stream,
+ gboolean close_base);
+
+G_END_DECLS
+
+#endif /* __G_FILTER_OUTPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gicon.h b/dist/usr/include/glib-2.0/gio/gicon.h
new file mode 100644
index 0000000..f378146
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gicon.h
@@ -0,0 +1,103 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_ICON_H__
+#define __G_ICON_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_ICON (g_icon_get_type ())
+#define G_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_ICON, GIcon))
+#define G_IS_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_ICON))
+#define G_ICON_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_ICON, GIconIface))
+
+/**
+ * GIcon:
+ *
+ * An abstract type that specifies an icon.
+ **/
+typedef struct _GIconIface GIconIface;
+
+/**
+ * GIconIface:
+ * @g_iface: The parent interface.
+ * @hash: A hash for a given #GIcon.
+ * @equal: Checks if two #GIcon<!-- -->s are equal.
+ * @to_tokens: Serializes a #GIcon into tokens. The tokens must not
+ * contain any whitespace. Don't implement if the #GIcon can't be
+ * serialized (Since 2.20).
+ * @from_tokens: Constructs a #GIcon from tokens. Set the #GError if
+ * the tokens are malformed. Don't implement if the #GIcon can't be
+ * serialized (Since 2.20).
+ *
+ * GIconIface is used to implement GIcon types for various
+ * different systems. See #GThemedIcon and #GLoadableIcon for
+ * examples of how to implement this interface.
+ */
+struct _GIconIface
+{
+ GTypeInterface g_iface;
+
+ /* Virtual Table */
+
+ guint (* hash) (GIcon *icon);
+ gboolean (* equal) (GIcon *icon1,
+ GIcon *icon2);
+ gboolean (* to_tokens) (GIcon *icon,
+ GPtrArray *tokens,
+ gint *out_version);
+ GIcon * (* from_tokens) (gchar **tokens,
+ gint num_tokens,
+ gint version,
+ GError **error);
+
+ GVariant * (* serialize) (GIcon *icon);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_icon_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+guint g_icon_hash (gconstpointer icon);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_icon_equal (GIcon *icon1,
+ GIcon *icon2);
+GLIB_AVAILABLE_IN_ALL
+gchar *g_icon_to_string (GIcon *icon);
+GLIB_AVAILABLE_IN_ALL
+GIcon *g_icon_new_for_string (const gchar *str,
+ GError **error);
+
+GLIB_AVAILABLE_IN_2_38
+GVariant * g_icon_serialize (GIcon *icon);
+GLIB_AVAILABLE_IN_2_38
+GIcon * g_icon_deserialize (GVariant *value);
+
+G_END_DECLS
+
+#endif /* __G_ICON_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/ginetaddress.h b/dist/usr/include/glib-2.0/gio/ginetaddress.h
new file mode 100644
index 0000000..940b798
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/ginetaddress.h
@@ -0,0 +1,126 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Christian Kellner <gicmo@gnome.org>
+ * Samuel Cormier-Iijima <sciyoshi@gmail.com>
+ */
+
+#ifndef __G_INET_ADDRESS_H__
+#define __G_INET_ADDRESS_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_INET_ADDRESS (g_inet_address_get_type ())
+#define G_INET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INET_ADDRESS, GInetAddress))
+#define G_INET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INET_ADDRESS, GInetAddressClass))
+#define G_IS_INET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INET_ADDRESS))
+#define G_IS_INET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INET_ADDRESS))
+#define G_INET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INET_ADDRESS, GInetAddressClass))
+
+typedef struct _GInetAddressClass GInetAddressClass;
+typedef struct _GInetAddressPrivate GInetAddressPrivate;
+
+struct _GInetAddress
+{
+ GObject parent_instance;
+
+ /*< private >*/
+ GInetAddressPrivate *priv;
+};
+
+struct _GInetAddressClass
+{
+ GObjectClass parent_class;
+
+ gchar * (*to_string) (GInetAddress *address);
+ const guint8 * (*to_bytes) (GInetAddress *address);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_inet_address_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GInetAddress * g_inet_address_new_from_string (const gchar *string);
+
+GLIB_AVAILABLE_IN_ALL
+GInetAddress * g_inet_address_new_from_bytes (const guint8 *bytes,
+ GSocketFamily family);
+
+GLIB_AVAILABLE_IN_ALL
+GInetAddress * g_inet_address_new_loopback (GSocketFamily family);
+
+GLIB_AVAILABLE_IN_ALL
+GInetAddress * g_inet_address_new_any (GSocketFamily family);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_equal (GInetAddress *address,
+ GInetAddress *other_address);
+
+GLIB_AVAILABLE_IN_ALL
+gchar * g_inet_address_to_string (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+const guint8 * g_inet_address_to_bytes (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gsize g_inet_address_get_native_size (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+GSocketFamily g_inet_address_get_family (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_get_is_any (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_get_is_loopback (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_get_is_link_local (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_get_is_site_local (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_get_is_multicast (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_get_is_mc_global (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_get_is_mc_link_local (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_get_is_mc_node_local (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_get_is_mc_org_local (GInetAddress *address);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_inet_address_get_is_mc_site_local (GInetAddress *address);
+
+G_END_DECLS
+
+#endif /* __G_INET_ADDRESS_H__ */
+
diff --git a/dist/usr/include/glib-2.0/gio/ginetaddressmask.h b/dist/usr/include/glib-2.0/gio/ginetaddressmask.h
new file mode 100644
index 0000000..05b0630
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/ginetaddressmask.h
@@ -0,0 +1,87 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __G_INET_ADDRESS_MASK_H__
+#define __G_INET_ADDRESS_MASK_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_INET_ADDRESS_MASK (g_inet_address_mask_get_type ())
+#define G_INET_ADDRESS_MASK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INET_ADDRESS_MASK, GInetAddressMask))
+#define G_INET_ADDRESS_MASK_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INET_ADDRESS_MASK, GInetAddressMaskClass))
+#define G_IS_INET_ADDRESS_MASK(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INET_ADDRESS_MASK))
+#define G_IS_INET_ADDRESS_MASK_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INET_ADDRESS_MASK))
+#define G_INET_ADDRESS_MASK_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INET_ADDRESS_MASK, GInetAddressMaskClass))
+
+typedef struct _GInetAddressMaskClass GInetAddressMaskClass;
+typedef struct _GInetAddressMaskPrivate GInetAddressMaskPrivate;
+
+struct _GInetAddressMask
+{
+ GObject parent_instance;
+
+ /*< private >*/
+ GInetAddressMaskPrivate *priv;
+};
+
+struct _GInetAddressMaskClass
+{
+ GObjectClass parent_class;
+
+};
+
+GLIB_AVAILABLE_IN_2_32
+GType g_inet_address_mask_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_2_32
+GInetAddressMask *g_inet_address_mask_new (GInetAddress *addr,
+ guint length,
+ GError **error);
+
+GLIB_AVAILABLE_IN_2_32
+GInetAddressMask *g_inet_address_mask_new_from_string (const gchar *mask_string,
+ GError **error);
+GLIB_AVAILABLE_IN_2_32
+gchar *g_inet_address_mask_to_string (GInetAddressMask *mask);
+
+GLIB_AVAILABLE_IN_2_32
+GSocketFamily g_inet_address_mask_get_family (GInetAddressMask *mask);
+GLIB_AVAILABLE_IN_2_32
+GInetAddress *g_inet_address_mask_get_address (GInetAddressMask *mask);
+GLIB_AVAILABLE_IN_2_32
+guint g_inet_address_mask_get_length (GInetAddressMask *mask);
+
+GLIB_AVAILABLE_IN_2_32
+gboolean g_inet_address_mask_matches (GInetAddressMask *mask,
+ GInetAddress *address);
+GLIB_AVAILABLE_IN_2_32
+gboolean g_inet_address_mask_equal (GInetAddressMask *mask,
+ GInetAddressMask *mask2);
+
+G_END_DECLS
+
+#endif /* __G_INET_ADDRESS_MASK_H__ */
+
diff --git a/dist/usr/include/glib-2.0/gio/ginetsocketaddress.h b/dist/usr/include/glib-2.0/gio/ginetsocketaddress.h
new file mode 100644
index 0000000..1865a3b
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/ginetsocketaddress.h
@@ -0,0 +1,77 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Authors: Christian Kellner <gicmo@gnome.org>
+ * Samuel Cormier-Iijima <sciyoshi@gmail.com>
+ */
+
+#ifndef __G_INET_SOCKET_ADDRESS_H__
+#define __G_INET_SOCKET_ADDRESS_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gsocketaddress.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_INET_SOCKET_ADDRESS (g_inet_socket_address_get_type ())
+#define G_INET_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INET_SOCKET_ADDRESS, GInetSocketAddress))
+#define G_INET_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INET_SOCKET_ADDRESS, GInetSocketAddressClass))
+#define G_IS_INET_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INET_SOCKET_ADDRESS))
+#define G_IS_INET_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INET_SOCKET_ADDRESS))
+#define G_INET_SOCKET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INET_SOCKET_ADDRESS, GInetSocketAddressClass))
+
+typedef struct _GInetSocketAddressClass GInetSocketAddressClass;
+typedef struct _GInetSocketAddressPrivate GInetSocketAddressPrivate;
+
+struct _GInetSocketAddress
+{
+ GSocketAddress parent_instance;
+
+ /*< private >*/
+ GInetSocketAddressPrivate *priv;
+};
+
+struct _GInetSocketAddressClass
+{
+ GSocketAddressClass parent_class;
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_inet_socket_address_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GSocketAddress *g_inet_socket_address_new (GInetAddress *address,
+ guint16 port);
+
+GLIB_AVAILABLE_IN_ALL
+GInetAddress * g_inet_socket_address_get_address (GInetSocketAddress *address);
+GLIB_AVAILABLE_IN_ALL
+guint16 g_inet_socket_address_get_port (GInetSocketAddress *address);
+
+GLIB_AVAILABLE_IN_2_32
+guint32 g_inet_socket_address_get_flowinfo (GInetSocketAddress *address);
+GLIB_AVAILABLE_IN_2_32
+guint32 g_inet_socket_address_get_scope_id (GInetSocketAddress *address);
+
+G_END_DECLS
+
+#endif /* __G_INET_SOCKET_ADDRESS_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/ginitable.h b/dist/usr/include/glib-2.0/gio/ginitable.h
new file mode 100644
index 0000000..c147013
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/ginitable.h
@@ -0,0 +1,101 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2009 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_INITABLE_H__
+#define __G_INITABLE_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_INITABLE (g_initable_get_type ())
+#define G_INITABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_INITABLE, GInitable))
+#define G_IS_INITABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_INITABLE))
+#define G_INITABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_INITABLE, GInitableIface))
+#define G_TYPE_IS_INITABLE(type) (g_type_is_a ((type), G_TYPE_INITABLE))
+
+/**
+ * GInitable:
+ *
+ * Interface for initializable objects.
+ *
+ * Since: 2.22
+ **/
+typedef struct _GInitableIface GInitableIface;
+
+/**
+ * GInitableIface:
+ * @g_iface: The parent interface.
+ * @init: Initializes the object.
+ *
+ * Provides an interface for initializing object such that initialization
+ * may fail.
+ *
+ * Since: 2.22
+ **/
+struct _GInitableIface
+{
+ GTypeInterface g_iface;
+
+ /* Virtual Table */
+
+ gboolean (* init) (GInitable *initable,
+ GCancellable *cancellable,
+ GError **error);
+};
+
+
+GLIB_AVAILABLE_IN_ALL
+GType g_initable_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_initable_init (GInitable *initable,
+ GCancellable *cancellable,
+ GError **error);
+
+GLIB_AVAILABLE_IN_ALL
+gpointer g_initable_new (GType object_type,
+ GCancellable *cancellable,
+ GError **error,
+ const gchar *first_property_name,
+ ...);
+GLIB_AVAILABLE_IN_ALL
+gpointer g_initable_newv (GType object_type,
+ guint n_parameters,
+ GParameter *parameters,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+GObject* g_initable_new_valist (GType object_type,
+ const gchar *first_property_name,
+ va_list var_args,
+ GCancellable *cancellable,
+ GError **error);
+
+G_END_DECLS
+
+
+#endif /* __G_INITABLE_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/ginputstream.h b/dist/usr/include/glib-2.0/gio/ginputstream.h
new file mode 100644
index 0000000..bedfba7
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/ginputstream.h
@@ -0,0 +1,203 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_INPUT_STREAM_H__
+#define __G_INPUT_STREAM_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_INPUT_STREAM (g_input_stream_get_type ())
+#define G_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INPUT_STREAM, GInputStream))
+#define G_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INPUT_STREAM, GInputStreamClass))
+#define G_IS_INPUT_STREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INPUT_STREAM))
+#define G_IS_INPUT_STREAM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INPUT_STREAM))
+#define G_INPUT_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INPUT_STREAM, GInputStreamClass))
+
+/**
+ * GInputStream:
+ *
+ * Base class for streaming input operations.
+ **/
+typedef struct _GInputStreamClass GInputStreamClass;
+typedef struct _GInputStreamPrivate GInputStreamPrivate;
+
+struct _GInputStream
+{
+ GObject parent_instance;
+
+ /*< private >*/
+ GInputStreamPrivate *priv;
+};
+
+struct _GInputStreamClass
+{
+ GObjectClass parent_class;
+
+ /* Sync ops: */
+
+ gssize (* read_fn) (GInputStream *stream,
+ void *buffer,
+ gsize count,
+ GCancellable *cancellable,
+ GError **error);
+ gssize (* skip) (GInputStream *stream,
+ gsize count,
+ GCancellable *cancellable,
+ GError **error);
+ gboolean (* close_fn) (GInputStream *stream,
+ GCancellable *cancellable,
+ GError **error);
+
+ /* Async ops: (optional in derived classes) */
+ void (* read_async) (GInputStream *stream,
+ void *buffer,
+ gsize count,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gssize (* read_finish) (GInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+ void (* skip_async) (GInputStream *stream,
+ gsize count,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gssize (* skip_finish) (GInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+ void (* close_async) (GInputStream *stream,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (* close_finish) (GInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_g_reserved1) (void);
+ void (*_g_reserved2) (void);
+ void (*_g_reserved3) (void);
+ void (*_g_reserved4) (void);
+ void (*_g_reserved5) (void);
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_input_stream_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+gssize g_input_stream_read (GInputStream *stream,
+ void *buffer,
+ gsize count,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_input_stream_read_all (GInputStream *stream,
+ void *buffer,
+ gsize count,
+ gsize *bytes_read,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_2_34
+GBytes *g_input_stream_read_bytes (GInputStream *stream,
+ gsize count,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gssize g_input_stream_skip (GInputStream *stream,
+ gsize count,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_input_stream_close (GInputStream *stream,
+ GCancellable *cancellable,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_input_stream_read_async (GInputStream *stream,
+ void *buffer,
+ gsize count,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gssize g_input_stream_read_finish (GInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_2_34
+void g_input_stream_read_bytes_async (GInputStream *stream,
+ gsize count,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_2_34
+GBytes *g_input_stream_read_bytes_finish (GInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_input_stream_skip_async (GInputStream *stream,
+ gsize count,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gssize g_input_stream_skip_finish (GInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_input_stream_close_async (GInputStream *stream,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_input_stream_close_finish (GInputStream *stream,
+ GAsyncResult *result,
+ GError **error);
+
+/* For implementations: */
+
+GLIB_AVAILABLE_IN_ALL
+gboolean g_input_stream_is_closed (GInputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_input_stream_has_pending (GInputStream *stream);
+GLIB_AVAILABLE_IN_ALL
+gboolean g_input_stream_set_pending (GInputStream *stream,
+ GError **error);
+GLIB_AVAILABLE_IN_ALL
+void g_input_stream_clear_pending (GInputStream *stream);
+
+G_END_DECLS
+
+#endif /* __G_INPUT_STREAM_H__ */
diff --git a/dist/usr/include/glib-2.0/gio/gio.h b/dist/usr/include/glib-2.0/gio/gio.h
new file mode 100644
index 0000000..d27b911
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gio.h
@@ -0,0 +1,165 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __G_IO_H__
+#define __G_IO_H__
+
+#define __GIO_GIO_H_INSIDE__
+
+#include <gio/giotypes.h>
+
+#include <gio/gaction.h>
+#include <gio/gactiongroup.h>
+#include <gio/gactiongroupexporter.h>
+#include <gio/gactionmap.h>
+#include <gio/gappinfo.h>
+#include <gio/gapplication.h>
+#include <gio/gapplicationcommandline.h>
+#include <gio/gasyncinitable.h>
+#include <gio/gasyncresult.h>
+#include <gio/gbufferedinputstream.h>
+#include <gio/gbufferedoutputstream.h>
+#include <gio/gbytesicon.h>
+#include <gio/gcancellable.h>
+#include <gio/gcharsetconverter.h>
+#include <gio/gcontenttype.h>
+#include <gio/gconverter.h>
+#include <gio/gconverterinputstream.h>
+#include <gio/gconverteroutputstream.h>
+#include <gio/gcredentials.h>
+#include <gio/gdatainputstream.h>
+#include <gio/gdataoutputstream.h>
+#include <gio/gdbusaddress.h>
+#include <gio/gdbusauthobserver.h>
+#include <gio/gdbusconnection.h>
+#include <gio/gdbuserror.h>
+#include <gio/gdbusintrospection.h>
+#include <gio/gdbusmessage.h>
+#include <gio/gdbusmethodinvocation.h>
+#include <gio/gdbusnameowning.h>
+#include <gio/gdbusnamewatching.h>
+#include <gio/gdbusproxy.h>
+#include <gio/gdbusserver.h>
+#include <gio/gdbusutils.h>
+#include <gio/gdrive.h>
+#include <gio/gemblemedicon.h>
+#include <gio/gfileattribute.h>
+#include <gio/gfileenumerator.h>
+#include <gio/gfile.h>
+#include <gio/gfileicon.h>
+#include <gio/gfileinfo.h>
+#include <gio/gfileinputstream.h>
+#include <gio/gfileiostream.h>
+#include <gio/gfilemonitor.h>
+#include <gio/gfilenamecompleter.h>
+#include <gio/gfileoutputstream.h>
+#include <gio/gfilterinputstream.h>
+#include <gio/gfilteroutputstream.h>
+#include <gio/gicon.h>
+#include <gio/ginetaddress.h>
+#include <gio/ginetaddressmask.h>
+#include <gio/ginetsocketaddress.h>
+#include <gio/ginitable.h>
+#include <gio/ginputstream.h>
+#include <gio/gioenums.h>
+#include <gio/gioenumtypes.h>
+#include <gio/gioerror.h>
+#include <gio/giomodule.h>
+#include <gio/gioscheduler.h>
+#include <gio/giostream.h>
+#include <gio/gloadableicon.h>
+#include <gio/gmemoryinputstream.h>
+#include <gio/gmemoryoutputstream.h>
+#include <gio/gmount.h>
+#include <gio/gmountoperation.h>
+#include <gio/gnativevolumemonitor.h>
+#include <gio/gnetworkaddress.h>
+#include <gio/gnetworkmonitor.h>
+#include <gio/gnetworkservice.h>
+#include <gio/goutputstream.h>
+#include <gio/gpermission.h>
+#include <gio/gpollableinputstream.h>
+#include <gio/gpollableoutputstream.h>
+#include <gio/gpollableutils.h>
+#include <gio/gproxy.h>
+#include <gio/gproxyaddress.h>
+#include <gio/gproxyaddressenumerator.h>
+#include <gio/gproxyresolver.h>
+#include <gio/gresolver.h>
+#include <gio/gresource.h>
+#include <gio/gseekable.h>
+#include <gio/gsettingsschema.h>
+#include <gio/gsettings.h>
+#include <gio/gsimpleaction.h>
+#include <gio/gsimpleactiongroup.h>
+#include <gio/gsimpleasyncresult.h>
+#include <gio/gsimplepermission.h>
+#include <gio/gsocketaddressenumerator.h>
+#include <gio/gsocketaddress.h>
+#include <gio/gsocketclient.h>
+#include <gio/gsocketconnectable.h>
+#include <gio/gsocketconnection.h>
+#include <gio/gsocketcontrolmessage.h>
+#include <gio/gsocket.h>
+#include <gio/gsocketlistener.h>
+#include <gio/gsocketservice.h>
+#include <gio/gsrvtarget.h>
+#include <gio/gsimpleproxyresolver.h>
+#include <gio/gtask.h>
+#include <gio/gtcpconnection.h>
+#include <gio/gtcpwrapperconnection.h>
+#include <gio/gtestdbus.h>
+#include <gio/gthemedicon.h>
+#include <gio/gthreadedsocketservice.h>
+#include <gio/gtlsbackend.h>
+#include <gio/gtlscertificate.h>
+#include <gio/gtlsclientconnection.h>
+#include <gio/gtlsconnection.h>
+#include <gio/gtlsdatabase.h>
+#include <gio/gtlsfiledatabase.h>
+#include <gio/gtlsinteraction.h>
+#include <gio/gtlsserverconnection.h>
+#include <gio/gtlspassword.h>
+#include <gio/gvfs.h>
+#include <gio/gvolume.h>
+#include <gio/gvolumemonitor.h>
+#include <gio/gzlibcompressor.h>
+#include <gio/gzlibdecompressor.h>
+#include <gio/gdbusinterface.h>
+#include <gio/gdbusinterfaceskeleton.h>
+#include <gio/gdbusobject.h>
+#include <gio/gdbusobjectskeleton.h>
+#include <gio/gdbusobjectproxy.h>
+#include <gio/gdbusobjectmanager.h>
+#include <gio/gdbusobjectmanagerclient.h>
+#include <gio/gdbusobjectmanagerserver.h>
+#include <gio/gdbusactiongroup.h>
+#include <gio/gremoteactiongroup.h>
+#include <gio/gmenumodel.h>
+#include <gio/gmenu.h>
+#include <gio/gmenuexporter.h>
+#include <gio/gdbusmenumodel.h>
+
+#undef __GIO_GIO_H_INSIDE__
+
+#endif /* __G_IO_H__ */
+
diff --git a/dist/usr/include/glib-2.0/gio/gioenums.h b/dist/usr/include/glib-2.0/gio/gioenums.h
new file mode 100644
index 0000000..9767226
--- /dev/null
+++ b/dist/usr/include/glib-2.0/gio/gioenums.h
@@ -0,0 +1,1671 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2006-2007 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Alexander Larsson <alexl@redhat.com>
+ */
+
+#ifndef __GIO_ENUMS_H__
+#define __GIO_ENUMS_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+
+/**
+ * GAppInfoCreateFlags:
+ * @G_APP_INFO_CREATE_NONE: No flags.
+ * @G_APP_INFO_CREATE_NEEDS_TERMINAL: Application opens in a terminal window.
+ * @G_APP_INFO_CREATE_SUPPORTS_URIS: Application supports URI arguments.
+ * @G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION: Application supports startup notification. Since 2.26
+ *
+ * Flags used when creating a #GAppInfo.
+ */
+typedef enum {
+ G_APP_INFO_CREATE_NONE = 0, /*< nick=none >*/
+ G_APP_INFO_CREATE_NEEDS_TERMINAL = (1 << 0), /*< nick=needs-terminal >*/
+ G_APP_INFO_CREATE_SUPPORTS_URIS = (1 << 1), /*< nick=supports-uris >*/
+ G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION = (1 << 2) /*< nick=supports-startup-notification >*/
+} GAppInfoCreateFlags;
+
+/**
+ * GConverterFlags:
+ * @G_CONVERTER_NO_FLAGS: No flags.
+ * @G_CONVERTER_INPUT_AT_END: At end of input data
+ * @G_CONVERTER_FLUSH: Flush data
+ *
+ * Flags used when calling a g_converter_convert().
+ *
+ * Since: 2.24
+ */
+typedef enum {
+ G_CONVERTER_NO_FLAGS = 0, /*< nick=none >*/
+ G_CONVERTER_INPUT_AT_END = (1 << 0), /*< nick=input-at-end >*/
+ G_CONVERTER_FLUSH = (1 << 1) /*< nick=flush >*/
+} GConverterFlags;
+
+/**
+ * GConverterResult:
+ * @G_CONVERTER_ERROR: There was an error during conversion.
+ * @G_CONVERTER_CONVERTED: Some data was consumed or produced
+ * @G_CONVERTER_FINISHED: The conversion is finished
+ * @G_CONVERTER_FLUSHED: Flushing is finished
+ *
+ * Results returned from g_converter_convert().
+ *
+ * Since: 2.24
+ */
+typedef enum {
+ G_CONVERTER_ERROR = 0, /*< nick=error >*/
+ G_CONVERTER_CONVERTED = 1, /*< nick=converted >*/
+ G_CONVERTER_FINISHED = 2, /*< nick=finished >*/
+ G_CONVERTER_FLUSHED = 3 /*< nick=flushed >*/
+} GConverterResult;
+
+
+/**
+ * GDataStreamByteOrder:
+ * @G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN: Selects Big Endian byte order.
+ * @G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN: Selects Little Endian byte order.
+ * @G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN: Selects endianness based on host machine's architecture.
+ *
+ * #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources
+ * across various machine architectures.
+ *
+ **/
+typedef enum {
+ G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN,
+ G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN,
+ G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN
+} GDataStreamByteOrder;
+
+
+/**
+ * GDataStreamNewlineType:
+ * @G_DATA_STREAM_NEWLINE_TYPE_LF: Selects "LF" line endings, common on most modern UNIX platforms.
+ * @G_DATA_STREAM_NEWLINE_TYPE_CR: Selects "CR" line endings.
+ * @G_DATA_STREAM_NEWLINE_TYPE_CR_LF: Selects "CR, LF" line ending, common on Microsoft Windows.
+ * @G_DATA_STREAM_NEWLINE_TYPE_ANY: Automatically try to handle any line ending type.
+ *
+ * #GDataStreamNewlineType is used when checking for or setting the line endings for a given file.
+ **/
+typedef enum {
+ G_DATA_STREAM_NEWLINE_TYPE_LF,
+ G_DATA_STREAM_NEWLINE_TYPE_CR,
+ G_DATA_STREAM_NEWLINE_TYPE_CR_LF,
+ G_DATA_STREAM_NEWLINE_TYPE_ANY
+} GDataStreamNewlineType;
+
+
+/**
+ * GFileAttributeType:
+ * @G_FILE_ATTRIBUTE_TYPE_INVALID: indicates an invalid or uninitalized type.
+ * @G_FILE_ATTRIBUTE_TYPE_STRING: a null terminated UTF8 string.
+ * @G_FILE_ATTRIBUTE_TYPE_BYTE_STRING: a zero terminated string of non-zero bytes.
+ * @G_FILE_ATTRIBUTE_TYPE_BOOLEAN: a boolean value.
+ * @G_FILE_ATTRIBUTE_TYPE_UINT32: an unsigned 4-byte/32-bit integer.
+ * @G_FILE_ATTRIBUTE_TYPE_INT32: a signed 4-byte/32-bit integer.
+ * @G_FILE_ATTRIBUTE_TYPE_UINT64: an unsigned 8-byte/64-bit integer.
+ * @G_FILE_ATTRIBUTE_TYPE_INT64: a signed 8-byte/64-bit integer.
+ * @G_FILE_ATTRIBUTE_TYPE_OBJECT: a #GObject.
+ * @G_FILE_ATTRIBUTE_TYPE_STRINGV: a %NULL terminated char **. Since 2.22
+ *
+ * The data types for file attributes.
+ **/
+typedef enum {
+ G_FILE_ATTRIBUTE_TYPE_INVALID = 0,
+ G_FILE_ATTRIBUTE_TYPE_STRING,
+ G_FILE_ATTRIBUTE_TYPE_BYTE_STRING, /* zero terminated string of non-zero bytes */
+ G_FILE_ATTRIBUTE_TYPE_BOOLEAN,
+ G_FILE_ATTRIBUTE_TYPE_UINT32,
+ G_FILE_ATTRIBUTE_TYPE_INT32,
+ G_FILE_ATTRIBUTE_TYPE_UINT64,
+ G_FILE_ATTRIBUTE_TYPE_INT64,
+ G_FILE_ATTRIBUTE_TYPE_OBJECT,
+ G_FILE_ATTRIBUTE_TYPE_STRINGV
+} GFileAttributeType;
+
+
+/**
+ * GFileAttributeInfoFlags:
+ * @G_FILE_ATTRIBUTE_INFO_NONE: no flags set.
+ * @G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE: copy the attribute values when the file is copied.
+ * @G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED: copy the attribute values when the file is moved.
+ *
+ * Flags specifying the behaviour of an attribute.
+ **/
+typedef enum {
+ G_FILE_ATTRIBUTE_INFO_NONE = 0,
+ G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE = (1 << 0),
+ G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED = (1 << 1)
+} GFileAttributeInfoFlags;
+
+
+/**
+ * GFileAttributeStatus:
+ * @G_FILE_ATTRIBUTE_STATUS_UNSET: Attribute value is unset (empty).
+ * @G_FILE_ATTRIBUTE_STATUS_SET: Attribute value is set.
+ * @G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING: Indicates an error in setting the value.
+ *
+ * Used by g_file_set_attributes_from_info() when setting file attributes.
+ **/
+typedef enum {
+ G_FILE_ATTRIBUTE_STATUS_UNSET = 0,
+ G_FILE_ATTRIBUTE_STATUS_SET,
+ G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING
+} GFileAttributeStatus;
+
+
+/**
+ * GFileQueryInfoFlags:
+ * @G_FILE_QUERY_INFO_NONE: No flags set.
+ * @G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: Don't follow symlinks.
+ *
+ * Flags used when querying a #GFileInfo.
+ */
+typedef enum {
+ G_FILE_QUERY_INFO_NONE = 0,
+ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS = (1 << 0) /*< nick=nofollow-symlinks >*/
+} GFileQueryInfoFlags;
+
+
+/**
+ * GFileCreateFlags:
+ * @G_FILE_CREATE_NONE: No flags set.
+ * @G_FILE_CREATE_PRIVATE: Create a file that can only be
+ * accessed by the current user.
+ * @G_FILE_CREATE_REPLACE_DESTINATION: Replace the destination
+ * as if it didn't exist before. Don't try to keep any old
+ * permissions, replace instead of following links. This
+ * is generally useful if you're doing a "copy over"
+ * rather than a "save new version of" replace operation.
+ * You can think of it as "unlink destination" before
+ * writing to it, although the implementation may not
+ * be exactly like that. Since 2.20
+ *
+ * Flags used when an operation may create a file.
+ */
+typedef enum {
+ G_FILE_CREATE_NONE = 0,
+ G_FILE_CREATE_PRIVATE = (1 << 0),
+ G_FILE_CREATE_REPLACE_DESTINATION = (1 << 1)
+} GFileCreateFlags;
+
+
+/**
+ * GMountMountFlags:
+ * @G_MOUNT_MOUNT_NONE: No flags set.
+ *
+ * Flags used when mounting a mount.
+ */
+typedef enum /*< flags >*/ {
+ G_MOUNT_MOUNT_NONE = 0
+} GMountMountFlags;
+
+
+/**
+ * GMountUnmountFlags:
+ * @G_MOUNT_UNMOUNT_NONE: No flags set.
+ * @G_MOUNT_UNMOUNT_FORCE: Unmount even if there are outstanding
+ * file operations on the mount.
+ *
+ * Flags used when an unmounting a mount.
+ */
+typedef enum {
+ G_MOUNT_UNMOUNT_NONE = 0,
+ G_MOUNT_UNMOUNT_FORCE = (1 << 0)
+} GMountUnmountFlags;
+
+/**
+ * GDriveStartFlags:
+ * @G_DRIVE_START_NONE: No flags set.
+ *
+ * Flags used when starting a drive.
+ *
+ * Since: 2.22
+ */
+typedef enum /*< flags >*/ {
+ G_DRIVE_START_NONE = 0
+} GDriveStartFlags;
+
+/**
+ * GDriveStartStopType:
+ * @G_DRIVE_START_STOP_TYPE_UNKNOWN: Unknown or drive doesn't support
+ * start/stop.
+ * @G_DRIVE_START_STOP_TYPE_SHUTDOWN: The stop method will physically
+ * shut down the drive and e.g. power down the port the drive is
+ * attached to.
+ * @G_DRIVE_START_STOP_TYPE_NETWORK: The start/stop methods are used
+ * for connecting/disconnect to the drive over the network.
+ * @G_DRIVE_START_STOP_TYPE_MULTIDISK: The start/stop methods will
+ * assemble/disassemble a virtual drive from several physical
+ * drives.
+ * @G_DRIVE_START_STOP_TYPE_PASSWORD: The start/stop methods will
+ * unlock/lock the disk (for example using the ATA <quote>SECURITY
+ * UNLOCK DEVICE</quote> command)
+ *
+ * Enumeration describing how a drive can be started/stopped.
+ *
+ * Since: 2.22
+ */
+typedef enum {
+ G_DRIVE_START_STOP_TYPE_UNKNOWN,
+ G_DRIVE_START_STOP_TYPE_SHUTDOWN,
+ G_DRIVE_START_STOP_TYPE_NETWORK,
+ G_DRIVE_START_STOP_TYPE_MULTIDISK,
+ G_DRIVE_START_STOP_TYPE_PASSWORD
+} GDriveStartStopType;
+
+/**
+ * GFileCopyFlags:
+ * @G_FILE_COPY_NONE: No flags set.
+ * @G_FILE_COPY_OVERWRITE: Overwrite any existing files
+ * @G_FILE_COPY_BACKUP: Make a backup of any existing files.
+ * @G_FILE_COPY_NOFOLLOW_SYMLINKS: Don't follow symlinks.
+ * @G_FILE_COPY_ALL_METADATA: Copy all file metadata instead of just default set used for copy (see #GFileInfo).
+ * @G_FILE_COPY_NO_FALLBACK_FOR_MOVE: Don't use copy and delete fallback if native move not supported.
+ * @G_FILE_COPY_TARGET_DEFAULT_PERMS: Leaves target file with default perms, instead of setting the source file perms.
+ *
+ * Flags used when copying or moving files.
+ */
+typedef enum {
+ G_FILE_COPY_NONE = 0, /*< nick=none >*/
+ G_FILE_COPY_OVERWRITE = (1 << 0),
+ G_FILE_COPY_BACKUP = (1 << 1),
+ G_FILE_COPY_NOFOLLOW_SYMLINKS = (1 << 2),
+ G_FILE_COPY_ALL_METADATA = (1 << 3),
+ G_FILE_COPY_NO_FALLBACK_FOR_MOVE = (1 << 4),
+ G_FILE_COPY_TARGET_DEFAULT_PERMS = (1 << 5)
+} GFileCopyFlags;
+
+
+/**
+ * GFileMonitorFlags:
+ * @G_FILE_MONITOR_NONE: No flags set.
+ * @G_FILE_MONITOR_WATCH_MOUNTS: Watch for mount events.
+ * @G_FILE_MONITOR_SEND_MOVED: Pair DELETED and CREATED events caused
+ * by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED
+ * event instead (NB: not supported on all backends; the default
+ * behaviour -without specifying this flag- is to send single DELETED
+ * and CREATED events).
+ * @G_FILE_MONITOR_WATCH_HARD_LINKS: Watch for changes to the file made
+ * via another hard link. Since 2.36.
+ *
+ * Flags used to set what a #GFileMonitor will watch for.
+ */
+typedef enum {
+ G_FILE_MONITOR_NONE = 0,
+ G_FILE_MONITOR_WATCH_MOUNTS = (1 << 0),
+ G_FILE_MONITOR_SEND_MOVED = (1 << 1),
+ G_FILE_MONITOR_WATCH_HARD_LINKS = (1 << 2)
+} GFileMonitorFlags;
+
+
+/**
+ * GFileType:
+ * @G_FILE_TYPE_UNKNOWN: File's type is unknown.
+ * @G_FILE_TYPE_REGULAR: File handle represents a regular file.
+ * @G_FILE_TYPE_DIRECTORY: File handle represents a directory.
+ * @G_FILE_TYPE_SYMBOLIC_LINK: File handle represents a symbolic link
+ * (Unix systems).
+ * @G_FILE_TYPE_SPECIAL: File is a "special" file, such as a socket, fifo,
+ * block device, or character device.
+ * @G_FILE_TYPE_SHORTCUT: File is a shortcut (Windows systems).
+ * @G_FILE_TYPE_MOUNTABLE: File is a mountable location.
+ *
+ * Indicates the file's on-disk type.
+ **/
+typedef enum {
+ G_FILE_TYPE_UNKNOWN = 0,
+ G_FILE_TYPE_REGULAR,
+ G_FILE_TYPE_DIRECTORY,
+ G_FILE_TYPE_SYMBOLIC_LINK,
+ G_FILE_TYPE_SPECIAL, /* socket, fifo, blockdev, chardev */
+ G_FILE_TYPE_SHORTCUT,
+ G_FILE_TYPE_MOUNTABLE
+} GFileType;
+
+
+/**
+ * GFilesystemPreviewType:
+ * @G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS: Only preview files if user has explicitly requested it.
+ * @G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL: Preview files if user has requested preview of "local" files.
+ * @G_FILESYSTEM_PREVIEW_TYPE_NEVER: Never preview files.
+ *
+ * Indicates a hint from the file system whether files should be
+ * previewed in a file manager. Returned as the value of the key
+ * #G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW.
+ **/
+typedef enum {
+ G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS = 0,
+ G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL,
+ G_FILESYSTEM_PREVIEW_TYPE_NEVER
+} GFilesystemPreviewType;
+
+
+/**
+ * GFileMonitorEvent:
+ * @G_FILE_MONITOR_EVENT_CHANGED: a file changed.
+ * @G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: a hint that this was probably the last change in a set of changes.
+ * @G_FILE_MONITOR_EVENT_DELETED: a file was deleted.
+ * @G_FILE_MONITOR_EVENT_CREATED: a file was created.
+ * @G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: a file attribute was changed.
+ * @G_FILE_MONITOR_EVENT_PRE_UNMOUNT: the file location will soon be unmounted.
+ * @G_FILE_MONITOR_EVENT_UNMOUNTED: the file location was unmounted.
+ * @G_FILE_MONITOR_EVENT_MOVED: the file was moved.
+ *
+ * Specifies what type of event a monitor event is.
+ **/
+typedef enum {
+ G_FILE_MONITOR_EVENT_CHANGED,
+ G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT,
+ G_FILE_MONITOR_EVENT_DELETED,
+ G_FILE_MONITOR_EVENT_CREATED,
+ G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED,
+ G_FILE_MONITOR_EVENT_PRE_UNMOUNT,
+ G_FILE_MONITOR_EVENT_UNMOUNTED,
+ G_FILE_MONITOR_EVENT_MOVED
+} GFileMonitorEvent;
+
+
+/* This enumeration conflicts with GIOError in giochannel.h. However,
+ * that is only used as a return value in some deprecated functions.
+ * So, we reuse the same prefix for the enumeration values, but call
+ * the actual enumeration (which is rarely used) GIOErrorEnum.
+ */
+/**
+ * GIOErrorEnum:
+ * @G_IO_ERROR_FAILED: Generic error condition for when any operation fails.
+ * @G_IO_ERROR_NOT_FOUND: File not found.
+ * @G_IO_ERROR_EXISTS: File already exists.
+ * @G_IO_ERROR_IS_DIRECTORY: File is a directory.
+ * @G_IO_ERROR_NOT_DIRECTORY: File is not a directory.
+ * @G_IO_ERROR_NOT_EMPTY: File is a directory that isn't empty.
+ * @G_IO_ERROR_NOT_REGULAR_FILE: File is not a regular file.
+ * @G_IO_ERROR_NOT_SYMBOLIC_LINK: File is not a symbolic link.
+ * @G_IO_ERROR_NOT_MOUNTABLE_FILE: File cannot be mounted.
+ * @G_IO_ERROR_FILENAME_TOO_LONG: Filename is too many characters.
+ * @G_IO_ERROR_INVALID_FILENAME: Filename is invalid or contains invalid characters.
+ * @G_IO_ERROR_TOO_MANY_LINKS: File contains too many symbolic links.
+ * @G_IO_ERROR_NO_SPACE: No space left on drive.
+ * @G_IO_ERROR_INVALID_ARGUMENT: Invalid argument.
+ * @G_IO_ERROR_PERMISSION_DENIED: Permission denied.
+ * @G_IO_ERROR_NOT_SUPPORTED: Operation not supported for the current backend.
+ * @G_IO_ERROR_NOT_MOUNTED: File isn't mounted.
+ * @G_IO_ERROR_ALREADY_MOUNTED: File is already mounted.
+ * @G_IO_ERROR_CLOSED: File was closed.
+ * @G_IO_ERROR_CANCELLED: Operation was cancelled. See #GCancellable.
+ * @G_IO_ERROR_PENDING: Operations are still pending.
+ * @G_IO_ERROR_READ_ONLY: File is read only.
+ * @G_IO_ERROR_CANT_CREATE_BACKUP: Backup couldn't be created.
+ * @G_IO_ERROR_WRONG_ETAG: File's Entity Tag was incorrect.
+ * @G_IO_ERROR_TIMED_OUT: Operation timed out.
+ * @G_IO_ERROR_WOULD_RECURSE: Operation would be recursive.
+ * @G_IO_ERROR_BUSY: File is busy.
+ * @G_IO_ERROR_WOULD_BLOCK: Operation would block.
+ * @G_IO_ERROR_HOST_NOT_FOUND: Host couldn't be found (remote operations).
+ * @G_IO_ERROR_WOULD_MERGE: Operation would merge files.
+ * @G_IO_ERROR_FAILED_HANDLED: Operation failed and a helper program has
+ * already interacted with the user. Do not display any error dialog.
+ * @G_IO_ERROR_TOO_MANY_OPEN_FILES: The current process has too many files
+ * open and can't open any more. Duplicate descriptors do count toward
+ * this limit. Since 2.20
+ * @G_IO_ERROR_NOT_INITIALIZED: The object has not been initialized. Since 2.22
+ * @G_IO_ERROR_ADDRESS_IN_USE: The requested address is already in use. Since 2.22
+ * @G_IO_ERROR_PARTIAL_INPUT: Need more input to finish operation. Since 2.24
+ * @G_IO_ERROR_INVALID_DATA: The input data was invalid. Since 2.24
+ * @G_IO_ERROR_DBUS_ERROR: A remote object generated an error that
+ * doesn't correspond to a locally registered #GError error
+ * domain. Use g_dbus_error_get_remote_error() to extract the D-Bus
+ * error name and g_dbus_error_strip_remote_error() to fix up the
+ * message so it matches what was received on the wire. Since 2.26.
+ * @G_IO_ERROR_HOST_UNREACHABLE: Host unreachable. Since 2.26
+ * @G_IO_ERROR_NETWORK_UNREACHABLE: Network unreachable. Since 2.26
+ * @G_IO_ERROR_CONNECTION_REFUSED: Connection refused. Since 2.26
+ * @G_IO_ERROR_PROXY_FAILED: Connection to proxy server failed. Since 2.26
+ * @G_IO_ERROR_PROXY_AUTH_FAILED: Proxy authentication failed. Since 2.26
+ * @G_IO_ERROR_PROXY_NEED_AUTH: Proxy server needs authentication. Since 2.26
+ * @G_IO_ERROR_PROXY_NOT_ALLOWED: Proxy connection is not allowed by ruleset.
+ * Since 2.26
+ * @G_IO_ERROR_BROKEN_PIPE: Broken pipe. Since 2.36
+ *
+ * Error codes returned by GIO functions.
+ *
+ **/
+typedef enum {
+ G_IO