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 |
|
|
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 ) = @_; |
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 |
); |
); |
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 |
|
|
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 ) = @_; |