From abd7b903a9589076ccd5eccf1e5591471a284cfd Mon Sep 17 00:00:00 2001 From: "James W. Brinkerhoff" Date: Thu, 30 May 2024 15:21:33 -0400 Subject: [PATCH] Add supermicro.Unmarshal() to config --- config/asrockrack.go | 5 +++++ config/dell.go | 5 +++++ config/interface.go | 1 + config/supermicro.go | 5 +++++ 4 files changed, 16 insertions(+) diff --git a/config/asrockrack.go b/config/asrockrack.go index 51c995b..25a0a3b 100644 --- a/config/asrockrack.go +++ b/config/asrockrack.go @@ -105,6 +105,11 @@ func (cm *asrockrackVendorConfig) Marshal() (string, error) { } } +func (cm *asrockrackVendorConfig) Unmarshal(cfgData string) (biosConfig *supermicroConfig, err error) { + err = xml.Unmarshal([]byte(cfgData), biosConfig) + return +} + // Generic config options func (cm *asrockrackVendorConfig) EnableTPM() { diff --git a/config/dell.go b/config/dell.go index 4bfc882..388ca36 100644 --- a/config/dell.go +++ b/config/dell.go @@ -129,6 +129,11 @@ func (cm *dellVendorConfig) Marshal() (string, error) { } } +func (cm *dellVendorConfig) Unmarshal(cfgData string) (biosConfig *dellConfig, err error) { + err = xml.Unmarshal([]byte(cfgData), biosConfig) + return +} + // Generic config options func (cm *dellVendorConfig) EnableTPM() { diff --git a/config/interface.go b/config/interface.go index 9684cce..95c1669 100644 --- a/config/interface.go +++ b/config/interface.go @@ -12,6 +12,7 @@ type VendorConfigManager interface { Raw(name, value string, menuPath []string) Marshal() (string, error) + Unmarshal(cfgData string) (biosConfig *supermicroConfig, err error) } func NewVendorConfigManager(configFormat, vendorName string, vendorOptions map[string]string) (VendorConfigManager, error) { diff --git a/config/supermicro.go b/config/supermicro.go index 25fd02e..d802e73 100644 --- a/config/supermicro.go +++ b/config/supermicro.go @@ -114,6 +114,11 @@ func (cm *supermicroVendorConfig) Marshal() (string, error) { } } +func (cm *supermicroVendorConfig) Unmarshal(cfgData string) (biosConfig *supermicroConfig, err error) { + err = xml.Unmarshal([]byte(cfgData), biosConfig) + return +} + // Generic config options func (cm *supermicroVendorConfig) EnableTPM() {