On Mon, Nov 07, 2011 at 01:56:42PM +0000, Daniel P. Berrange wrote: > On Mon, Nov 07, 2011 at 02:52:24PM +0100, Christophe Fergeau wrote: > > At this point, I'm not sure what kind of low-level API we want to make > > available to the library user (by low-level, I mean letting people directly > > poke at the xmlNode wrapped in a GVirConfigObject instance). That's why I > > chose not to export them for now, and to make them public if/once they are > > needed. > > If you think they should be exported, I'll make the change. > > Personally I'd rather we didn't expose libxml2 data types in our public > API, since it feels like an admission of defeat in our object model. Actually, while adding a refcounted wrapper around xmlDoc, I've made more changes/added more helpers which should make it possible to hide these xmlNodePtr from our public API. We would expose either GVirConfigObject or GVirConfigXmlNode as a wrapper around xmlNodePtr and provide helpers to manipulate the xml content they wrap (stuff like new_child, set_attributes, ...) > So if we want to avoid exposing libxml2 types in our API, we should > ensure the header file in question doesn't get installed in /usr/include > too. Ah good point, didn't think about this. Time for some noinst_HEADERS in our Makefile.am. I also need to make sure libvirt-gconfig/libvirt-gconfig.h doesn't reference it. Christophe
Attachment:
pgp4pGWIk_gmq.pgp
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list