UNPKG

vox-core

Version:

Runtime de aplicaciones multiplataforma

58 lines (47 loc) 1.93 kB
var registry=module.exports; var csfromjs= core.VW.Clr.Manager.current; // require("csfromjs"); var registryClass= csfromjs.get("Microsoft.Win32.Registry") /*.staticMethod("GetValue").staticMethod("SetValue").staticField("ClassesRoot") .staticField("CurrentConfig").staticField("CurrentUser").staticField("DynData") .staticField("LocalMachine").staticField("PerformanceData").staticField("Users"); */ var registryKeyClass= csfromjs.get("Microsoft.Win32.RegistryKey") /*.method("CreateSubKey").method("DeleteSubKey").method("DeleteValue") .method("Flush").method("ToString").method("GetSubKeyNames") .method("GetValue").method("GetValueKind").method("GetValueNames") .method("OpenSubKey").method("SetValue").property("Name") .property("SubKeyCount").property("ValueCount") */ registry.$registryKey=registryKeyClass; var fields=["getClassesRoot","getCurrentConfig", "getCurrentUser", "getDynData", "getLocalMachine","getPerformanceData", "getUsers"]; var fields2=["classesRoot","currentConfig", "currentUser", "dynData", "localMachine","performanceData", "users"]; var fields3=["ClassesRoot","CurrentConfig", "CurrentUser", "DynData", "LocalMachine","PerformanceData", "Users"]; // James! (07-03-2016) // Se reemplazan callbacks por task ... registry.task= new core.VW.Task() var task1= registryClass.loadMembers() task1.oncomplete= function(){ if(task1.exception){ registry.task.exception= task1.exception return registry.task.finish() } var getData=function(i){ var field=fields[i]; if(field){ registryClass.native=false; var task= registryClass[field]() task.oncomplete= function(){ if(task.exception){ registry.task.exception= task.exception return registry.task.finish() } registry[fields2[i]]= task.result; getData(i+1); }; } else{ registry.task.finish() } } getData(0); }