File Coverage

blib/lib/Email/Outlook/Message/AddressInfo.pm
Criterion Covered Total %
statement 28 32 87.5
branch 2 4 50.0
condition n/a
subroutine 11 12 91.6
pod 5 5 100.0
total 46 53 86.7


line stmt bran cond sub pod time code
1             package Email::Outlook::Message::AddressInfo;
2             =head1 NAME
3              
4             Email::Outlook::Message::AddressInfo - Handle addres data in .msg files
5              
6             =head1 DESCRIPTION
7              
8             This is an internal module of Email::Outlook::Message. It is a subclass of
9             Email::Outlook::Message::Base.
10              
11             =head1 METHODS
12              
13             =over 8
14              
15             =item B
16              
17             =item B
18              
19             =item B
20              
21             =item B
22              
23             =item B
24              
25             =back
26              
27             =head1 AUTHOR
28              
29             Matijs van Zuijlen, C
30              
31             =head1 COPYRIGHT AND LICENSE
32              
33             Copyright 2002--2014 by Matijs van Zuijlen
34              
35             This module is free software; you can redistribute it and/or modify
36             it under the same terms as Perl itself.
37              
38             =cut
39 7     7   45 use strict;
  7         16  
  7         177  
40 7     7   35 use warnings;
  7         14  
  7         149  
41 7     7   34 use Carp;
  7         14  
  7         425  
42 7     7   43 use base 'Email::Outlook::Message::Base';
  7         14  
  7         2135  
43              
44             our $MAP_ADDRESSITEM_FILE = {
45             '3001' => "NAME", # Real name
46             '3002' => "TYPE", # Address type
47             '403D' => "TYPE2", # Address type TODO: Not used
48             '3003' => "ADDRESS", # Address
49             '403E' => "ADDRESS2", # Address TODO: Not used
50             '39FE' => "SMTPADDRESS", # SMTP Address variant
51             };
52              
53             sub _property_map {
54 30     30   155 return $MAP_ADDRESSITEM_FILE;
55             }
56              
57             # DIR Entries: There should be none.
58             sub _process_subdirectory {
59 0     0   0 my ($self, $pps) = @_;
60 0         0 $self->_warn_about_unknown_directory($pps);
61 0         0 return;
62             }
63              
64 10     10 1 19 sub name { my $self = shift; return $self->property('NAME') }
  10         55  
65 5     5 1 20 sub address_type { my $self = shift; return $self->property('TYPE') }
  5         15  
66 5     5 1 9 sub address { my $self = shift; return $self->property('ADDRESS') }
  5         15  
67 5     5 1 10 sub smtp_address { my $self = shift; return $self->property('SMTPADDRESS') }
  5         12  
68              
69             sub display_address {
70 5     5 1 12 my $self = shift;
71 5         11 my $addresstext = $self->name . " <";
72 5 50       16 if (defined ($self->smtp_address)) {
    50          
73 0         0 $addresstext .= $self->smtp_address;
74             } elsif ($self->address_type eq "SMTP") {
75 5         18 $addresstext .= $self->address;
76             }
77 5         14 $addresstext .= ">";
78 5         15 return $addresstext;
79             }
80              
81 5     5   14 sub _property_stream_header_length { return 8; }
82              
83             1;