The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
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