use super::{Builtin, Registry};
use crate::typed_builtin;
use vb6runtime::library::environment::delete_setting::delete_setting;
use vb6runtime::library::environment::environ::environ;
use vb6runtime::library::environment::environ_dollar::environ_dollar;
use vb6runtime::library::environment::error::error;
use vb6runtime::library::environment::error_dollar::error_dollar;
use vb6runtime::library::environment::getallsettings::get_all_settings;
use vb6runtime::library::environment::getautoserversettings::get_auto_server_settings;
use vb6runtime::library::environment::getsetting::get_setting;
use vb6runtime::library::environment::savesetting::save_setting;
pub(super) fn register(registry: &mut Registry) {
registry.insert(typed_builtin!("environ", 1, 1, (arg: variant),
environ(arg)));
registry.insert(typed_builtin!("environ$", 1, 1, (arg: variant),
environ_dollar(arg)));
registry.insert(typed_builtin!("error", 0, 1, (errornumber: opt_variant),
error(errornumber)));
registry.insert(typed_builtin!("error$", 0, 1, (errornumber: opt_variant),
error_dollar(errornumber)));
registry.insert(typed_builtin!("getsetting", 3, 4,
(appname: string, section: string, key: string, default: opt_string),
get_setting(&appname, §ion, &key, default.as_ref())));
registry.insert(typed_builtin!("savesetting", 4, 4,
(appname: string, section: string, key: string, value: string),
save_setting(&appname, §ion, &key, &value)));
registry.insert(typed_builtin!("deletesetting", 2, 3,
(appname: string, section: string, key: opt_string),
delete_setting(&appname, §ion, key.as_ref())));
registry.insert(typed_builtin!(
"imestatus",
0,
0,
(),
vb6runtime::library::environment::imestatus::imestatus()
));
registry.insert(typed_builtin!("getallsettings", 2, 2,
(appname: string, section: string),
get_all_settings(&appname, §ion)));
registry.insert(typed_builtin!("getautoserversettings", 3, 3,
(progid: string, clsid: string, machine: string),
get_auto_server_settings(&progid, &clsid, &machine)));
}