[glibmm/gmmproc-refactor: 19/23] Add generated modules.
- From: Krzesimir Nowak <krnowak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glibmm/gmmproc-refactor: 19/23] Add generated modules.
- Date: Mon, 26 Sep 2011 13:16:39 +0000 (UTC)
commit 5e1d7bc5574d50ea4fe5dc2027bf9372832966b7
Author: Krzesimir Nowak <qdlacz gmail com>
Date: Mon Sep 26 14:57:26 2011 +0200
Add generated modules.
tools/pm/Gir/Handlers/Generated/Alias.pm | 161 ++++++
tools/pm/Gir/Handlers/Generated/Array.pm | 118 +++++
tools/pm/Gir/Handlers/Generated/Bitfield.pm | 161 ++++++
tools/pm/Gir/Handlers/Generated/CInclude.pm | 83 +++
tools/pm/Gir/Handlers/Generated/Callback.pm | 204 ++++++++
tools/pm/Gir/Handlers/Generated/Class.pm | 462 +++++++++++++++++
tools/pm/Gir/Handlers/Generated/Common/Tags.pm | 596 ++++++++++++++++++++++
tools/pm/Gir/Handlers/Generated/Constant.pm | 118 +++++
tools/pm/Gir/Handlers/Generated/Constructor.pm | 204 ++++++++
tools/pm/Gir/Handlers/Generated/Doc.pm | 83 +++
tools/pm/Gir/Handlers/Generated/Enumeration.pm | 204 ++++++++
tools/pm/Gir/Handlers/Generated/Field.pm | 204 ++++++++
tools/pm/Gir/Handlers/Generated/Function.pm | 204 ++++++++
tools/pm/Gir/Handlers/Generated/GlibSignal.pm | 204 ++++++++
tools/pm/Gir/Handlers/Generated/Implements.pm | 83 +++
tools/pm/Gir/Handlers/Generated/Include.pm | 83 +++
tools/pm/Gir/Handlers/Generated/Interface.pm | 376 ++++++++++++++
tools/pm/Gir/Handlers/Generated/Member.pm | 83 +++
tools/pm/Gir/Handlers/Generated/Method.pm | 204 ++++++++
tools/pm/Gir/Handlers/Generated/Namespace.pm | 505 ++++++++++++++++++
tools/pm/Gir/Handlers/Generated/Package.pm | 83 +++
tools/pm/Gir/Handlers/Generated/Parameter.pm | 247 +++++++++
tools/pm/Gir/Handlers/Generated/Parameters.pm | 118 +++++
tools/pm/Gir/Handlers/Generated/Prerequisite.pm | 83 +++
tools/pm/Gir/Handlers/Generated/Property.pm | 204 ++++++++
tools/pm/Gir/Handlers/Generated/Record.pm | 333 ++++++++++++
tools/pm/Gir/Handlers/Generated/Repository.pm | 247 +++++++++
tools/pm/Gir/Handlers/Generated/ReturnValue.pm | 204 ++++++++
tools/pm/Gir/Handlers/Generated/TopLevel.pm | 118 +++++
tools/pm/Gir/Handlers/Generated/Type.pm | 161 ++++++
tools/pm/Gir/Handlers/Generated/Union.pm | 333 ++++++++++++
tools/pm/Gir/Handlers/Generated/Varargs.pm | 83 +++
tools/pm/Gir/Handlers/Generated/VirtualMethod.pm | 204 ++++++++
33 files changed, 6758 insertions(+), 0 deletions(-)
---
diff --git a/tools/pm/Gir/Handlers/Generated/Alias.pm b/tools/pm/Gir/Handlers/Generated/Alias.pm
new file mode 100644
index 0000000..426f17a
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Alias.pm
@@ -0,0 +1,161 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Alias;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Type;
+
+##
+## private virtuals
+##
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Alias::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Alias::_type_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Alias::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Alias::_type_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_start,
+ 'type' => \&_type_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_end,
+ 'type' => \&_type_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'doc',
+ 'type'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _type_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_type_params (@atts_vals);
+
+ $self->_type_start_impl ($parser, $params);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _type_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_type_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Alias');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Array.pm b/tools/pm/Gir/Handlers/Generated/Array.pm
new file mode 100644
index 0000000..c711630
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Array.pm
@@ -0,0 +1,118 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Array;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Type;
+
+##
+## private virtuals
+##
+sub _type_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Array::_type_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Array::_type_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'type' => \&_type_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'type' => \&_type_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'type'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _type_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_type_params (@atts_vals);
+
+ $self->_type_start_impl ($parser, $params);
+}
+
+sub _type_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_type_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Array');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Bitfield.pm b/tools/pm/Gir/Handlers/Generated/Bitfield.pm
new file mode 100644
index 0000000..2f7ad6c
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Bitfield.pm
@@ -0,0 +1,161 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Bitfield;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Member;
+
+##
+## private virtuals
+##
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Bitfield::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _member_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('member'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Bitfield::_member_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Bitfield::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _member_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('member'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Bitfield::_member_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_start,
+ 'member' => \&_member_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_end,
+ 'member' => \&_member_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'doc',
+ 'member'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _member_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_member_params (@atts_vals);
+
+ $self->_member_start_impl ($parser, $params);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _member_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_member_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Bitfield');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/CInclude.pm b/tools/pm/Gir/Handlers/Generated/CInclude.pm
new file mode 100644
index 0000000..1d982b3
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/CInclude.pm
@@ -0,0 +1,83 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::CInclude;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+
+
+##
+## private virtuals
+##
+
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::CInclude');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Callback.pm b/tools/pm/Gir/Handlers/Generated/Callback.pm
new file mode 100644
index 0000000..857a0b9
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Callback.pm
@@ -0,0 +1,204 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Callback;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Parameters;
+use Gir::Handlers::Generated::ReturnValue;
+
+##
+## private virtuals
+##
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Callback::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Callback::_parameters_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Callback::_return_value_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Callback::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Callback::_parameters_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Callback::_return_value_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_start,
+ 'parameters' => \&_parameters_start,
+ 'return-value' => \&_return_value_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_end,
+ 'parameters' => \&_parameters_end,
+ 'return-value' => \&_return_value_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'doc',
+ 'parameters',
+ 'return-value'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _parameters_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_parameters_params (@atts_vals);
+
+ $self->_parameters_start_impl ($parser, $params);
+}
+
+sub _return_value_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_return_value_params (@atts_vals);
+
+ $self->_return_value_start_impl ($parser, $params);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _parameters_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_parameters_end_impl ($parser);
+}
+
+sub _return_value_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_return_value_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Callback');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Class.pm b/tools/pm/Gir/Handlers/Generated/Class.pm
new file mode 100644
index 0000000..5497e68
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Class.pm
@@ -0,0 +1,462 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Class;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Constructor;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Field;
+use Gir::Handlers::Generated::Function;
+use Gir::Handlers::Generated::GlibSignal;
+use Gir::Handlers::Generated::Implements;
+use Gir::Handlers::Generated::Method;
+use Gir::Handlers::Generated::Property;
+use Gir::Handlers::Generated::VirtualMethod;
+
+##
+## private virtuals
+##
+sub _constructor_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('constructor'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_constructor_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _field_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('field'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_field_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_function_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _glib_signal_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('glib:signal'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_glib_signal_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _implements_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('implements'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_implements_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _method_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_method_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _property_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('property'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_property_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _virtual_method_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('virtual-method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_virtual_method_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _constructor_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('constructor'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_constructor_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _field_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('field'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_field_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_function_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _glib_signal_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('glib:signal'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_glib_signal_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _implements_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('implements'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_implements_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _method_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_method_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _property_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('property'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_property_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _virtual_method_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('virtual-method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Class::_virtual_method_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'constructor' => \&_constructor_start,
+ 'doc' => \&_doc_start,
+ 'field' => \&_field_start,
+ 'function' => \&_function_start,
+ 'glib:signal' => \&_glib_signal_start,
+ 'implements' => \&_implements_start,
+ 'method' => \&_method_start,
+ 'property' => \&_property_start,
+ 'virtual-method' => \&_virtual_method_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'constructor' => \&_constructor_end,
+ 'doc' => \&_doc_end,
+ 'field' => \&_field_end,
+ 'function' => \&_function_end,
+ 'glib:signal' => \&_glib_signal_end,
+ 'implements' => \&_implements_end,
+ 'method' => \&_method_end,
+ 'property' => \&_property_end,
+ 'virtual-method' => \&_virtual_method_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'constructor',
+ 'doc',
+ 'field',
+ 'function',
+ 'glib:signal',
+ 'implements',
+ 'method',
+ 'property',
+ 'virtual-method'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _constructor_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_constructor_params (@atts_vals);
+
+ $self->_constructor_start_impl ($parser, $params);
+}
+
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _field_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_field_params (@atts_vals);
+
+ $self->_field_start_impl ($parser, $params);
+}
+
+sub _function_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_function_params (@atts_vals);
+
+ $self->_function_start_impl ($parser, $params);
+}
+
+sub _glib_signal_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_glib_signal_params (@atts_vals);
+
+ $self->_glib_signal_start_impl ($parser, $params);
+}
+
+sub _implements_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_implements_params (@atts_vals);
+
+ $self->_implements_start_impl ($parser, $params);
+}
+
+sub _method_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_method_params (@atts_vals);
+
+ $self->_method_start_impl ($parser, $params);
+}
+
+sub _property_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_property_params (@atts_vals);
+
+ $self->_property_start_impl ($parser, $params);
+}
+
+sub _virtual_method_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_virtual_method_params (@atts_vals);
+
+ $self->_virtual_method_start_impl ($parser, $params);
+}
+
+sub _constructor_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_constructor_end_impl ($parser);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _field_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_field_end_impl ($parser);
+}
+
+sub _function_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_function_end_impl ($parser);
+}
+
+sub _glib_signal_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_glib_signal_end_impl ($parser);
+}
+
+sub _implements_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_implements_end_impl ($parser);
+}
+
+sub _method_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_method_end_impl ($parser);
+}
+
+sub _property_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_property_end_impl ($parser);
+}
+
+sub _virtual_method_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_virtual_method_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Class');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Common/Tags.pm b/tools/pm/Gir/Handlers/Generated/Common/Tags.pm
new file mode 100644
index 0000000..0c41602
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Common/Tags.pm
@@ -0,0 +1,596 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Common::Tags;
+
+use strict;
+use warnings;
+
+use Gir::Handlers::Generated::Common::Misc;
+
+sub get_alias_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:type',
+ 'name'
+ ],
+ [
+
+ ],
+ \ _
+ );
+}
+
+
+sub get_array_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+
+ ],
+ [
+ ['c:type', undef],
+ ['fixed-size', undef],
+ ['length', undef],
+ ['name', undef],
+ ['zero-terminated', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_bitfield_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:type',
+ 'name'
+ ],
+ [
+ ['glib:get-type', undef],
+ ['glib:type-name', undef],
+ ['version', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_c_include_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name'
+ ],
+ [
+
+ ],
+ \ _
+ );
+}
+
+
+sub get_callback_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name'
+ ],
+ [
+ ['c:type', undef],
+ ['introspectable', 1],
+ ['throws', 0],
+ ['version', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_class_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:symbol-prefix',
+ 'glib:get-type',
+ 'glib:type-name',
+ 'name'
+ ],
+ [
+ ['abstract', 0],
+ ['c:type', undef],
+ ['glib:fundamental', 0],
+ ['glib:type-struct', undef],
+ ['parent', undef],
+ ['version', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_constant_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name',
+ 'value'
+ ],
+ [
+
+ ],
+ \ _
+ );
+}
+
+
+sub get_constructor_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:identifier',
+ 'name'
+ ],
+ [
+ ['deprecated', undef],
+ ['deprecated-version', undef],
+ ['introspectable', 1],
+ ['shadowed-by', undef],
+ ['shadows', undef],
+ ['throws', 0],
+ ['version', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_doc_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'xml:whitespace'
+ ],
+ [
+
+ ],
+ \ _
+ );
+}
+
+
+sub get_enumeration_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:type',
+ 'name'
+ ],
+ [
+ ['deprecated', undef],
+ ['deprecated-version', undef],
+ ['glib:error-domain', undef],
+ ['glib:get-type', undef],
+ ['glib:type-name', undef],
+ ['version', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_field_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name'
+ ],
+ [
+ ['bits', undef],
+ ['introspectable', 1],
+ ['private', 0],
+ ['readable', 1],
+ ['writable', 0]
+ ],
+ \ _
+ );
+}
+
+
+sub get_function_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:identifier',
+ 'name'
+ ],
+ [
+ ['deprecated', undef],
+ ['deprecated-version', undef],
+ ['introspectable', 1],
+ ['moved-to', undef],
+ ['shadowed-by', undef],
+ ['shadows', undef],
+ ['throws', 0],
+ ['version', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_glib_signal_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name'
+ ],
+ [
+ ['action', 0],
+ ['deprecated', undef],
+ ['deprecated-version', undef],
+ ['detailed', 0],
+ ['introspectable', 1],
+ ['no-hooks', 0],
+ ['no-recurse', 0],
+ ['version', undef],
+ ['when', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_implements_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name'
+ ],
+ [
+
+ ],
+ \ _
+ );
+}
+
+
+sub get_include_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name',
+ 'version'
+ ],
+ [
+
+ ],
+ \ _
+ );
+}
+
+
+sub get_interface_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:symbol-prefix',
+ 'c:type',
+ 'glib:get-type',
+ 'glib:type-name',
+ 'name'
+ ],
+ [
+ ['glib:type-struct', undef],
+ ['version', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_member_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:identifier',
+ 'name',
+ 'value'
+ ],
+ [
+ ['glib:nick', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_method_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:identifier',
+ 'name'
+ ],
+ [
+ ['deprecated', undef],
+ ['deprecated-version', undef],
+ ['introspectable', 1],
+ ['shadowed-by', undef],
+ ['shadows', undef],
+ ['throws', 0],
+ ['version', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_namespace_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:identifier-prefixes',
+ 'c:symbol-prefixes',
+ 'name',
+ 'version'
+ ],
+ [
+ ['shared-library', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_package_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name'
+ ],
+ [
+
+ ],
+ \ _
+ );
+}
+
+
+sub get_parameter_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'transfer-ownership'
+ ],
+ [
+ ['allow-none', 0],
+ ['caller-allocates', undef],
+ ['closure', undef],
+ ['destroy', undef],
+ ['direction', undef],
+ ['name', undef],
+ ['scope', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_parameters_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+
+ ],
+ [
+
+ ],
+ \ _
+ );
+}
+
+
+sub get_prerequisite_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name'
+ ],
+ [
+
+ ],
+ \ _
+ );
+}
+
+
+sub get_property_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name',
+ 'transfer-ownership'
+ ],
+ [
+ ['construct', 0],
+ ['construct-only', 0],
+ ['deprecated', undef],
+ ['deprecated-version', undef],
+ ['introspectable', 1],
+ ['readable', 1],
+ ['version', undef],
+ ['writable', 0]
+ ],
+ \ _
+ );
+}
+
+
+sub get_record_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:type',
+ 'name'
+ ],
+ [
+ ['c:symbol-prefix', undef],
+ ['disguised', 0],
+ ['foreign', 0],
+ ['glib:get-type', undef],
+ ['glib:is-gtype-struct-for', undef],
+ ['glib:type-name', undef],
+ ['introspectable', 1],
+ ['version', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_repository_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'version',
+ 'xmlns',
+ 'xmlns:c'
+ ],
+ [
+ ['xmlns:glib', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_return_value_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+
+ ],
+ [
+ ['transfer-ownership', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_type_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+
+ ],
+ [
+ ['c:type', undef],
+ ['name', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_union_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'c:type',
+ 'name'
+ ],
+ [
+ ['c:symbol-prefix', undef],
+ ['glib:get-type', undef],
+ ['glib:type-name', undef]
+ ],
+ \ _
+ );
+}
+
+
+sub get_varargs_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+
+ ],
+ [
+
+ ],
+ \ _
+ );
+}
+
+
+sub get_virtual_method_params (@)
+{
+ return Gir::Handlers::Generated::Common::Misc::extract_values
+ (
+ [
+ 'name'
+ ],
+ [
+ ['deprecated', undef],
+ ['deprecated-version', undef],
+ ['introspectable', 1],
+ ['invoker', undef],
+ ['throws', 0],
+ ['version', undef]
+ ],
+ \ _
+ );
+}
+
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Constant.pm b/tools/pm/Gir/Handlers/Generated/Constant.pm
new file mode 100644
index 0000000..df12705
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Constant.pm
@@ -0,0 +1,118 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Constant;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Type;
+
+##
+## private virtuals
+##
+sub _type_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Constant::_type_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Constant::_type_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'type' => \&_type_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'type' => \&_type_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'type'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _type_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_type_params (@atts_vals);
+
+ $self->_type_start_impl ($parser, $params);
+}
+
+sub _type_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_type_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Constant');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Constructor.pm b/tools/pm/Gir/Handlers/Generated/Constructor.pm
new file mode 100644
index 0000000..8666fcc
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Constructor.pm
@@ -0,0 +1,204 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Constructor;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Parameters;
+use Gir::Handlers::Generated::ReturnValue;
+
+##
+## private virtuals
+##
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Constructor::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Constructor::_parameters_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Constructor::_return_value_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Constructor::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Constructor::_parameters_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Constructor::_return_value_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_start,
+ 'parameters' => \&_parameters_start,
+ 'return-value' => \&_return_value_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_end,
+ 'parameters' => \&_parameters_end,
+ 'return-value' => \&_return_value_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'doc',
+ 'parameters',
+ 'return-value'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _parameters_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_parameters_params (@atts_vals);
+
+ $self->_parameters_start_impl ($parser, $params);
+}
+
+sub _return_value_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_return_value_params (@atts_vals);
+
+ $self->_return_value_start_impl ($parser, $params);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _parameters_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_parameters_end_impl ($parser);
+}
+
+sub _return_value_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_return_value_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Constructor');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Doc.pm b/tools/pm/Gir/Handlers/Generated/Doc.pm
new file mode 100644
index 0000000..8afbcba
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Doc.pm
@@ -0,0 +1,83 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Doc;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+
+
+##
+## private virtuals
+##
+
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Doc');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Enumeration.pm b/tools/pm/Gir/Handlers/Generated/Enumeration.pm
new file mode 100644
index 0000000..396b038
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Enumeration.pm
@@ -0,0 +1,204 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Enumeration;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Function;
+use Gir::Handlers::Generated::Member;
+
+##
+## private virtuals
+##
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Enumeration::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Enumeration::_function_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _member_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('member'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Enumeration::_member_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Enumeration::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Enumeration::_function_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _member_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('member'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Enumeration::_member_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_start,
+ 'function' => \&_function_start,
+ 'member' => \&_member_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_end,
+ 'function' => \&_function_end,
+ 'member' => \&_member_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'doc',
+ 'function',
+ 'member'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _function_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_function_params (@atts_vals);
+
+ $self->_function_start_impl ($parser, $params);
+}
+
+sub _member_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_member_params (@atts_vals);
+
+ $self->_member_start_impl ($parser, $params);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _function_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_function_end_impl ($parser);
+}
+
+sub _member_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_member_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Enumeration');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Field.pm b/tools/pm/Gir/Handlers/Generated/Field.pm
new file mode 100644
index 0000000..6ef706b
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Field.pm
@@ -0,0 +1,204 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Field;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Array;
+use Gir::Handlers::Generated::Callback;
+use Gir::Handlers::Generated::Type;
+
+##
+## private virtuals
+##
+sub _array_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('array'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Field::_array_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _callback_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('callback'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Field::_callback_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Field::_type_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _array_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('array'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Field::_array_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _callback_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('callback'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Field::_callback_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Field::_type_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'array' => \&_array_start,
+ 'callback' => \&_callback_start,
+ 'type' => \&_type_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'array' => \&_array_end,
+ 'callback' => \&_callback_end,
+ 'type' => \&_type_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'array',
+ 'callback',
+ 'type'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _array_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_array_params (@atts_vals);
+
+ $self->_array_start_impl ($parser, $params);
+}
+
+sub _callback_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_callback_params (@atts_vals);
+
+ $self->_callback_start_impl ($parser, $params);
+}
+
+sub _type_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_type_params (@atts_vals);
+
+ $self->_type_start_impl ($parser, $params);
+}
+
+sub _array_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_array_end_impl ($parser);
+}
+
+sub _callback_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_callback_end_impl ($parser);
+}
+
+sub _type_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_type_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Field');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Function.pm b/tools/pm/Gir/Handlers/Generated/Function.pm
new file mode 100644
index 0000000..e65edb5
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Function.pm
@@ -0,0 +1,204 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Function;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Parameters;
+use Gir::Handlers::Generated::ReturnValue;
+
+##
+## private virtuals
+##
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Function::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Function::_parameters_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Function::_return_value_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Function::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Function::_parameters_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Function::_return_value_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_start,
+ 'parameters' => \&_parameters_start,
+ 'return-value' => \&_return_value_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_end,
+ 'parameters' => \&_parameters_end,
+ 'return-value' => \&_return_value_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'doc',
+ 'parameters',
+ 'return-value'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _parameters_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_parameters_params (@atts_vals);
+
+ $self->_parameters_start_impl ($parser, $params);
+}
+
+sub _return_value_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_return_value_params (@atts_vals);
+
+ $self->_return_value_start_impl ($parser, $params);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _parameters_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_parameters_end_impl ($parser);
+}
+
+sub _return_value_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_return_value_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Function');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/GlibSignal.pm b/tools/pm/Gir/Handlers/Generated/GlibSignal.pm
new file mode 100644
index 0000000..f374aae
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/GlibSignal.pm
@@ -0,0 +1,204 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::GlibSignal;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Parameters;
+use Gir::Handlers::Generated::ReturnValue;
+
+##
+## private virtuals
+##
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::GlibSignal::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::GlibSignal::_parameters_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::GlibSignal::_return_value_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::GlibSignal::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::GlibSignal::_parameters_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::GlibSignal::_return_value_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_start,
+ 'parameters' => \&_parameters_start,
+ 'return-value' => \&_return_value_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_end,
+ 'parameters' => \&_parameters_end,
+ 'return-value' => \&_return_value_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'doc',
+ 'parameters',
+ 'return-value'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _parameters_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_parameters_params (@atts_vals);
+
+ $self->_parameters_start_impl ($parser, $params);
+}
+
+sub _return_value_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_return_value_params (@atts_vals);
+
+ $self->_return_value_start_impl ($parser, $params);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _parameters_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_parameters_end_impl ($parser);
+}
+
+sub _return_value_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_return_value_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::GlibSignal');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Implements.pm b/tools/pm/Gir/Handlers/Generated/Implements.pm
new file mode 100644
index 0000000..9938829
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Implements.pm
@@ -0,0 +1,83 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Implements;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+
+
+##
+## private virtuals
+##
+
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Implements');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Include.pm b/tools/pm/Gir/Handlers/Generated/Include.pm
new file mode 100644
index 0000000..c2024ef
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Include.pm
@@ -0,0 +1,83 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Include;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+
+
+##
+## private virtuals
+##
+
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Include');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Interface.pm b/tools/pm/Gir/Handlers/Generated/Interface.pm
new file mode 100644
index 0000000..9e74348
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Interface.pm
@@ -0,0 +1,376 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Interface;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Function;
+use Gir::Handlers::Generated::GlibSignal;
+use Gir::Handlers::Generated::Method;
+use Gir::Handlers::Generated::Prerequisite;
+use Gir::Handlers::Generated::Property;
+use Gir::Handlers::Generated::VirtualMethod;
+
+##
+## private virtuals
+##
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_function_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _glib_signal_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('glib:signal'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_glib_signal_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _method_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_method_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _prerequisite_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('prerequisite'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_prerequisite_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _property_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('property'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_property_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _virtual_method_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('virtual-method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_virtual_method_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_function_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _glib_signal_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('glib:signal'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_glib_signal_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _method_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_method_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _prerequisite_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('prerequisite'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_prerequisite_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _property_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('property'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_property_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _virtual_method_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('virtual-method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Interface::_virtual_method_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_start,
+ 'function' => \&_function_start,
+ 'glib:signal' => \&_glib_signal_start,
+ 'method' => \&_method_start,
+ 'prerequisite' => \&_prerequisite_start,
+ 'property' => \&_property_start,
+ 'virtual-method' => \&_virtual_method_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_end,
+ 'function' => \&_function_end,
+ 'glib:signal' => \&_glib_signal_end,
+ 'method' => \&_method_end,
+ 'prerequisite' => \&_prerequisite_end,
+ 'property' => \&_property_end,
+ 'virtual-method' => \&_virtual_method_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'doc',
+ 'function',
+ 'glib:signal',
+ 'method',
+ 'prerequisite',
+ 'property',
+ 'virtual-method'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _function_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_function_params (@atts_vals);
+
+ $self->_function_start_impl ($parser, $params);
+}
+
+sub _glib_signal_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_glib_signal_params (@atts_vals);
+
+ $self->_glib_signal_start_impl ($parser, $params);
+}
+
+sub _method_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_method_params (@atts_vals);
+
+ $self->_method_start_impl ($parser, $params);
+}
+
+sub _prerequisite_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_prerequisite_params (@atts_vals);
+
+ $self->_prerequisite_start_impl ($parser, $params);
+}
+
+sub _property_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_property_params (@atts_vals);
+
+ $self->_property_start_impl ($parser, $params);
+}
+
+sub _virtual_method_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_virtual_method_params (@atts_vals);
+
+ $self->_virtual_method_start_impl ($parser, $params);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _function_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_function_end_impl ($parser);
+}
+
+sub _glib_signal_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_glib_signal_end_impl ($parser);
+}
+
+sub _method_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_method_end_impl ($parser);
+}
+
+sub _prerequisite_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_prerequisite_end_impl ($parser);
+}
+
+sub _property_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_property_end_impl ($parser);
+}
+
+sub _virtual_method_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_virtual_method_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Interface');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Member.pm b/tools/pm/Gir/Handlers/Generated/Member.pm
new file mode 100644
index 0000000..884df9d
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Member.pm
@@ -0,0 +1,83 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Member;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+
+
+##
+## private virtuals
+##
+
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Member');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Method.pm b/tools/pm/Gir/Handlers/Generated/Method.pm
new file mode 100644
index 0000000..ed511c4
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Method.pm
@@ -0,0 +1,204 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Method;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Parameters;
+use Gir::Handlers::Generated::ReturnValue;
+
+##
+## private virtuals
+##
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Method::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Method::_parameters_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Method::_return_value_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Method::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Method::_parameters_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Method::_return_value_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_start,
+ 'parameters' => \&_parameters_start,
+ 'return-value' => \&_return_value_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_end,
+ 'parameters' => \&_parameters_end,
+ 'return-value' => \&_return_value_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'doc',
+ 'parameters',
+ 'return-value'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _parameters_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_parameters_params (@atts_vals);
+
+ $self->_parameters_start_impl ($parser, $params);
+}
+
+sub _return_value_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_return_value_params (@atts_vals);
+
+ $self->_return_value_start_impl ($parser, $params);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _parameters_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_parameters_end_impl ($parser);
+}
+
+sub _return_value_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_return_value_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Method');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Namespace.pm b/tools/pm/Gir/Handlers/Generated/Namespace.pm
new file mode 100644
index 0000000..f9a2fd4
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Namespace.pm
@@ -0,0 +1,505 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Namespace;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Alias;
+use Gir::Handlers::Generated::Bitfield;
+use Gir::Handlers::Generated::Callback;
+use Gir::Handlers::Generated::Class;
+use Gir::Handlers::Generated::Constant;
+use Gir::Handlers::Generated::Enumeration;
+use Gir::Handlers::Generated::Function;
+use Gir::Handlers::Generated::Interface;
+use Gir::Handlers::Generated::Record;
+use Gir::Handlers::Generated::Union;
+
+##
+## private virtuals
+##
+sub _alias_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('alias'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_alias_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _bitfield_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('bitfield'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_bitfield_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _callback_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('callback'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_callback_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _class_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('class'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_class_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _constant_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('constant'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_constant_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _enumeration_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('enumeration'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_enumeration_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_function_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _interface_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('interface'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_interface_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _record_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('record'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_record_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _union_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('union'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_union_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _alias_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('alias'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_alias_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _bitfield_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('bitfield'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_bitfield_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _callback_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('callback'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_callback_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _class_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('class'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_class_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _constant_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('constant'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_constant_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _enumeration_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('enumeration'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_enumeration_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_function_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _interface_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('interface'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_interface_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _record_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('record'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_record_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _union_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('union'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Namespace::_union_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'alias' => \&_alias_start,
+ 'bitfield' => \&_bitfield_start,
+ 'callback' => \&_callback_start,
+ 'class' => \&_class_start,
+ 'constant' => \&_constant_start,
+ 'enumeration' => \&_enumeration_start,
+ 'function' => \&_function_start,
+ 'interface' => \&_interface_start,
+ 'record' => \&_record_start,
+ 'union' => \&_union_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'alias' => \&_alias_end,
+ 'bitfield' => \&_bitfield_end,
+ 'callback' => \&_callback_end,
+ 'class' => \&_class_end,
+ 'constant' => \&_constant_end,
+ 'enumeration' => \&_enumeration_end,
+ 'function' => \&_function_end,
+ 'interface' => \&_interface_end,
+ 'record' => \&_record_end,
+ 'union' => \&_union_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'alias',
+ 'bitfield',
+ 'callback',
+ 'class',
+ 'constant',
+ 'enumeration',
+ 'function',
+ 'interface',
+ 'record',
+ 'union'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _alias_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_alias_params (@atts_vals);
+
+ $self->_alias_start_impl ($parser, $params);
+}
+
+sub _bitfield_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_bitfield_params (@atts_vals);
+
+ $self->_bitfield_start_impl ($parser, $params);
+}
+
+sub _callback_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_callback_params (@atts_vals);
+
+ $self->_callback_start_impl ($parser, $params);
+}
+
+sub _class_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_class_params (@atts_vals);
+
+ $self->_class_start_impl ($parser, $params);
+}
+
+sub _constant_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_constant_params (@atts_vals);
+
+ $self->_constant_start_impl ($parser, $params);
+}
+
+sub _enumeration_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_enumeration_params (@atts_vals);
+
+ $self->_enumeration_start_impl ($parser, $params);
+}
+
+sub _function_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_function_params (@atts_vals);
+
+ $self->_function_start_impl ($parser, $params);
+}
+
+sub _interface_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_interface_params (@atts_vals);
+
+ $self->_interface_start_impl ($parser, $params);
+}
+
+sub _record_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_record_params (@atts_vals);
+
+ $self->_record_start_impl ($parser, $params);
+}
+
+sub _union_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_union_params (@atts_vals);
+
+ $self->_union_start_impl ($parser, $params);
+}
+
+sub _alias_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_alias_end_impl ($parser);
+}
+
+sub _bitfield_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_bitfield_end_impl ($parser);
+}
+
+sub _callback_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_callback_end_impl ($parser);
+}
+
+sub _class_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_class_end_impl ($parser);
+}
+
+sub _constant_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_constant_end_impl ($parser);
+}
+
+sub _enumeration_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_enumeration_end_impl ($parser);
+}
+
+sub _function_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_function_end_impl ($parser);
+}
+
+sub _interface_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_interface_end_impl ($parser);
+}
+
+sub _record_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_record_end_impl ($parser);
+}
+
+sub _union_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_union_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Namespace');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Package.pm b/tools/pm/Gir/Handlers/Generated/Package.pm
new file mode 100644
index 0000000..8ec8982
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Package.pm
@@ -0,0 +1,83 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Package;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+
+
+##
+## private virtuals
+##
+
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Package');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Parameter.pm b/tools/pm/Gir/Handlers/Generated/Parameter.pm
new file mode 100644
index 0000000..8008e75
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Parameter.pm
@@ -0,0 +1,247 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Parameter;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Array;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Type;
+use Gir::Handlers::Generated::Varargs;
+
+##
+## private virtuals
+##
+sub _array_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('array'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Parameter::_array_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Parameter::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Parameter::_type_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _varargs_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('varargs'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Parameter::_varargs_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _array_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('array'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Parameter::_array_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Parameter::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Parameter::_type_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _varargs_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('varargs'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Parameter::_varargs_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'array' => \&_array_start,
+ 'doc' => \&_doc_start,
+ 'type' => \&_type_start,
+ 'varargs' => \&_varargs_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'array' => \&_array_end,
+ 'doc' => \&_doc_end,
+ 'type' => \&_type_end,
+ 'varargs' => \&_varargs_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'array',
+ 'doc',
+ 'type',
+ 'varargs'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _array_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_array_params (@atts_vals);
+
+ $self->_array_start_impl ($parser, $params);
+}
+
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _type_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_type_params (@atts_vals);
+
+ $self->_type_start_impl ($parser, $params);
+}
+
+sub _varargs_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_varargs_params (@atts_vals);
+
+ $self->_varargs_start_impl ($parser, $params);
+}
+
+sub _array_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_array_end_impl ($parser);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _type_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_type_end_impl ($parser);
+}
+
+sub _varargs_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_varargs_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Parameter');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Parameters.pm b/tools/pm/Gir/Handlers/Generated/Parameters.pm
new file mode 100644
index 0000000..9ed8f11
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Parameters.pm
@@ -0,0 +1,118 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Parameters;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Parameter;
+
+##
+## private virtuals
+##
+sub _parameter_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('parameter'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Parameters::_parameter_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameter_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('parameter'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Parameters::_parameter_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'parameter' => \&_parameter_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'parameter' => \&_parameter_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'parameter'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _parameter_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_parameter_params (@atts_vals);
+
+ $self->_parameter_start_impl ($parser, $params);
+}
+
+sub _parameter_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_parameter_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Parameters');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Prerequisite.pm b/tools/pm/Gir/Handlers/Generated/Prerequisite.pm
new file mode 100644
index 0000000..ad8d98f
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Prerequisite.pm
@@ -0,0 +1,83 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Prerequisite;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+
+
+##
+## private virtuals
+##
+
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Prerequisite');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Property.pm b/tools/pm/Gir/Handlers/Generated/Property.pm
new file mode 100644
index 0000000..cf73499
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Property.pm
@@ -0,0 +1,204 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Property;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Array;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Type;
+
+##
+## private virtuals
+##
+sub _array_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('array'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Property::_array_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Property::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Property::_type_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _array_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('array'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Property::_array_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Property::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Property::_type_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'array' => \&_array_start,
+ 'doc' => \&_doc_start,
+ 'type' => \&_type_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'array' => \&_array_end,
+ 'doc' => \&_doc_end,
+ 'type' => \&_type_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'array',
+ 'doc',
+ 'type'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _array_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_array_params (@atts_vals);
+
+ $self->_array_start_impl ($parser, $params);
+}
+
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _type_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_type_params (@atts_vals);
+
+ $self->_type_start_impl ($parser, $params);
+}
+
+sub _array_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_array_end_impl ($parser);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _type_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_type_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Property');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Record.pm b/tools/pm/Gir/Handlers/Generated/Record.pm
new file mode 100644
index 0000000..0ce57c4
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Record.pm
@@ -0,0 +1,333 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Record;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Constructor;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Field;
+use Gir::Handlers::Generated::Function;
+use Gir::Handlers::Generated::Method;
+use Gir::Handlers::Generated::Union;
+
+##
+## private virtuals
+##
+sub _constructor_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('constructor'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_constructor_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _field_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('field'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_field_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_function_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _method_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_method_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _union_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('union'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_union_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _constructor_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('constructor'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_constructor_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _field_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('field'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_field_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_function_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _method_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_method_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _union_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('union'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Record::_union_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'constructor' => \&_constructor_start,
+ 'doc' => \&_doc_start,
+ 'field' => \&_field_start,
+ 'function' => \&_function_start,
+ 'method' => \&_method_start,
+ 'union' => \&_union_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'constructor' => \&_constructor_end,
+ 'doc' => \&_doc_end,
+ 'field' => \&_field_end,
+ 'function' => \&_function_end,
+ 'method' => \&_method_end,
+ 'union' => \&_union_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'constructor',
+ 'doc',
+ 'field',
+ 'function',
+ 'method',
+ 'union'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _constructor_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_constructor_params (@atts_vals);
+
+ $self->_constructor_start_impl ($parser, $params);
+}
+
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _field_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_field_params (@atts_vals);
+
+ $self->_field_start_impl ($parser, $params);
+}
+
+sub _function_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_function_params (@atts_vals);
+
+ $self->_function_start_impl ($parser, $params);
+}
+
+sub _method_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_method_params (@atts_vals);
+
+ $self->_method_start_impl ($parser, $params);
+}
+
+sub _union_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_union_params (@atts_vals);
+
+ $self->_union_start_impl ($parser, $params);
+}
+
+sub _constructor_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_constructor_end_impl ($parser);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _field_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_field_end_impl ($parser);
+}
+
+sub _function_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_function_end_impl ($parser);
+}
+
+sub _method_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_method_end_impl ($parser);
+}
+
+sub _union_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_union_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Record');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Repository.pm b/tools/pm/Gir/Handlers/Generated/Repository.pm
new file mode 100644
index 0000000..10d48c7
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Repository.pm
@@ -0,0 +1,247 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Repository;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::CInclude;
+use Gir::Handlers::Generated::Include;
+use Gir::Handlers::Generated::Namespace;
+use Gir::Handlers::Generated::Package;
+
+##
+## private virtuals
+##
+sub _c_include_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('c:include'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Repository::_c_include_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _include_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('include'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Repository::_include_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _namespace_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('namespace'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Repository::_namespace_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _package_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('package'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Repository::_package_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _c_include_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('c:include'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Repository::_c_include_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _include_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('include'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Repository::_include_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _namespace_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('namespace'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Repository::_namespace_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _package_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('package'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Repository::_package_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'c:include' => \&_c_include_start,
+ 'include' => \&_include_start,
+ 'namespace' => \&_namespace_start,
+ 'package' => \&_package_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'c:include' => \&_c_include_end,
+ 'include' => \&_include_end,
+ 'namespace' => \&_namespace_end,
+ 'package' => \&_package_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'c:include',
+ 'include',
+ 'namespace',
+ 'package'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _c_include_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_c_include_params (@atts_vals);
+
+ $self->_c_include_start_impl ($parser, $params);
+}
+
+sub _include_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_include_params (@atts_vals);
+
+ $self->_include_start_impl ($parser, $params);
+}
+
+sub _namespace_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_namespace_params (@atts_vals);
+
+ $self->_namespace_start_impl ($parser, $params);
+}
+
+sub _package_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_package_params (@atts_vals);
+
+ $self->_package_start_impl ($parser, $params);
+}
+
+sub _c_include_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_c_include_end_impl ($parser);
+}
+
+sub _include_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_include_end_impl ($parser);
+}
+
+sub _namespace_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_namespace_end_impl ($parser);
+}
+
+sub _package_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_package_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Repository');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/ReturnValue.pm b/tools/pm/Gir/Handlers/Generated/ReturnValue.pm
new file mode 100644
index 0000000..33d0638
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/ReturnValue.pm
@@ -0,0 +1,204 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::ReturnValue;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Array;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Type;
+
+##
+## private virtuals
+##
+sub _array_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('array'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::ReturnValue::_array_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::ReturnValue::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::ReturnValue::_type_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _array_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('array'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::ReturnValue::_array_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::ReturnValue::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::ReturnValue::_type_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'array' => \&_array_start,
+ 'doc' => \&_doc_start,
+ 'type' => \&_type_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'array' => \&_array_end,
+ 'doc' => \&_doc_end,
+ 'type' => \&_type_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'array',
+ 'doc',
+ 'type'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _array_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_array_params (@atts_vals);
+
+ $self->_array_start_impl ($parser, $params);
+}
+
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _type_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_type_params (@atts_vals);
+
+ $self->_type_start_impl ($parser, $params);
+}
+
+sub _array_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_array_end_impl ($parser);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _type_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_type_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::ReturnValue');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/TopLevel.pm b/tools/pm/Gir/Handlers/Generated/TopLevel.pm
new file mode 100644
index 0000000..5149253
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/TopLevel.pm
@@ -0,0 +1,118 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::TopLevel;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Repository;
+
+##
+## private virtuals
+##
+sub _repository_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('repository'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::TopLevel::_repository_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _repository_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('repository'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::TopLevel::_repository_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'repository' => \&_repository_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'repository' => \&_repository_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'repository'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _repository_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_repository_params (@atts_vals);
+
+ $self->_repository_start_impl ($parser, $params);
+}
+
+sub _repository_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_repository_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::TopLevel');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Type.pm b/tools/pm/Gir/Handlers/Generated/Type.pm
new file mode 100644
index 0000000..e3e84b6
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Type.pm
@@ -0,0 +1,161 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Type;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Array;
+use Gir::Handlers::Generated::Type;
+
+##
+## private virtuals
+##
+sub _array_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('array'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Type::_array_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Type::_type_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _array_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('array'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Type::_array_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _type_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('type'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Type::_type_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'array' => \&_array_start,
+ 'type' => \&_type_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'array' => \&_array_end,
+ 'type' => \&_type_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'array',
+ 'type'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _array_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_array_params (@atts_vals);
+
+ $self->_array_start_impl ($parser, $params);
+}
+
+sub _type_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_type_params (@atts_vals);
+
+ $self->_type_start_impl ($parser, $params);
+}
+
+sub _array_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_array_end_impl ($parser);
+}
+
+sub _type_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_type_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Type');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Union.pm b/tools/pm/Gir/Handlers/Generated/Union.pm
new file mode 100644
index 0000000..e6a93ee
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Union.pm
@@ -0,0 +1,333 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Union;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Constructor;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Field;
+use Gir::Handlers::Generated::Function;
+use Gir::Handlers::Generated::Method;
+use Gir::Handlers::Generated::Record;
+
+##
+## private virtuals
+##
+sub _constructor_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('constructor'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_constructor_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _field_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('field'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_field_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_function_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _method_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_method_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _record_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('record'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_record_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _constructor_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('constructor'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_constructor_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _field_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('field'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_field_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _function_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('function'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_function_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _method_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('method'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_method_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _record_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('record'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::Union::_record_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'constructor' => \&_constructor_start,
+ 'doc' => \&_doc_start,
+ 'field' => \&_field_start,
+ 'function' => \&_function_start,
+ 'method' => \&_method_start,
+ 'record' => \&_record_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'constructor' => \&_constructor_end,
+ 'doc' => \&_doc_end,
+ 'field' => \&_field_end,
+ 'function' => \&_function_end,
+ 'method' => \&_method_end,
+ 'record' => \&_record_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'constructor',
+ 'doc',
+ 'field',
+ 'function',
+ 'method',
+ 'record'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _constructor_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_constructor_params (@atts_vals);
+
+ $self->_constructor_start_impl ($parser, $params);
+}
+
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _field_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_field_params (@atts_vals);
+
+ $self->_field_start_impl ($parser, $params);
+}
+
+sub _function_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_function_params (@atts_vals);
+
+ $self->_function_start_impl ($parser, $params);
+}
+
+sub _method_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_method_params (@atts_vals);
+
+ $self->_method_start_impl ($parser, $params);
+}
+
+sub _record_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_record_params (@atts_vals);
+
+ $self->_record_start_impl ($parser, $params);
+}
+
+sub _constructor_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_constructor_end_impl ($parser);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _field_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_field_end_impl ($parser);
+}
+
+sub _function_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_function_end_impl ($parser);
+}
+
+sub _method_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_method_end_impl ($parser);
+}
+
+sub _record_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_record_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Union');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/Varargs.pm b/tools/pm/Gir/Handlers/Generated/Varargs.pm
new file mode 100644
index 0000000..1360faf
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/Varargs.pm
@@ -0,0 +1,83 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::Varargs;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+
+
+##
+## private virtuals
+##
+
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::Varargs');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
diff --git a/tools/pm/Gir/Handlers/Generated/VirtualMethod.pm b/tools/pm/Gir/Handlers/Generated/VirtualMethod.pm
new file mode 100644
index 0000000..4a38a68
--- /dev/null
+++ b/tools/pm/Gir/Handlers/Generated/VirtualMethod.pm
@@ -0,0 +1,204 @@
+## This file was generated by taghandlerwriter.pl script.
+##
+## Copyright 2011 Krzesimir Nowak
+##
+## 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 of the License, 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.
+##
+
+package Gir::Handlers::Generated::VirtualMethod;
+
+use strict;
+use warnings;
+
+use parent qw(Gir::Handlers::Generated::Common::Base);
+
+use Gir::Handlers::Generated::Common::Store;
+use Gir::Handlers::Generated::Common::Tags;
+use Gir::Handlers::Generated::Doc;
+use Gir::Handlers::Generated::Parameters;
+use Gir::Handlers::Generated::ReturnValue;
+
+##
+## private virtuals
+##
+sub _doc_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::VirtualMethod::_doc_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::VirtualMethod::_parameters_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_start_impl ($$$)
+{
+ my $self = shift;
+
+ unless ($self->_is_start_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::VirtualMethod::_return_value_start_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _doc_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('doc'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::VirtualMethod::_doc_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _parameters_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('parameters'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::VirtualMethod::_parameters_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _return_value_end_impl ($$)
+{
+ my $self = shift;
+
+ unless ($self->_is_end_ignored ('return-value'))
+ {
+ #TODO: throw something.
+ print STDERR 'Gir::Handlers::Generated::VirtualMethod::_return_value_end_impl not implemented.' . "\n";
+ exit (1);
+ }
+}
+
+sub _setup_handlers ($)
+{
+ my $self = shift;
+
+ $self->_set_handlers
+ (
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_start,
+ 'parameters' => \&_parameters_start,
+ 'return-value' => \&_return_value_start
+ }),
+ Gir::Handlers::Generated::Common::Store->new
+ ({
+ 'doc' => \&_doc_end,
+ 'parameters' => \&_parameters_end,
+ 'return-value' => \&_return_value_end
+ })
+ );
+}
+
+sub _setup_subhandlers ($)
+{
+ my $self = shift;
+
+ $self->_set_subhandlers
+ (
+ $self->_generate_subhandlers
+ ([
+ 'doc',
+ 'parameters',
+ 'return-value'
+ ])
+ );
+}
+
+##
+## private (sort of)
+##
+sub _doc_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_doc_params (@atts_vals);
+
+ $self->_doc_start_impl ($parser, $params);
+}
+
+sub _parameters_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_parameters_params (@atts_vals);
+
+ $self->_parameters_start_impl ($parser, $params);
+}
+
+sub _return_value_start ($$@)
+{
+ my ($self, $parser, @atts_vals) = @_;
+ my $params = Gir::Handlers::Generated::Common::Tags::get_return_value_params (@atts_vals);
+
+ $self->_return_value_start_impl ($parser, $params);
+}
+
+sub _doc_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_doc_end_impl ($parser);
+}
+
+sub _parameters_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_parameters_end_impl ($parser);
+}
+
+sub _return_value_end ($$)
+{
+ my ($self, $parser) = @_;
+
+ $self->_return_value_end_impl ($parser);
+}
+
+##
+## public
+##
+sub new ($)
+{
+ my $type = shift;
+ my $class = (ref ($type) or $type or 'Gir::Handlers::Generated::VirtualMethod');
+ my $self = $class->SUPER::new ();
+
+ return bless ($self, $class);
+}
+
+1; # indicate proper module load.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]