File Coverage

blib/lib/FIX/Lite/Dictionary.pm
Criterion Covered Total %
statement 6 31 19.3
branch 0 2 0.0
condition 0 3 0.0
subroutine 2 4 50.0
pod 0 2 0.0
total 8 42 19.0


line stmt bran cond sub pod time code
1             package FIX::Lite::Dictionary;
2              
3 1     1   6 use warnings;
  1         2  
  1         27  
4 1     1   5 use strict;
  1         1  
  1         211  
5              
6             my $fixDict = {};
7              
8             sub load($) {
9 0     0 0   my $ver = shift;
10 0 0         if ( !defined $fixDict->{$ver} ) {
11              
12 0           require("FIX/Lite/$ver.pm");
13              
14 0           my $f = eval "FIX::Lite::${ver}::getFix()";
15              
16             ##
17             # parse messages,fields and components and build hashes for faster access
18             #
19 0           $f->{hMessages} = {};
20 0           for my $a ( @{ $f->{messages} } ) {
  0            
21              
22 0           $f->{hMessages}->{ $a->{msgtype} } = $a;
23 0           $f->{hMessages}->{ $a->{name} } = $a;
24             }
25 0           $f->{hFields} = {};
26 0           for my $a ( @{ $f->{fields} } ) {
  0            
27 0           $f->{hFields}->{ $a->{name} } = $a;
28 0           $f->{hFields}->{ $a->{number} } = $a;
29             }
30 0           $f->{hComponents} = {};
31 0           for my $a ( @{ $f->{components} } ) {
  0            
32 0           $f->{hComponents}->{ $a->{name} } = $a;
33             }
34              
35 0           $fixDict->{$ver} = $f;
36             }
37             }
38              
39             sub new ($) {
40 0     0 0   my $proto = shift;
41              
42 0   0       my $class = ref($proto) || $proto;
43 0           my $self = {};
44 0           bless( $self, $class );
45 0           $self = $fixDict->{FIX44};
46              
47 0           return $self;
48             }
49              
50             1;