On 16/08/16 15:27, Tom Hacohen wrote: > On 16/08/16 15:19, Gustavo Sverzut Barbieri wrote: >> On Tue, Aug 16, 2016 at 11:09 AM, Tom Hacohen <t...@osg.samsung.com> wrote: >>> On 16/08/16 14:48, Gustavo Sverzut Barbieri wrote: >>>> On Tue, Aug 16, 2016 at 7:08 AM, Tom Hacohen <t...@osg.samsung.com> wrote: >>>>> On 16/08/16 04:38, Gustavo Sverzut Barbieri wrote: >>>>>> it seems at the end was a missing "#define ..._PROTECTED" in the .c >>>>>> file that includes the generated .eo.c. >>>>>> >>>>>> I wonder: shouldn't the generated .eo.c write: >>>>>> #ifndef ..._PROTECTED >>>>>> #define ..._PROTECTED >>>>>> #endif >>>>>> >>>>> >>>>> No. The .eo.c should be included at the end of the .c file and the .eo.h >>>>> is at the beginning. You need to define the protected before the .h. >>>> >>>> what about one of these in the .eo.c: >>>> >>>> 1 - define the methods and maybe warn the user (would help me) >>>> #ifndef .._PROTECTED >>>> // replicate all methods locally to avoid issues >>>> #warning "you should define ..._PROTECTED before including .eo.c" >>>> EAPI ... methods...() >>>> #endif >>>> >>>> >>>> 2 - fail >>>> #ifndef ..._PROTECTED >>>> #error "Your class/interface/mixin declares @protected methods, you >>>> must define ..._PROTECTED before including .eo.c otherwise it won't >>>> work" >>>> #endif >>> >>> Maybe we should just get rid of this define altogether... If your code >>> works without the define, then there's nothing in the .eo.c that should >>> require it. So I guess this is just extraneous and should be removed. >>> >>> Daniel? >> >> AFAIU the symbol won't be exported and will result in NULL being used. >> >> If you remove the PROTECT define, then you either need to generate >> another file (ie: .eo.protected.h) or it will always be accessible to >> wider public. >> >> I'm not sure there is any blocker from external users calling >> protected stuff other than hiding the symbol. >> >> > > No, you got me wrong, I meant remove the define from the .eo.c and keep > it in the .eo.h. > > I don't see a case where you would want to not have this piece of code > included in the .eo.c.
According to Daniel there are no ifdefs in the .eo.c... So I don't understand the problem... -- Tom. ------------------------------------------------------------------------------ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel