On Thu, Jun 14, 2018 at 04:54:43PM +0100, Daniel P. Berrangé wrote:
On Thu, Jun 14, 2018 at 04:30:29PM +0200, Erik Skultety wrote:
> Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
> ---
> domain.go | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 134 insertions(+), 1 deletion(-)
>
> diff --git a/domain.go b/domain.go
> index aeeb24a..27e2fdc 100644
> --- a/domain.go
> +++ b/domain.go
> @@ -1863,6 +1863,15 @@ type DomainFeatureCapability struct {
> State string `xml:"state,attr,omitempty"`
> }
>
> +type DomainLaunchSecurity struct {
> + Sectype string `xml:"type,attr"`
Oh, actually I forgot that I aim to avoid ever exposing "type" attributes
in the XML - they are a sign that we need to use a union.
IOW, we would want
type DomainLaunchSecurity struct {
SEV *DomainLaunchSecuritySEV
}
And DomainLaunchSecuritySEV would contain the rest of the fields
below - this requires more magic MarshalXML/UnmarshalXML helpers
to create/serialize the SEV struct depending on 'type' value.
If you want a simple example of how this is done which is a good
fit with DomainLaunchSecurity, take a look at NetworkForwardAddress
and NetworkForwardAddressPCI structs, in the network.go file, and
their corresponding MarshalXML/UnmarshalXML methods.
> + Cbitpos *uint `xml:"cbitpos"`
s/Cbitpos/CBitPos/
> + ReducedPhysBits *uint `xml:"reducedPhysBits"`
> + Policy *uint `xml:"policy"`
> + DhCert string `xml:"dhCert"`
s/DhCert/DHCert/ since 'dh' is an acronym
> + Session string `xml:"sesion"`
> +}
> +
> type DomainFeatureCapabilities struct {
> Policy string `xml:"policy,attr,omitempty"`
> AuditControl *DomainFeatureCapability `xml:"audit_control"`
> @@ -2182,7 +2191,8 @@ type Domain struct {
> QEMUCommandline *DomainQEMUCommandline
> LXCNamespace *DomainLXCNamespace
> VMWareDataCenterPath *DomainVMWareDataCenterPath
> - KeyWrap *DomainKeyWrap `xml:"keywrap"`
> + KeyWrap *DomainKeyWrap `xml:"keywrap"`
> + LaunchSecurity *DomainLaunchSecurity `xml:"launchSecurity"`
> }
>
> func (d *Domain) Unmarshal(doc string) error {
Reviewed-by: Daniel P. Berrangé <berrange(a)redhat.com>
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|