The EFLxx is the complete rework of the old EFLpp C++ wrapper library, It's now splitted in one library for each C library instead of one big monolithic library.
Get it from SVN: e/trunk/BINDINGS/cxx
Supported Libraries
| Lib Category | Library | Function | Description | Coverage (*) |
| Core | Evas evasxx | Graphics | Canvas object and rendering | Essential ? |
| Core | Edje edjexx | Graphics | Higher level graphical object abstraction | Essential ? |
| Core | Eina einaxx | Utility | Data structures and utilities | Nothing |
| Core | Eet eetxx | Utility | Data encoding and decoding to and from files or memory | Full |
| Core | Ecore ecorexx | System | Core loop and OS interfacing libraries | Essential (as needed for Evas only) |
| Core | Efreet | System | Freedesktop.org standards compliance | ? |
| Core | E_Dbus | System | DBus usage convenience library | ? |
| Core | Eeze | System | UDev access library | ? |
| Core? | Embryo | Utility? | Embedded Small Interpreter | ? |
| Extra | Elementary | Graphics | Widget set library | Design finished, but some widgets missing |
| Extra | Emotion | Graphics | Media playback integration library | Basic API working, but most functions not wrapped |
| Extra | Eio | Utility | Efficient I/O over file system (cp, mv, rm, stat, ls...) | ? |
| Extra | Ethumb | Utility | Creates thumbnail images, videos and documents | ? |
| Extra | Evil? | System | Windows compatibility layer | ? |
| Extra | EWebKit | Web | Web runtime and browser core | ? |
| ? | ESmart? esmartxx | ? | ? | Design finished, but some parts missing |
| ? | Etk? etkxx | ? | ? | Working, but design needs rework |
| ? | Ewl? ewlxx | ? | ? | Working, but design needs rework |
| (Core) | eflxx | Support | C++ base library | Working, but needs rework |
| --- | eflxx_examples | - | Examples for the EFLxx libraries | Mostly working, but needs more work |
(*) Coverage terms:
- Barebones - just started
- Essential - covers the minimum
- Good - covers what most developers would use
- Full - everything has bindings
Design
TODO: Some works about the general design...
How to compile EFLxx without installing
- edit ~/.profile
SVNH=$HOME/src/svn EFLXX=$SVNH/e/trunk/BINDINGS/cxx EFL_PKG=$EFLXX/eflxx/:$EFLXX/evasxx:$EFLXX/edjexx:$EFLXX/esmartxx:$EFLXX/ecorexx:$EFLXX/eetxx:$EFLXX/etkxx:$EFLXX/ewlxx:$EFLXX/emotionxx:$EFLXX/elementaryxx:$EFLXX/einaxx PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$EFL_PKG
- execute ./compile.sh with the needed options in svn/e/trunk/BINDINGS/cxx
Logging
If the compile.sh script fails it generates a log file in the logs directory. This file contains more information about the problem.
