use Proxmox::Log;
-my sub send_msg : prototype($$) {
+my sub send_msg {
my ($type, %values) = @_;
my $json = to_json({ type => $type, %values }, { utf8 => 1, canonical => 1 });
print STDOUT "$json\n";
}
-my sub recv_msg : prototype() {
+my sub recv_msg {
my $response = <STDIN> // ''; # FIXME: error handling?
chomp($response);
sub message {
my ($self, $msg) = @_;
- &send_msg('message', message => $msg);
+ send_msg('message', message => $msg);
}
sub error {
my ($self, $msg) = @_;
log_error("error: $msg");
- &send_msg('error', message => $msg);
+ send_msg('error', message => $msg);
}
sub finished {
my $state = $success ? 'ok' : 'err';
log_info("finished: $state, $msg");
- &send_msg('finished', state => $state, message => $msg);
+ send_msg('finished', state => $state, message => $msg);
}
sub prompt {
my ($self, $query) = @_;
- &send_msg('prompt', query => $query);
- my $response = &recv_msg();
+ send_msg('prompt', query => $query);
+ my $response = recv_msg();
if (defined($response) && $response->{type} eq 'prompt-answer') {
return lc($response->{answer}) eq 'ok';
$text = '' if !defined($text);
- &send_msg('progress', ratio => $ratio, text => $text);
+ send_msg('progress', ratio => $ratio, text => $text);
}
sub process_events {