Resolve KASM-4489 "Feature/ watermark time"
This commit is contained in:
committed by
Matthew McClaskey
parent
9450157af1
commit
25a996cb97
37
unix/KasmVNC/CallbackValidator.pm
Normal file
37
unix/KasmVNC/CallbackValidator.pm
Normal file
@@ -0,0 +1,37 @@
|
||||
package KasmVNC::CallbackValidator;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use v5.10;
|
||||
use Data::Dumper;
|
||||
|
||||
use KasmVNC::Utils;
|
||||
|
||||
sub new {
|
||||
my ($class, $args) = @_;
|
||||
my $self = bless {
|
||||
isValidCallback => $args->{isValidCallback},
|
||||
errorMessage => $args->{errorMessage}
|
||||
}, $class;
|
||||
}
|
||||
|
||||
sub validate {
|
||||
my $self = shift;
|
||||
$self->{configKey} = shift;
|
||||
my @values = @{ listify($self->{configKey}->value()) };
|
||||
|
||||
foreach my $value (@values) {
|
||||
$self->validateValue($value);
|
||||
}
|
||||
}
|
||||
|
||||
sub validateValue {
|
||||
my $self = shift;
|
||||
my $value = shift;
|
||||
|
||||
unless ($self->{isValidCallback}($value)) {
|
||||
$self->{configKey}->addErrorMessage($self->{errorMessage});
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
@@ -45,6 +45,8 @@ sub isPresent {
|
||||
sub deriveBoolean {
|
||||
my $value = shift;
|
||||
|
||||
return $value if containsWideSymbols($value);
|
||||
|
||||
switch($value) {
|
||||
case 'true' {
|
||||
return 1;
|
||||
@@ -63,4 +65,12 @@ sub printStackTrace {
|
||||
print { *STDERR } $trace->as_string;
|
||||
}
|
||||
|
||||
sub containsWideSymbols {
|
||||
my $string = shift;
|
||||
|
||||
return 1 unless defined($string);
|
||||
|
||||
$string =~ /[^\x00-\xFF]/;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
Reference in New Issue
Block a user