ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/Net-XMPP2/lib/Net/XMPP2/IM/Presence.pm
Revision: 1.1
Committed: Sat Mar 17 12:27:57 2007 UTC (19 years, 8 months ago) by elmex
Branch: MAIN
Log Message:
some minor cleanups.

File Contents

# User Rev Content
1 elmex 1.1 package Net::XMPP2::IM::Presence;
2     use strict;
3     use Net::XMPP2::Util;
4     use Net::XMPP2::IM::Message;
5    
6     sub new {
7     my $this = shift;
8     my $class = ref($this) || $this;
9     bless { @_ }, $class;
10     }
11    
12     sub _set {
13     my ($self, %data) = @_;
14     $self->{show} = $data{show} || '';
15     $self->{priority} = $data{priority};
16     $self->{status} = $data{status};
17     }
18    
19     sub jid { $_[0]->{jid} }
20    
21     sub priority { $_[0]->{priority} }
22    
23     sub status_all_lang {
24     my ($self, $jid) = @_;
25     keys %{$self->{status} || []}
26     }
27    
28     sub show { $_[0]->{show} }
29    
30     sub status {
31     my ($self, $lang) = @_;
32    
33     if (defined $lang) {
34     return $self->{status}->{$lang}
35     } else {
36     return $self->{status}->{''}
37     if defined $self->{status}->{''};
38     return $self->{status}->{en}
39     if defined $self->{status}->{en};
40     }
41    
42     undef
43     }
44    
45     sub make_message {
46     my ($self) = @_;
47     Net::XMPP2::IM::Message->new (
48     connection => $self->{connection},
49     to => $self->jid
50     );
51     }
52    
53     sub debug_dump {
54     my ($self) = @_;
55     printf " * %-30s [%-5s] (%3d) {%s}\n",
56     $self->jid,
57     $self->show || '',
58     $self->priority || 0,
59     $self->status || '',
60     }
61    
62     1;