use Cts;
use CtsConfig;
-use JSON::PP;
+use JSON;
sub connectToCTS {
my $endpoint = shift;
my $query = $ENV{'QUERY_STRING'};
if ($query eq "init") {
- print JSON::PP->new->allow_blessed->convert_blessed->encode({
+ print JSON::XS->new->allow_blessed->convert_blessed->encode({
'registers' => $cts->getRegisters,
'properties' => $cts->getProperties
});
$result{$key} = $op eq "read" ? $reg->read() : $reg->format();
}
- print JSON::PP->new->allow_blessed->convert_blessed->encode(\%result);
+ print JSON::XS->new->allow_blessed->convert_blessed->encode(\%result);
} elsif ($query =~ /^write,([\w\d_,\.\[\]]+)$/) {
my @values = split /,/, $1;
my $regs = {};
}
}
- foreach my $key (keys $regs) {
+ foreach my $key (keys %$regs) {
my $reg = $cts->getRegisters->{$key};
#next unless defined $reg;
$reg->write($regs->{$key});
my $cache = {};
- foreach my $key (keys $self->{'_keys'}) {
+ foreach my $key (keys %{$self->{'_keys'}}) {
my $tmp;
my $reg = $self->{'_keys'}{$key};
my $cache = {};
- foreach my $key (keys $self->{'_keys'}) {
+ foreach my $key (keys %{$self->{'_keys'}}) {
my $tmp;
my $reg = $self->{'_keys'}{$key};
if (ref $values) {
my $valuesPerReg = {};
- foreach my $key (keys $values) {
+ foreach my $key (keys %$values) {
$valuesPerReg->{$self->{'_keys'}{$key}} = $values->{$key};
}
- foreach my $reg (keys $valuesPerReg) {
+ foreach my $reg (keys %$valuesPerReg) {
$reg->write( $valuesPerReg->{$reg} );
}
} else {
if (%{$self->{'_keys'}} > 1) {
warnings::warn("TrbSlicedRegister->write(): Scalar values are supported for exclusively defintions, containing only one slice");
} else {
- $self->{'_keys'}{ (keys $self->{'_keys'})[0] }->write( $values );
+ $self->{'_keys'}{ (keys %{$self->{'_keys'}})[0] }->write( $values );
+ #$self->{'_keys'}{ (keys %{$self->{'_keys'})[0]->write( $values )};
}
}
}
my $self = shift;
my %addresses = ();
- foreach my $key (keys $self->{'_keys'}) {
+ foreach my $key (keys %{$self->{'_keys'}}) {
$addresses{$self->{'_keys'}{$key}->getAddress} = 1;
}
# returns single address used by a randomly chosen slices
my $self = shift;
- my @keys= (keys $self->{'_keys'});
+ my @keys= (keys %{$self->{'_keys'}});
return $self->{'_keys'}->{ $keys[0] }->getAddress;
}
# TrbSlicedRegister->getSliceNames()
# returns an array reference containing all Slicenames
my $self = shift;
- return [sort keys $self->{'_keys'}];
+ return [sort keys %{$self->{'_keys'}}];
}
sub getAccessMode {
my $read = 1;
my $write = 1;
- foreach my $key (keys $self->{'_keys'}) {
+ foreach my $key (keys %{$self->{'_keys'}}) {
my $mode = $self->{'_keys'}{$key}->getAccessMode();
if ($mode eq "ro") {$write = 0;}
sub getOptions {{}}
-1;
\ No newline at end of file
+1;