[382] in BarnOwl Developers
[D-O-H] r523 - in trunk: . owl/perl/lib/Net/Jabber
daemon@ATHENA.MIT.EDU (nelhage@MIT.EDU)
Thu Oct 29 18:05:33 2009
Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
Date: Thu, 11 Jan 2007 17:29:21 -0500
To: dirty-owl-hackers@mit.edu
From: nelhage@MIT.EDU
Reply-To: dirty-owl-hackers@MIT.EDU
Author: nelhage
Date: 2007-01-11 17:29:21 -0500 (Thu, 11 Jan 2007)
New Revision: 523
Modified:
trunk/
trunk/owl/perl/lib/Net/Jabber/MUC.pm
Log:
r17948@phanatique: nelhage | 2007-01-11 17:26:44 -0500
Some stupid Net::Jabber::MUC bugfixes.
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- bb873fd7-8e23-0410-944a-99ec44c633eb:/branches/owl/filter-rewrite:15925
bb873fd7-8e23-0410-944a-99ec44c633eb:/local/d-o-h/trunk:17947
+ bb873fd7-8e23-0410-944a-99ec44c633eb:/branches/owl/filter-rewrite:15925
bb873fd7-8e23-0410-944a-99ec44c633eb:/local/d-o-h/trunk:17948
Modified: trunk/owl/perl/lib/Net/Jabber/MUC.pm
===================================================================
--- trunk/owl/perl/lib/Net/Jabber/MUC.pm 2007-01-11 22:29:14 UTC (rev 522)
+++ trunk/owl/perl/lib/Net/Jabber/MUC.pm 2007-01-11 22:29:21 UTC (rev 523)
@@ -54,7 +54,7 @@
my $jid = $args{jid};
$jid = Net::Jabber::JID->new($jid) unless UNIVERSAL::isa($jid, 'Net::Jabber::JID');
$args{jid} = $jid;
- } else if($args{room} && $args{server} && $args{nick}) {
+ } elsif($args{room} && $args{server} && $args{nick}) {
$args{jid} = New::Jabber::JID->new($args{room}."@".$args{server}."/".$args{nick});
} else {
croak("You must specify either a jid or room,server,nick.");
@@ -165,7 +165,7 @@
my $self = shift;
my $sid = shift;
my $packet = shift;
-
+
$self->_handlePresence($packet) if $packet->GetTag() eq "presence";
}
@@ -180,13 +180,15 @@
my $presence = shift;
my $type = $presence->GetType() || "available";
- my $from = $presence->GetFrom();
+ my $from = Net::Jabber::JID->new($presence->GetFrom());
- return unless $from->GetJid('base') eq $self->BaseJID;
+ return unless $from->GetJID('base') eq $self->BaseJID;
- if($type eq 'available') {
+ owl::error('JID matches');
+
+ if($type eq 'unavailable') {
delete $self->{PRESENCE}->{$from->GetJID('full')};
- } else {
+ } elsif($type eq 'available') {
$self->{PRESENCE}->{$from->GetJID('full')} = $from;
}
}
@@ -214,5 +216,7 @@
sub Presence {
my $self = shift;
- return keys %{$self->{PRESENCE}};
+ return values %{$self->{PRESENCE}};
}
+
+1;