Re: D bindings for Bonjour
On Wednesday, 28 October 2015 at 16:09:02 UTC, Cauterite wrote: On Wednesday, 28 October 2015 at 16:04:52 UTC, Vincent R wrote: [...] enum kDNSServiceOutputFlags = (kDNSServiceFlagsValidate | kDNSServiceFlagsValidateOptional | kDNSServiceFlagsMoreComing | kDNSServiceFlagsAdd | kDNSServiceFlagsDefault); Good luck :) I wanted to delete my post when I realize the stupidity of my question. Actually I ask my question before really looking at it. Sorry
Re: D bindings for Bonjour
V Wed, 28 Oct 2015 16:36:32 + Vincent R via Digitalmars-d-learnnapsáno: > On Wednesday, 28 October 2015 at 16:12:08 UTC, Vincent R wrote: > > On Wednesday, 28 October 2015 at 16:09:02 UTC, Cauterite wrote: > >> On Wednesday, 28 October 2015 at 16:04:52 UTC, Vincent R wrote: > >>> [...] > >> > >> enum kDNSServiceOutputFlags = (kDNSServiceFlagsValidate | > >> kDNSServiceFlagsValidateOptional | kDNSServiceFlagsMoreComing > >> | kDNSServiceFlagsAdd | kDNSServiceFlagsDefault); > >> > >> Good luck :) > > > > I wanted to delete my post when I realize the stupidity of my > > question. Actually I ask my question before really looking at > > it. > > Sorry > > Is there any central place where you store bindings ? code.dlang.org -- general place for every d project
Re: D bindings for Bonjour
On Wednesday, 28 October 2015 at 16:04:52 UTC, Vincent R wrote: Hi, I am starting my first project in D and I would like to do a Bonjour(Zeroconf) browser app. My first task is to write a binding to the dns_sd library but I have an issue with the following macro: #define kDNSServiceOutputFlags (kDNSServiceFlagsValidate | kDNSServiceFlagsValidateOptional | kDNSServiceFlagsMoreComing | kDNSServiceFlagsAdd | kDNSServiceFlagsDefault) It justs takes some enum (defined above but not shown here) and do a OR operation on it. How can I express that in D ? Do I need to use a template as shown here http://wiki.dlang.org/D_binding_for_C or a varg function ? Thanks enum kDNSServiceOutputFlags = (kDNSServiceFlagsValidate | kDNSServiceFlagsValidateOptional | kDNSServiceFlagsMoreComing | kDNSServiceFlagsAdd | kDNSServiceFlagsDefault); Good luck :)
D bindings for Bonjour
Hi, I am starting my first project in D and I would like to do a Bonjour(Zeroconf) browser app. My first task is to write a binding to the dns_sd library but I have an issue with the following macro: #define kDNSServiceOutputFlags (kDNSServiceFlagsValidate | kDNSServiceFlagsValidateOptional | kDNSServiceFlagsMoreComing | kDNSServiceFlagsAdd | kDNSServiceFlagsDefault) It justs takes some enum (defined above but not shown here) and do a OR operation on it. How can I express that in D ? Do I need to use a template as shown here http://wiki.dlang.org/D_binding_for_C or a varg function ? Thanks
Re: D bindings for Bonjour
On Wednesday, 28 October 2015 at 16:12:08 UTC, Vincent R wrote: On Wednesday, 28 October 2015 at 16:09:02 UTC, Cauterite wrote: On Wednesday, 28 October 2015 at 16:04:52 UTC, Vincent R wrote: [...] enum kDNSServiceOutputFlags = (kDNSServiceFlagsValidate | kDNSServiceFlagsValidateOptional | kDNSServiceFlagsMoreComing | kDNSServiceFlagsAdd | kDNSServiceFlagsDefault); Good luck :) I wanted to delete my post when I realize the stupidity of my question. Actually I ask my question before really looking at it. Sorry Is there any central place where you store bindings ?
Re: D bindings for Bonjour
On Wednesday, 28 October 2015 at 16:53:15 UTC, Daniel Kozák wrote: V Wed, 28 Oct 2015 16:36:32 + Vincent R via Digitalmars-d-learnnapsáno: On Wednesday, 28 October 2015 at 16:12:08 UTC, Vincent R wrote: > On Wednesday, 28 October 2015 at 16:09:02 UTC, Cauterite > wrote: >> On Wednesday, 28 October 2015 at 16:04:52 UTC, Vincent R >> wrote: >>> [...] >> >> enum kDNSServiceOutputFlags = (kDNSServiceFlagsValidate | >> kDNSServiceFlagsValidateOptional | >> kDNSServiceFlagsMoreComing | kDNSServiceFlagsAdd | >> kDNSServiceFlagsDefault); >> >> Good luck :) > > I wanted to delete my post when I realize the stupidity of my > question. Actually I ask my question before really looking at > it. > Sorry Is there any central place where you store bindings ? code.dlang.org -- general place for every d project Ok thanks. Sorry to ask so much question but how do you declare different calling conventions like the following macro: #if defined(_WIN32) #define DNSSD_API __stdcall #else #define DNSSD_API #endif From what I understand I could write: version (Windows) { extern (Windows) { int DNSServiceGetProperty ( in char *property, void *result, uint *size ); } } else { extern (C) { int DNSServiceGetProperty ( in char *property, void *result, uint *size ); } } but I don't want to write it once. How can I solve this ? And if there is an easy fix what about writing it inside the wiki page: http://wiki.dlang.org/D_binding_for_C Thanks
Re: D bindings for Bonjour
On Wednesday, 28 October 2015 at 17:07:32 UTC, Vincent R wrote: Sorry to ask so much question but how do you declare different calling conventions like the following macro: This specific case is common enough to be built into the language: use `extern(System)` instead of Windows or C and the one declaration will work on both. And if there is an easy fix what about writing it inside the wiki page: http://wiki.dlang.org/D_binding_for_C You can edit a wiki yourself!