Make saving the configuration more robust (#594)

* feat: Make saving the configuration more robust

* parse backup user config before return

* fix some bug

* Add write-userconfig.js and invalid-config.bin

* throw exception if failed user config parsing

* Merge branch 'master' into feat-467-make-save-more-robust

* hide keymaps and macros if agent in restore mode

* fix Device name settings
This commit is contained in:
Róbert Kiss
2018-04-09 10:11:26 +02:00
committed by László Monda
parent 00c5b69129
commit 13ec617d58
38 changed files with 1087 additions and 1903 deletions

View File

@@ -0,0 +1,33 @@
import { HardwareConfiguration, UhkBuffer, UserConfiguration } from '../../index';
export const getHardwareConfigFromDeviceResponse = (json: string): HardwareConfiguration => {
const data = JSON.parse(json);
const hardwareConfig = new HardwareConfiguration();
hardwareConfig.fromBinary(UhkBuffer.fromArray(data));
if (hardwareConfig.uniqueId > 0) {
return hardwareConfig;
}
return null;
};
export const getUserConfigFromDeviceResponse = (json: string): UserConfiguration => {
const data = JSON.parse(json);
const userConfig = new UserConfiguration();
userConfig.fromBinary(UhkBuffer.fromArray(data));
if (userConfig.userConfigMajorVersion > 0) {
return userConfig;
}
throw Error('Invalid user configuration');
};
export const mapObjectToUserConfigBinaryBuffer = (obj: any): Buffer => {
const configuration = new UserConfiguration();
configuration.fromJsonObject(obj);
const buffer = new UhkBuffer();
configuration.toBinary(buffer);
return buffer.getBufferContent();
};