Copyright 2007, 2008, 2009 Kevin Ryde
This file is part of Glib-Ex-ObjectBits.
Glib-Ex-ObjectBits 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 3, or (at
your option) any later version.
Glib-Ex-ObjectBits 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 Glib-Ex-ObjectBits. If not, see <http://www.gnu.org/licenses/>.
This is some helpers for working with Glib::Objects.
* Glib::Ex::FreezeNotify holds a freeze_notify on one or more
objects, for use in "scope guard" style.
* Glib::Ex::SignalIds holds a set of signal IDs and disconnects them
when destroyed.
* Glib::Ex::SourceIds holds a set of main loop source IDs and
disconnects them when destroyed.
* Glib::Ex::TieProperties ties the properties of an object to a Perl
hash.
The common theme in FreezeNotify, SignalIds and SourceIds is that it
can be a good deal easier to manage the lifespan of a helper object
than to catch all the places your code jumps out or might drop its IDs
etc.
The only prerequisite is Glib-Perl, but of course Glib::Object does
very little by itself so in practice you'll be using this code with
Gtk2-Perl etc. The ObjectBits home page is
http://user42.tuxfamily.org/glib-ex-objectbits/index.html