[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC] Generating Go bindings for libxl
George, > Are you up for taking a stab at something like `gengotypes.py`? I have was able to make a bit of progress on this over the weekend. I've started `gengotypes.py` in my branch[1]; the portion which generates `xenlight_types.go` (the counterpart to _libxl_types.h) is mostly working. The main exception is that I am not certain how the `KeyedUnion` type from the IDL should be translated for Go. One option is to do something similar to the `oneof` field in gRPC's protobuf messages[2]. Essentially, we would define a separate struct for each of the structs that belong to the union. Then, where a union would be used in C, we use an interface type which the previously defined structs implement. E.g. type isDomainTypeStruct interface { isDomainTypeStruct() } type domainTypeHVMStruct struct { ... } func (d domainTypeHVMStruct) isDomainTypeStruct() {} type DomainBuildInfo struct { ... Type DomainType dts isDomainTypeStruct } It is a bit ugly, but I think it's semantically the closest to 'KeyedUnion'. What are your thoughts? -NR [1] https://github.com/enr0n/xen/blob/gen-go-types/tools/golang/gengotypes.py [2] https://developers.google.com/protocol-buffers/docs/proto3#oneof _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |