Tizen Native API
5.5
|
These functions provide general initialization and shut down functions.
Functions | |
int | eina_init (void) |
Initializes the Eina library. | |
int | eina_shutdown (void) |
Shuts down the Eina library. | |
int | eina_threads_init (void) |
Initializes the mutexes of the Eina library. | |
int | eina_threads_shutdown (void) |
Shuts down mutexes in the Eina library. | |
Eina_Bool | eina_main_loop_is (void) |
Checks if you are calling this function from the same thread Eina was initialized or not. | |
void | eina_main_loop_define (void) |
You should never use this function except if you really really know what your are doing. | |
Typedefs | |
typedef struct _Eina_Version | Eina_Version |
Defines | |
#define | EINA_VERSION_MAJOR EFL_VERSION_MAJOR |
Definition for the major version of Eina. | |
#define | EINA_VERSION_MINOR EFL_VERSION_MINOR |
Definition for the minor version of Eina. |
Typedef Documentation
The version of Eina.
Function Documentation
int eina_init | ( | void | ) |
Initializes the Eina library.
- Returns:
1
or greater on success,0
on error.
This function sets up all the eina modules. It returns 0 on failure (that is, when one of the module fails to initialize), otherwise it returns the number of times it has already been called.
When Eina is not used anymore, call eina_shutdown() to shut down the Eina library.
This function is affected by the following environment variables.
Logging environment variables:
EINA_LOG_ABORT=1
will cause abort(3) ifEINA_LOG_ABORT_LEVEL
, which defaults to 0 (critical), is reached.
EINA_LOG_ABORT_LEVEL=LEVEL
, where level is an integer such as 0 (critical) to 4 (debug). This will cause any messages at that level or lower (i.e.: if 4, then messages at level 0 also apply) to abort(3) the application ifEINA_LOG_ABORT=1
was defined.
EINA_LOG_BACKTRACE=LEVEL
, where level is an integer such as 0 (critical) to 4 (debug). This will cause any messages at that level or lower (i.e.: if 4, then messages at level 0 also apply) to dump a backtrace. Note that if systemd-journal is used, it's going to the journal as well.
EINA_LOG_COLOR_DISABLE=
[0|1] if1
it will disable color in log output. If it's0
, it will keep colors. By default it will use colors if it's a TTY, disabling colors if it's printing to a file.
EINA_LOG_FILE_DISABLE=
[0|1] if1
it will disable showing the source file name and line that generated the message. If0
, the default, it will show the source file and line.
EINA_LOG_FUNCTION_DISABLE=
[0|1] if1
it will disable showing the source function name that generated the message. If0
, the default, it will show the function name.
EINA_LOG_LEVEL=LEVEL
, where level is an integer such as 0 (critical) to 4 (debug), where the number is the the highest level to print, that is, using level=4 will lead to messages of level 1, 2 and 3 to be displayed as well, but not level 5. This will control all log domains at once and has lower priority thanEINA_LOG_LEVELS
, that defines per-domain.
EINA_LOG_LEVELS=DOMAIN1:LEVEL1
,DOMAIN2:LEVEL2 is a comma separated list of tuples of DOMAIN and LEVEL values separated by a colon. Level is an integer such as 0 (critical) to 4 (debug), where the number is the the highest level to print, that is, using level=4 will lead to messages of level 1, 2 and 3 to be displayed as well, but not level 5. This offers fine grained control, allowing a single domain to be printed at debug (4) while keeping others at error (1) only. For instanceEINA_LOG_LEVELS=eina:2
,eina_binshare:4 will change eina's general purpose logging domain to warning (2) while will make the specific eina_binshare debug (4).
EINA_LOG_LEVELS_GLOB=PATTERN1:LEVEL1
,PATTERN2:LEVEL2 is a comma separated list of tuples of domain PATTERN and LEVEL values separated by a colon. PATTERN is a fnmatch(3) pattern that will try to match the domain name. Level is an integer such as 0 (critical) to 4 (debug), where the number is the the highest level to print, that is, using level=4 will lead to messages of level 1, 2 and 3 to be displayed as well, but not level 5. This offers fine grained control, allowing a single domain to be printed at debug (4) while keeping others at error (1) only. For instanceEINA_LOG_LEVELS_GLOB=eina*
:4 will change all domain names starting with "eina", such as "eina" (general purpose log domain) and "eina_binshare".
Memory allocator environment variables:
EINA_MEMPOOL=mempool_allocator
will choose another memory allocator to use. Commonly this is givenpass_through
as themempool_allocator
to allow valgrind and other tools to debug it more easily.
EINA_MEMPOOL_PASS=1
has the almost the same effect ofEINA_MEMPOOL=pass_through
, but if pass_through allocator wasn't built, it will use the original allocator.
EINA_MTRACE=1
andMALLOC_TRACE=PATH
will use mtrace(3) and store the memory allocation traces to givenPATH
.
Module loading environment variables:
EINA_MODULE_LAZY_LOAD=1
will dlopen(3) with RTLD_LAZY, this results in faster startup since symbols will be resolved when needed, but may omit errors as they will be triggered later on.
Threads environment variables:
EINA_DEBUG_THREADS=1
will print out debug information about threads, but requires Eina to be compiled with such feature.- Since :
- 3.0
- Examples:
- ecore_con_client_simple_example.c, ecore_con_server_simple_example.c, eina_accessor_01.c, eina_array_01.c, eina_array_02.c, eina_error_01.c, eina_file_01.c, eina_hash_01.c, eina_hash_02.c, eina_hash_03.c, eina_hash_04.c, eina_hash_05.c, eina_hash_06.c, eina_hash_07.c, eina_hash_08.c, eina_inarray_01.c, eina_inarray_02.c, eina_inarray_03.c, eina_inlist_01.c, eina_inlist_02.c, eina_inlist_03.c, eina_iterator_01.c, eina_list_01.c, eina_list_02.c, eina_list_03.c, eina_list_04.c, eina_log_01.c, eina_log_02.c, eina_log_03.c, eina_magic_01.c, eina_simple_xml_parser_01.c, eina_str_01.c, eina_strbuf_01.c, eina_stringshare_01.c, eina_tiler_01.c, eina_value_01.c, eina_value_02.c, eina_value_03.c, and menu_cxx_example_01.cc.
void eina_main_loop_define | ( | void | ) |
You should never use this function except if you really really know what your are doing.
- Since (EFL) :
- 1.1.0
If you are reading this documentation, that certainly means you don't know what is the purpose of this call and you should just not use it.
- Since :
- 3.0
Eina_Bool eina_main_loop_is | ( | void | ) |
Checks if you are calling this function from the same thread Eina was initialized or not.
- Returns:
- EINA_TRUE is the calling function is the same thread, EINA_FALSE otherwise.
- Since (EFL) :
- 1.1.0
Most EFL functions are not thread safe and all the calls need to happen in the main loop. With this call you could know if you can call an EFL function or not.
- Since :
- 3.0
int eina_shutdown | ( | void | ) |
Shuts down the Eina library.
- Returns:
0
when all the modules are completely shut down,1
or greater otherwise.
This function shuts down the Eina library. It returns 0 when it has been called the same number of times than eina_init(). In that case it shuts down all the Eina modules.
Once this function succeeds (that is, 0
is returned), you must not call any of the Eina functions anymore. You must call eina_init() again to use the Eina functions again.
- Since :
- 3.0
- Examples:
- ecore_con_client_simple_example.c, ecore_con_server_simple_example.c, eina_accessor_01.c, eina_array_01.c, eina_array_02.c, eina_error_01.c, eina_file_01.c, eina_hash_01.c, eina_hash_02.c, eina_hash_03.c, eina_hash_04.c, eina_hash_05.c, eina_hash_06.c, eina_hash_07.c, eina_hash_08.c, eina_inarray_01.c, eina_inarray_02.c, eina_inarray_03.c, eina_inlist_01.c, eina_inlist_02.c, eina_inlist_03.c, eina_iterator_01.c, eina_list_01.c, eina_list_02.c, eina_list_03.c, eina_list_04.c, eina_log_01.c, eina_log_02.c, eina_log_03.c, eina_magic_01.c, eina_simple_xml_parser_01.c, eina_str_01.c, eina_strbuf_01.c, eina_stringshare_01.c, eina_tiler_01.c, eina_value_01.c, eina_value_02.c, and eina_value_03.c.
int eina_threads_init | ( | void | ) |
Initializes the mutexes of the Eina library.
- Returns:
1
or greater on success,0
on error.
This function sets up all the mutexes in all eina modules. It returns 0 on failure (that is, when one of the module fails to initialize), otherwise it returns the number of times it has already been called.
When the mutexes are not used anymore, call eina_threads_shutdown() to shut down the mutexes.
This function should never be called outside of the main loop.
- Since :
- 3.0
int eina_threads_shutdown | ( | void | ) |
Shuts down mutexes in the Eina library.
- Returns:
0
when all mutexes are completely shut down,1
or greater otherwise.
This function shuts down the mutexes in the Eina library. It returns 0 when it has been called the same number of times than eina_threads_init(). In that case it shut down all the mutexes.
Once this function succeeds (that is, 0
is returned), you must not call any of the Eina functions in a thread anymore. You must call eina_threads_init() again to use the Eina functions in a thread again.
This function should never be called outside of the main loop.
- Since :
- 3.0
Variable Documentation
- Since :
- 3.0