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.