vox-core
Version:
Runtime de aplicaciones multiplataforma
121 lines (97 loc) • 3.17 kB
JavaScript
var registry= require("_registry.js");
var RegistryKey;
var System= core.System;
var Registry= module.exports=function(){
}
Registry._registry= registry
Registry.getValue=function(){
throw new System.Exception("Este método no está soportado. Use en cambio getValueAsync");
}
Registry.setValue=function(){
throw new System.Exception("Este método no está soportado. Use en cambio setValueAsync");
}
Registry.getValueAsync=function(){
throw new System.Exception("Aún no ha sido cargado este tipo. Utilice Registry.ready(callback) para utilizar Microsoft.Win32.Registry");
}
Registry.setValueAsync=function(){
throw new System.Exception("Aún no ha sido cargado este tipo. Utilice Registry.ready(callback) para utilizar Microsoft.Win32.Registry");
}
// Obsoleto ...
Registry._ready=function(/* Function */ func){
if(typeof func=="function"){
if(registry.$allOk||registry.$currentError){
Registry.ready.g();
return func(registry.$currentError);
}
else{
if(!Registry.ready.i){
var f=function(){
//vw.info("here", registry);
if(registry.$allOk||registry.$currentError){
Registry.ready.g();
Registry.ready.d.forEach(function(fu){
return fu(registry.$currentError);
});
}
else{
setTimeout(f,60);
}
}
Registry.ready.d=[];
Registry.ready.i=setTimeout(f,60);
}
Registry.ready.d.push(func);
}
}
}
var tasks=[];
registry.task.oncomplete= function(){
if(!registry.task.exception){
registry.$allOk= true;
}
Registry.ready.g();
var task
while(task= tasks.shift()){
task.exception= registry.task.exception;
task.result= registry.task.result;
task.finish();
}
}
Registry.ready= function(){
var task= core.VW.Task.get(arguments);
if(registry.task.executing){
tasks.push(task);
}
else{
task.exception= registry.task.exception;
task.result= registry.task.result;
task.finish();
}
return task;
}
Registry.ready.g=function(){
if(!Registry.ready.G){
Registry.ready.G=true;
if(!registry.$allOk){
return;
}
Registry.classesRoot= RegistryKey._from(registry.classesRoot);
Registry.classesRoot._keyname= "HKEY_CLASSES_ROOT";
Registry.currentConfig= RegistryKey._from(registry.currentConfig);
Registry.currentConfig._keyname= "HKEY_CURRENT_CONFIG";
Registry.currentUser= RegistryKey._from(registry.currentUser);
Registry.currentUser._keyname= "HKEY_CURRENT_USER";
Registry.dynData= RegistryKey._from(registry.dynData);
Registry.dynData._keyname= "HKEY_DYN_DATA";
Registry.localMachine= RegistryKey._from(registry.localMachine);
Registry.localMachine._keyname= "HKEY_LOCAL_MACHINE";
Registry.performanceData= RegistryKey._from(registry.performanceData);
Registry.performanceData._keyname= "HKEY_PERFORMANCE_DATA";
Registry.users= RegistryKey._from(registry.users);
Registry.users._keyname= "HKEY_USERS";
Registry.getValueAsync=registry.GetValue;
Registry.setValueAsync=registry.SetValue;
Registry.$registryKey=registry.$registryKey;
}
};
RegistryKey= require("./RegistryKey.js");