Chapter 5. Understanding the Ecore Infrastructure Library

Table of Contents

Using Ecore in your programs
Programming Facilities
Configuration with Ecore
The Event Loop

Ecore is the glue that holds all the EFL libraries together. You can use most EFL libraries by themselves but Ecore gives you the plumbing you need to make them work all together in an elegant way. It also gives you additional programming constructs that will make EFL development a little easier.

Using Ecore in your programs

Unlike Evas and Edje, Ecore is a non-GUI library. Although it deals with graphics in a sense (abstracting some X functions for example) you can perfectly program a command line application in Ecore. Ecore is the foundation of the EFL family implementing job handling, networking functions, timers, configuration management, IPC, and several other aspects of an application that you would have to write yourself if your program used only Evas/Edje.

You might think that Ecore is to EFL what Glib is to GTK+. This is only partially true. While Glib is the non-GUI part of GTK+ which is even used by non-GTK+ apps, in practice all GTK+ applications depend on Glib. Ecore in contrast, is an add-on library that boosts your EFL application. It should be clear from the previous chapters that you can use only Evas for an application.

As with Evas engines all different modules of Ecore (IPC, Jobs, X abstraction e.t.c.) come in different libraries in your system so you can selectively choose what you want to link with your application. If your system does not employ the DBUS daemon for example you can leave out the ecore_dbus module during linking. For a console application you can leave out the ecore_x module and so on.

The next section briefly covers the Ecore capabilities.