};
#
+# This is a list of default values for the remote API. These
+# are used if the values are not registered by the library user.
+#
+my $remote_api = {
+ io => sub { print @_, "\n" },
+ config_init => \&_builtin_config_init,
+ config_get => \&_builtin_config_get,
+ config_set => \&_builtin_config_set,
+ config_has => \&_builtin_config_has,
+ config_save => \&_builtin_config_save,
+ config_del => \&_builtin_config_del,
+ color => sub { return '' },
+ module_path => sub { return dirname(realpath($0)) },
+ quote => sub { return $_ },
+ reload => sub {},
+};
+
+#
# List of known commands and handlers
#
my $videosite_commands = {
},
'reload' => sub {
- init();
+ $remote_api->{reload}->();
},
'mode' => sub {
};
#
-# This is a list of default values for the remote API. These
-# are used if the values are not registered by the library user.
-#
-my $remote_api = {
- io => sub { print @_, "\n" },
- config_init => \&_builtin_config_init,
- config_get => \&_builtin_config_get,
- config_set => \&_builtin_config_set,
- config_has => \&_builtin_config_has,
- config_save => \&_builtin_config_save,
- config_del => \&_builtin_config_del,
- color => sub { return '' },
- module_path => sub { return dirname(realpath($0)) },
- quote => sub { return $_ },
-};
-
-#
# Output a string on the client.
# Works like (s)printf in that it takes a format string and a list of
# values to be replaced. Undefined values will be printed as '(undef)'
# Save the config to durable storage
#
sub _cmd_save {
- $remote_api->{config_save}->();
+ if ($remote_api->{config_save}->()) {
+ _io("Config saved");
+ } else {
+ _io(sprintf("%sConfig save failed%s", _colorpair("*red"), _colorpair()));
+ }
}
#