/[cwmp]/google/trunk/lib/CWMP/Request.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /google/trunk/lib/CWMP/Request.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 92 by dpavlin, Sat Jun 23 09:15:19 2007 UTC revision 93 by dpavlin, Sat Jun 23 09:20:03 2007 UTC
# Line 7  use XML::Rules; Line 7  use XML::Rules;
7  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
8  use Carp qw/confess cluck/;  use Carp qw/confess cluck/;
9    
10    my $debug = 0;
11    
12  =head1 NAME  =head1 NAME
13    
14  CWMP::Request - parse SOAP request  CWMP::Request - parse SOAP request
# Line 117  my $parser = XML::Rules->new( Line 119  my $parser = XML::Rules->new(
119                          # XXX dragons ahead: convert name to tree rewriting it into perl                          # XXX dragons ahead: convert name to tree rewriting it into perl
120    
121                          my $s = $name;                          my $s = $name;
122                          warn "===> $name\n";                          warn "===> $name\n" if $debug;
123                          $s =~ s/^([^\.]+)/\$state->{ParameterInfo}->{'$1'}/;                          $s =~ s/^([^\.]+)/\$state->{ParameterInfo}->{'$1'}/;
124                          warn "---> $s\n";                          warn "---> $s\n"  if $debug;
125    
126                          my $stat;                          my $stat;
127                          while ( $s =~ s/\.(\d+)/->[$1]/ ) {                          while ( $s =~ s/\.(\d+)/->[$1]/ ) {
128                                  $stat->{array}++;                                  $stat->{array}++;
129                                  warn "-\@-> $s\n";                                  warn "-\@-> $s\n" if $debug;
130                          }                          }
131                          while ( $s =~ s/\.([a-zA-Z0-9_]+)/->{'$1'}/ ) {                          while ( $s =~ s/\.([a-zA-Z0-9_]+)/->{'$1'}/ ) {
132                                  $stat->{scalar}++;                                  $stat->{scalar}++;
133                                  warn "-\$-> $s\n";                                  warn "-\$-> $s\n" if $debug;
134    
135                          };                          };
136                          $s .= "->{'writable'} = $writable;";                          $s .= "->{'writable'} = $writable;";
137    
138                          warn "## $name\n## tree: $s\n## stat: ",dump( $stat ), "\n";                          warn "## $name\n## tree: $s\n## stat: ",dump( $stat ), "\n" if $debug;
139    
140                          eval "$s";                          eval "$s";
141                          confess "can't eval $s : $@" if ($@);                          confess "can't eval $s : $@" if ($@);

Legend:
Removed from v.92  
changed lines
  Added in v.93

  ViewVC Help
Powered by ViewVC 1.1.26