+ $method->SetParameterValues( $state, {
+ param1 => 'value1',
+ param2 => 'value2',
+ ...
+ });
+
+It doesn't support base64 encoding of values yet.
+
+To preserve data, it does support repeatable parametar names.
+Behaviour on this is not defined in protocol.
+
+=cut
+
+sub SetParameterValues {
+ my $self = shift;
+ my $state = shift;
+
+ confess "SetParameterValues needs parameters" unless @_;
+
+ my $params = shift || return;
+
+ warn "# SetParameterValues = ", dump( $params ), "\n" if $self->debug;
+
+ $self->xml( $state, sub {
+ my ( $X, $state ) = @_;
+
+ $X->SetParameterValues( $cwmp,
+ $X->ParameterList( [],
+ map {
+ $X->ParameterValueStruct( [],
+ $X->Name( [], $_ ),
+ $X->Value( [], $params->{$_} )
+ )
+ } sort keys %$params
+ )
+ );
+ });
+}
+