System Events
Ecore » Ecore main loop » Ecore Event functions

Ecore is aware of some system events that one may be interested, they are described below: More...

## Typedefs

typedef enum _Ecore_Memory_State | Ecore_Memory_State
typedef enum _Ecore_Power_State | Ecore_Power_State

## Enumerations

enum | _Ecore_Memory_State { ECORE_MEMORY_STATE_NORMAL , ECORE_MEMORY_STATE_LOW }
| Indicates current system memory state. More...
enum | _Ecore_Power_State { ECORE_POWER_STATE_MAINS , ECORE_POWER_STATE_BATTERY , ECORE_POWER_STATE_LOW }
| Indicates current system memory state. More...

## Functions

Ecore_Memory_State | ecore_memory_state_get (void)
| Gets the current status of memory on the system.
void | ecore_memory_state_set (Ecore_Memory_State state)
| Sets the memory state.
Ecore_Power_State | ecore_power_state_get (void)
| Gets the current power state.
void | ecore_power_state_set (Ecore_Power_State state)
| Sets the power state.

## Detailed Description

Ecore is aware of some system events that one may be interested, they are described below:

- ECORE_EVENT_MEMORY_STATE indicates system changed its free memory status, going to or being back from "low memory" state. When going to low memory state the libraries and applications may help the system by reducing memory usage, dropping caches and unused resources. The event carries no information, the current state should be queried with ecore_low_memory_get().
- ECORE_EVENT_POWER_STATE indicates system changed its battery level, going to or being back from "low battery" state. When going to low battery state the libraries and applications may help the system by reducing number of wake ups and processing, increasing Ecore_Animator frame time values, reducing the number of Ecore_Timer and Ecore_Idler or even going to extreme of trading quality over speed to finish tasks sooner. The event carries no information, the current state should be queried with ecore_low_battery_get().
- ECORE_EVENT_LOCALE_CHANGED indicates the system locale and/or language changed. This event carries no information and there is no ecore specific call to get the new locale. It is advised that the emitter of this event to set the new locale, for instance in POSIX one should call setlocale() before adding the event. Libraries and applications should then reload their resources and reformat their strings to use the new values.
- ECORE_EVENT_HOSTNAME_CHANGED indicates the system hostname changed. This event carries no information and the new value should be queried with platform specific calls, such as gethostname() on POSIX.
- ECORE_EVENT_SYSTEM_TIMEDATE_CHANGED indicates the system time or date changed. This may happen as result of Daylight Saving changes, NTP fixing the clock, changing timezones or user setting a new date manually. This event carries no information and the new value should be queried with ecore_time_unix_get() or platform specific such as gettimeofday()

## Enumeration Type Documentation

## _Ecore_Memory_State

enum _Ecore_Memory_State

Indicates current system memory state.

Since
  1.8

Enumerator
ECORE_MEMORY_STATE_NORMAL | The normal memory usage state. No need to do anything special here - operation as normal.
ECORE_MEMORY_STATE_LOW | The system is low on memory resources. This would indicate that it may be a good idea to free memory you don't need and minimize footprint to avoid general system problems.

## _Ecore_Power_State

enum _Ecore_Power_State

Indicates current system memory state.

Since
  1.8

Enumerator
ECORE_POWER_STATE_MAINS | The system is connected to a mains supply of power, thus there is no need to limit processing to save battery life at all.
ECORE_POWER_STATE_BATTERY | The system is running off battery power, but is otherwise running normally.
ECORE_POWER_STATE_LOW | The system is low on power (on battery) and the process should do its best to conserve power. For example it may reduce or suspend polling of network resources, turn off animations or reduce framerate etc.

## Function Documentation

## ecore_memory_state_get()

Ecore_Memory_State ecore_memory_state_get | ( | void |  | ) |

Gets the current status of memory on the system.

Returns
  The current memory state for the system as a whole.

Since
  1.8

## ecore_memory_state_set()

void ecore_memory_state_set | ( | Ecore_Memory_State | state | ) |

Sets the memory state.

Parameters

  state | The memory state to set.

This function will store information about the current memory state and if it changed will automatically create an ECORE_EVENT_MEMORY_STATE event.

Note
  This function should not be called by user, instead a monitoring entity that is system dependent. Usually an ecore module that is platform-specific.

Since
  1.8

References ecore_event_add(), and ECORE_EVENT_MEMORY_STATE.

## ecore_power_state_get()

Ecore_Power_State ecore_power_state_get | ( | void |  | ) |

Gets the current power state.

Returns
  The current power state for the system.

Since
  1.8

## ecore_power_state_set()

void ecore_power_state_set | ( | Ecore_Power_State | state | ) |

Sets the power state.

Parameters

  state | The power state to set.

This function will store information about the current power state and if it changed will automatically create an ECORE_EVENT_POWER_STATE event.

Note
  This function should not be called by user, instead a monitoring entity that is system dependent. Usually an ecore module that is platform-specific.

Since
  1.8

References ecore_event_add(), and ECORE_EVENT_POWER_STATE.