On Thu, 2015-01-15 at 14:40 +0800, Cosimo Cecchi wrote:
On Tue, Jan 13, 2015 at 4:08 PM, Philip Withnall <philip tecnocode co uk> wrote: I can’t think of any reasons why not. Perhaps a GDBus automake snippet could be installed by GLib which: 1. Installs D-Bus XML interface files. 2. Includes rules for building documentation and C/H files from them. 3. Validates the XML interface files for well-formedness. I think that would be really helpful; note that my goal here would be just to make things more convenient for developers and not to use it as a way to guarantee API stability of a service through auto-generated code. In that sense, I see your points 1), 3) and the first half of 2) as something typically used by the service, and the second half of 2) as something a consumer would call.
Yes, making sure the snippet doesn’t confuse the two use cases is a good point.
Another thing that to take into consideration is that some projects currently encode the location of the DBus interface xml into their pkgconfig file [1]. Is that something we should recommend? I believe if we had this snippet, the macro could just do a lookup following the usual rules of XDG_DATA_DIRS and we could avoid using pkgconfig, but perhaps I'm missing something.
IMO, no, we shouldn’t recommend that. The ‘${datadir}/dbus-1/interfaces’ path should be well known, and the interface files should follow the interface names, which are already hard-coded into the client code anyway (since it calls them). So we can avoid running pkg-config here. Philip
Attachment:
signature.asc
Description: This is a digitally signed message part