On Tue, Aug 16, 2016 at 11:09 AM, Tom Hacohen <[email protected]> wrote: > On 16/08/16 14:48, Gustavo Sverzut Barbieri wrote: >> On Tue, Aug 16, 2016 at 7:08 AM, Tom Hacohen <[email protected]> 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. -- Gustavo Sverzut Barbieri -------------------------------------- Mobile: +55 (16) 99354-9890 ------------------------------------------------------------------------------ _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
