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.


-- 
Gustavo Sverzut Barbieri
--------------------------------------
Mobile: +55 (16) 99354-9890

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to