/[cwmp]/google/trunk/lib/CWMP/Methods.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/Methods.pm

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

revision 198 by dpavlin, Sun Oct 28 19:47:30 2007 UTC revision 199 by dpavlin, Wed Nov 14 18:16:14 2007 UTC
# Line 84  sub GetRPCMethods { Line 84  sub GetRPCMethods {
84    
85  =head2 SetParameterValues  =head2 SetParameterValues
86    
87    $method->SetParameterValues( $state,    $method->SetParameterValues( $state, {
88          param1 => 'value1',          param1 => 'value1',
89          param2 => 'value2',          param2 => 'value2',
90          ...          ...
91    );    });
92    
93  It doesn't support base64 encoding of values yet.  It doesn't support base64 encoding of values yet.
94    
# Line 103  sub SetParameterValues { Line 103  sub SetParameterValues {
103    
104          confess "SetParameterValues needs parameters" unless @_;          confess "SetParameterValues needs parameters" unless @_;
105    
106          my @params = @_;          my $params = shift || return;
107    
108          my ( @names, @values );          warn "# SetParameterValues = ", dump( $params ), "\n" if $self->debug;
   
         while ( @_ ) {  
                 push @names, shift @_;  
                 push @values, shift @_;  
         }  
   
         confess "can't convert params ", dump( @params ), " to name/value pairs" unless $#names == $#values;  
   
         warn "# SetParameterValues", dump( @params ), "\n" if $self->debug;  
109    
110          $self->xml( $state, sub {          $self->xml( $state, sub {
111                  my ( $X, $state ) = @_;                  my ( $X, $state ) = @_;
# Line 125  sub SetParameterValues { Line 116  sub SetParameterValues {
116                                          map {                                          map {
117                                                  $X->ParameterValueStruct( $cwmp,                                                  $X->ParameterValueStruct( $cwmp,
118                                                          $X->Name( $cwmp, $_ ),                                                          $X->Name( $cwmp, $_ ),
119                                                          $X->Value( $cwmp, shift @values )                                                          $X->Value( $cwmp, $params->{$_} )
120                                                  )                                                  )
121                                          } @names                                          } sort keys %$params
122                                  )                                  )
123                          )                          )
124                  );                  );
# Line 137  sub SetParameterValues { Line 128  sub SetParameterValues {
128    
129  =head2 GetParameterValues  =head2 GetParameterValues
130    
131    $method->GetParameterValues( $state, $ParameterNames );    $method->GetParameterValues( $state, [ 'ParameterName', ... ] );
132    
133  =cut  =cut
134    
135    sub _array_param {
136            my $v = shift;
137            confess "array_mandatory(",dump($v),") isn't ARRAY" unless ref($v) eq 'ARRAY';
138            return @$v;
139    }
140    
141  sub GetParameterValues {  sub GetParameterValues {
142          my $self = shift;          my $self = shift;
143          my $state = shift;          my $state = shift;
144          my @ParameterNames = @_;          my @ParameterNames = _array_param(shift);
145          confess "GetParameterValues need ParameterNames" unless @ParameterNames;          confess "GetParameterValues need ParameterNames" unless @ParameterNames;
146          warn "# GetParameterValues", dump( @ParameterNames ), "\n" if $self->debug;          warn "# GetParameterValues", dump( @ParameterNames ), "\n" if $self->debug;
147    
# Line 163  sub GetParameterValues { Line 160  sub GetParameterValues {
160    
161  =head2 GetParameterNames  =head2 GetParameterNames
162    
163    $method->GetParameterNames( $state, $ParameterPath, $NextLevel );    $method->GetParameterNames( $state, [ $ParameterPath, $NextLevel ] );
164    
165  =cut  =cut
166    
167  sub GetParameterNames {  sub GetParameterNames {
168          my ( $self, $state, $ParameterPath, $NextLevel ) = @_;          my ( $self, $state, $param ) = @_;
169          $ParameterPath ||= '';  # all          # default: all, all
170          $NextLevel ||= 0;               # all          my ( $ParameterPath, $NextLevel ) = _array_param( $param );
171            $ParameterPath ||= '';
172            $NextLevel ||= 0;
173          warn "# GetParameterNames( '$ParameterPath', $NextLevel )\n" if $self->debug;          warn "# GetParameterNames( '$ParameterPath', $NextLevel )\n" if $self->debug;
174          $self->xml( $state, sub {          $self->xml( $state, sub {
175                  my ( $X, $state ) = @_;                  my ( $X, $state ) = @_;

Legend:
Removed from v.198  
changed lines
  Added in v.199

  ViewVC Help
Powered by ViewVC 1.1.26