+
+ $X->SetParameterValues( $cwmp,
+ $X->ParameterList( $cwmp,
+ $X->ParameterNames( $cwmp,
+ map {
+ $X->ParameterValueStruct( $cwmp,
+ $X->Name( $cwmp, $_ ),
+ $X->Value( $cwmp, $params->{$_} )
+ )
+ } sort keys %$params
+ )
+ )
+ );
+ });
+}
+
+
+=head2 GetParameterValues
+
+ $method->GetParameterValues( $state, [ 'ParameterName', ... ] );
+
+=cut
+
+sub _array_param {
+ my $v = shift;
+ confess "array_mandatory(",dump($v),") isn't ARRAY" unless ref($v) eq 'ARRAY';
+ return @$v;
+}
+
+sub GetParameterValues {
+ my $self = shift;
+ my $state = shift;
+ my @ParameterNames = _array_param(shift);
+ warn "# GetParameterValues", dump( @ParameterNames ), "\n" if $self->debug;
+
+ $self->xml( $state, sub {
+ my ( $X, $state ) = @_;
+
+ $X->GetParameterValues( $cwmp,
+ $X->ParameterNames( $cwmp,
+ map {
+ $X->string( $xsd, $_ )
+ } @ParameterNames
+ )
+ );