Hi,

On 17 August 2016 at 04:55, Gustavo Sverzut Barbieri <barbi...@gmail.com>
wrote:

> On Tue, Aug 16, 2016 at 3:37 PM, Tom Hacohen <t...@stosb.com> wrote:
> > No, that is a no go, because you don't always want to methods as EAPI
> > (think internal classes).
>

All eo symbols are currently marked as EOAPI which means EAPI EAPI_WEAK.
So there is no such thing as a purely internal class at the moment, at
least not with eolian_gen.


> > The correct thing would be to add the warning/error.
>
> what are you talking about? It's the same that .eo.h does if you
> properly #define ..._PROTECTED... I'm not suggesting to change that
> behavior, just to auto-fix for the user when that is possible.
>

Remember that on Windows you have 4 different versions of EAPI:
1. dllexport used when compiling the library
2. dllimport used from outside the library
3. defined to nothing, when compiling a file in the library but without
DLL_EXPORT defined (note: no idea how it gets defined... autofoo magic?) No
idea when this happens.
4. reset to nothing, at the end of the main header

One way or another, EAPI is already there in the eo.c file. I believe for
Linux it would need to be added to the function signature (not only its
implementation). But for Windows this will not work as EAPI is reset at
that point.

So the best you can do is error out if the eo.c file is included and
PROTECTED isn't defined.

-- 
Jean-Philippe André
------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to