App-Chart
view release on metacpan or search on metacpan
lib/App/Chart/Glib/Ex/DirBroadcast.pm view on Meta::CPAN
=item C<< App::Chart::Glib::Ex::DirBroadcast->directory ($directory) >>
=item C<< App::Chart::Glib::Ex::DirBroadcast->directory () >>
=item C<< $dirb->directory ($directory) >>
=item C<< $dirb->directory () >>
Get or set the filesystem directory used for broadcasts.
=item C<< App::Chart::Glib::Ex::DirBroadcast->send ($key, $data, ...) >>
=item C<< App::Chart::Glib::Ex::DirBroadcast->send_locally ($key, $data, ...) >>
=item C<< $dirb->send ($key, $data, ...) >>
=item C<< $dirb->send_locally ($key, $data, ...) >>
Send a message of C<$key> and optional C<$data> values. C<send> broadcasts
to all processes, including the current process, or C<send_locally> just to
the current process.
A send within the current process just means direct calls to functions
registered by C<connect> below. This takes place immediately within the
C<send> or C<send_locally>, there's no queuing and the current process
doesn't have to have a C<listen> active.
The data values can be anything C<Storable> can freeze (see L<Storable>).
For C<send_locally> there's no copying, the values are simply passed to the
connected functions, so the values can be anything at all.
=item C<< App::Chart::Glib::Ex::DirBroadcast->listen () >>
=item C<< $dirb->listen () >>
Create a named pipe in the broadcast directory to receive messages from
other processes, and setup a C<< Glib::IO->add_watch >> to call the
functions registered with C<connect> when a message is received.
=item C<< App::Chart::Glib::Ex::DirBroadcast->connect ($key, $subr) >>
=item C<< $dirb->connect ($key, $subr) >>
Connect coderef C<$subr> to be called for messages of C<$key>. The
arguments to C<$subr> are the data values passed to C<send>.
=item C<< App::Chart::Glib::Ex::DirBroadcast->connect_for_object ($key, $objsubr, $obj) >>
=item C<< $dirb->connect_for_object ($key, $osubr, $obj) >>
Connect coderef C<$osubr> to be called for notifications of C<$key>, for as
long as Perl object C<$obj> exists. C<$obj> is the first argument in each
call, followed by the notify data,
sub my_func {
my ($obj, $data...) = @_;
}
If C<$obj> is destroyed then C<$osubr> is no longer called. Only a weak
reference to C<$obj> is kept, so just because it wants to hear about some
notifications it won't keep it alive forever.
=back
=head1 SEE ALSO
L<Glib>, L<Glib::MainLoop>
=cut
( run in 0.520 second using v1.01-cache-2.11-cpan-df04353d9ac )