Programming Facilities

This section is a general list of Ecore capabilities.

Job Handling

You can add and remove jobs (that call your functions) in the event loop of your application. The event loop and what ecore does with it are explained in a separate section.

Idle Handlers

You can define what your application does in its idle time. You can even define what it should do before entering and after exiting an idle state. Again this functionality is explained in a separate section.

Configuration management

Ecore does away with the traditional text based UNIX configuration files. Instead it employs configuration keys stored in binary (powered by the Eet storage library). You can even register listeners that are called when configuration changes. A separate section is devoted to storing/loading configuration too.

Process Spawning functions

An abstraction over UNIX fork, popen, exec, getpid system calls. You also have the ability to send individual UNIX signals to the processes spawned this way.

Data structures

A hash table, a linked list and a tree data structure are offered. A doubly linked list is available too. Notice that these implementations do not require Evas to be present (as we said before Evas includes code for some simple data structures too).

File monitoring

You are offered the ability to monitor a file descriptor and have a callback function when there is activity on the file managed by this descriptor (e.g. reading/writing).

Searching a file in a set of directories

Similar to the PATH variable on UNIX system where an executable is searched on a predefined set of directories, Ecore allows you to do this for any file your application wants. Of course the directories contained in the search set are defined by the programmer.

Ecore plugins

Loading additional Ecore plugins during run-time. The usual dlopen stuff.


Programmable timers. Complete with interval changing after the timer has already started.

Network Connections

An abstraction over BSD sockets. Can also use local UNIX sockets for localhost communication.

Framebuffer Utilities

Several helper functions for Framebuffer devices. Calibration stuff mostly. Backlight/Display and double click interval too.

Generic IPC

IPC is Inter Process Communication. An abstraction over UNIX IPC.

Ecore X

An abstraction over X. You don't need to use X specific functions to set the class/icon/title of your application any more. Display, windows, properties, synchronization/flushing, pixmap, geometry functions are available which wrap around the respective X function.

Ecore dbus

Dbus bindings. Dbus in an emerging technology offered as a standard. It is already used by Gnome and recently adopted by KDE. Its objective is system-wide IPC.