AOL-TOC
view release on metacpan or search on metacpan
#print "register_callback() func $func for chan $chan adding to $self->{callback}{$chan}\n";
#print " self $self selfcb = $self->{callback}\n";
push (@{$self->{callback}{$chan}}, $func);
@{$self->{callback}{$func}} = @args;
return;
}
sub clear_callbacks {
my ($self) = @_;
my $k;
print "...............C SFLAP clear_callbacks\n";
for $k (keys %{$self->{callback}}) {
print ".............C Clear key ($k)\n";
delete $self->{callback}{$k};
}
print "...............S SFLAP scan callbacks\n";
for $k (keys %{$self->{callback}}) {
print ".............S Scan key ($k)\n";
}
}
sub callback {
my ($self, $chan, @args) = @_;
my $func;
return;
}
sub close {
my ($self) = @_;
my $k;
print "sflap close\n";
$self->clear_callbacks();
#CORE::close($self->{fd});
return;
}
sub set_debug {
my ($self, $level) = @_;
$self->{debug_level} = $level;
my $func;
for $func (@{$self->{callback}{$event}}) {
eval { &{$func} ($self, @args, @{$self->{callback}{$func}}) };
}
return;
}
sub clear_callbacks {
my ($self) = @_;
my $k;
print "................ TOC clear_callbacks\n";
for $k (keys %{$self->{callback}}) {
print ".............. Clear key ($k)\n";
delete $self->{callback}{$k};
}
print "...............S TOC scan callbacks\n";
for $k (keys %{$self->{callback}}) {
print ".............S Scan key ($k)\n";
}
}
sub new {
my ($tochost, $authorizer, $port, $nickname, $password) = @_;
my ($self, $ipaddr, $sflap);
$self->register_callback("SIGN_ON", \&check_version);
$self->register_callback("CHAT_JOIN", \&_chat_join);
$self->{sflap}->connect();
}
sub close {
my ($self) = @_;
my $k;
$self->clear_callbacks();
$self->{sflap}->close();
}
sub check_version {
my ($self, $version) = @_;
if ($version > $TOC_VERSION) {
$self->destroy();
}
( run in 0.277 second using v1.01-cache-2.11-cpan-9b1e4054eb1 )