File Coverage

blib/lib/Net/Lyskom/Membership.pm
Criterion Covered Total %
statement 15 62 24.1
branch 0 2 0.0
condition n/a
subroutine 5 18 27.7
pod 11 12 91.6
total 31 94 32.9


line stmt bran cond sub pod time code
1             package Net::Lyskom::Membership;
2 1     1   6 use base qw{Net::Lyskom::Object};
  1         3  
  1         92  
3 1     1   6 use strict;
  1         4  
  1         34  
4 1     1   6 use warnings;
  1         3  
  1         46  
5              
6 1     1   6 use Net::Lyskom::Time;
  1         2  
  1         26  
7 1     1   6 use Net::Lyskom::Util qw{:all};
  1         1  
  1         727  
8              
9             =head1 NAME
10              
11             Net::Lyskom::Membership - conference membership information object
12              
13             =head1 SYNOPSIS
14              
15             print "The last text this user read was ", $obj->last_text_read;
16              
17             =head1 DESCRIPTION
18              
19             All this object's methods are read-only and take no arguments. For
20             details on the meaning of the returned information, see the protocol spec.
21              
22             =head2 Methods
23              
24             =over
25              
26             =item ->position()
27              
28             =item ->last_time_read()
29              
30             Returns a L object.
31              
32             =item ->conference()
33              
34             =item ->priority()
35              
36             =item ->last_text_read()
37              
38             =item ->read_texts()
39              
40             Returns a list.
41              
42             =item ->added_by()
43              
44             =item ->added_at()
45              
46             Returns a L object.
47              
48             =item ->invitation()
49              
50             =item ->passive()
51              
52             =item ->secret()
53              
54             =back
55              
56             =cut
57              
58             #' Stupid XEmacs...
59              
60 0     0 1   sub position {my $s=shift; return $s->{position}}
  0            
61 0     0 1   sub last_time_read {my $s=shift; return $s->{last_time_read}}
  0            
62 0     0 1   sub conference {my $s=shift; return $s->{conference}}
  0            
63 0     0 1   sub priority {my $s=shift; return $s->{priority}}
  0            
64 0     0 1   sub last_text_read {my $s=shift; return $s->{last_text_read}}
  0            
65 0     0 1   sub read_texts {my $s=shift; return @{$s->{read_texts}}}
  0            
  0            
66 0     0 1   sub added_by {my $s=shift; return $s->{added_by}}
  0            
67 0     0 1   sub added_at {my $s=shift; return $s->{added_at}}
  0            
68              
69 0     0 1   sub invitation {my $s=shift; return $s->{invitation}}
  0            
70 0     0 1   sub passive {my $s=shift; return $s->{passive}}
  0            
71 0     0 1   sub secret {my $s=shift; return $s->{secret}}
  0            
72              
73             sub new_from_stream {
74 0     0 0   my $s = {};
75 0           my $class = shift;
76 0           my $ref = shift;
77              
78 0 0         $class = ref($class) if ref($class);
79 0           bless $s,$class;
80              
81 0           $s->{position} = shift @{$ref};
  0            
82 0           $s->{last_time_read} = Net::Lyskom::Time->new_from_stream($ref);
83 0           $s->{conference} = shift @{$ref};
  0            
84 0           $s->{priority} = shift @{$ref};
  0            
85 0           $s->{last_text_read} = shift @{$ref};
  0            
86 0     0     $s->{read_texts} = [parse_array_stream(sub{shift @{$_[0]}},$ref)];
  0            
  0            
87 0           $s->{added_by} = shift @{$ref};
  0            
88 0           $s->{added_at} = Net::Lyskom::Time->new_from_stream($ref);
89 0           my $type = shift @{$ref};
  0            
90              
91 0           ($s->{invitation},$s->{passive},$s->{secret}) = $type =~ /./g;
92              
93 0           return $s;
94             }
95             1;