registro
El objeto registro le permite leer y escribir en el registro del reproductor (es decir, la memoria persistente). El registro consta de secciones de registro con nombre, y cada sección de registro contiene entradas (pares clave/valor).
IDL de registry
interface Registry {
Promise<String> read(String sectionName, String key);
Promise<RegistrySection> read(String sectionName);
Promise<RegistryObject> read();
Promise<void> write(String sectionName, String key, String value);
Promise<void> write(String sectionName, RegistrySection section);
Promise<void> write(RegistryObject);
Promise<void> flush();
};Creación de objetos
Para crear un objeto registro , primero cargue el módulo brightsign/registry usando el método require() . Luego cree una instancia de la clase registro .
var registryClass = require("@brightsign/registry");
var registry = new registryClass();Registro
Utilice esta interfaz para operaciones de lectura/escritura del registro.
Todos los nombres de secciones y claves se convierten a minúsculas de forma canónica.
read()
Promise<String> read(String sectionName, String key)Devuelve el valor de cadena del registro asociado con la clave especificada. También debe especificar la sección del registro donde se almacena la clave.
Promise<RegistrySection> read(String sectionName)Devuelve la sección del registro especificada en el siguiente formato: RegistrySection.{entry_key}.
Promise<RegistryObject> read()Devuelve todas las secciones del registro en el siguiente formato: RegistryObject.{section_name}.{entry_key}.
write()
Promise<void> write(String sectionName, String key, String value)Escribe una única entrada del registro en la sección de registro especificada.
Promise<void> write(String sectionName, RegistrySection section)Escribe la sección de registro especificada en el registro. Si la sección de registro no existe, se creará; de lo contrario, las entradas se agregarán o actualizarán en la sección de registro existente (las entradas de registro preexistentes que no se especifiquen en la operación de escritura no se verán afectadas).
Promise<void> write(RegistryObject)Escribe las secciones/entradas de registro especificadas en el registro. Las secciones y entradas de registro que no existan se crearán, y las entradas existentes se actualizarán (las secciones/entradas de registro preexistentes que no se especifiquen en la operación de escritura no se verán afectadas).
El método write() de entrada única no tendrá un buen rendimiento cuando se utilice para escribir múltiples entradas sucesivamente. Para un rendimiento óptimo, utilice el método write() de sección única para escribir múltiples entradas en una sola sección y el método de registro completo para escribir en múltiples secciones.
Como máximo sesenta segundos después de una escritura en el registro, o antes de un reinicio ordenado, los datos recién escritos se escribirán automáticamente en el almacenamiento persistente. Si por alguna razón un conjunto de cambios del registro debe escribirse inmediatamente, entonces se debe llamar al método flush() después del último.
Si bien es posible leer el registro completo, modificar el valor devuelto y volver a escribirlo en el registro, esta no es una práctica recomendada: puede causar condiciones de carrera entre diferentes partes del sistema que intentan escribir en el registro al mismo tiempo.
flush()
Promise<void> flush()Vacía inmediatamente el contenido del registro en el almacenamiento persistente.
Para eliminar una entrada o sección del registro, asígnele un valor null .
Ejemplo
var registryClass = require("@brightsign/registry");
var registry = new registryClass();
//Reads the entire registry to the log.
registry.read().then(function(registry) {
console.log(JSON.stringify(registry));
});
//Reads the contents of the "networking" registry to the log.
registry.read("networking").then(
function(registry){console.log(JSON.stringify(registry));});
//Writes multiple entries to multiple sections.
registry.write({networking:{ssh:"22", http_server:"8080"}, autorun:{devicesetupcomplete:"1"}} ).then(
function(){console.log("Write Successful");});
//Updates a single section.
registry.write("networking", {ssh:"22", http_server:"8080"}).then(
function(){console.log("Write Successful");});
//Deletes a registry section and entry, and creates a new section.
registry.write({networking:{ssh:"22", http_server:null}, autorun:null, section1:{test:"val"}} ).then(
function(){console.log("Write Successful");});