Subject: Re: binary plist support
To: Bill Stouder-Studenmund <wrstuden@netbsd.org>
From: Jachym Holecek <freza@NetBSD.org>
List: tech-kern
Date: 10/10/2007 09:24:29
# Bill Stouder-Studenmund 2007-10-09:
> On Sat, Oct 06, 2007 at 10:25:03PM +0200, Jachym Holecek wrote:
> > On the API side, binary encoding is created/parsed by the following
> > functions:
> >
> > bool prop_dictionary_binary_externalize(prop_dictionary_t, uint8_t **,
> > size_t *);
> > bool prop_dictionary_binary_externalize_to_file(prop_dictionary_t,
> > const char *);
> > prop_dictionary_t prop_dictionary_binary_internalize(uint8_t *, size_t);
>
> Will you be changing prop_dictionary_internalize() to accept either
> format? I think the current prop_dictionary_internalize() should become
> prop_dictionary_xml_internalize() and prop_dictionary_internalize() will
> differentiate.
I've kept the original names for XML, ie. prop_dictionary_internalize()
parses XML and ${...}_binary_internalize() the bplist format. On some
thought I think the application is responsible for choosing the right
format for its data, so I didn't want to put any transparency in the API.
The only exception is that ${...}_internalize_from_file() accepts both
formats (it tries XML first and failing that bplist) because it seemed
like a nice user convenience -- but I'm easy on this, we can introduce
${...}_binary_internalize_from_file() and keep the above convention.
-- Jachym