/** * @internal * @brief Initialize the simple xml parser module. * * @return #EINA_TRUE on success, #EINA_FALSE on failure. * * This function sets up the simple xml parser module of Eina. It is called by * eina_init(). * * @see eina_init() */ Eina_Bool eina_simple_xml_init(void) { const char *choice, *tmp; _eina_simple_xml_log_dom = eina_log_domain_register("eina_simple_xml", EINA_LOG_COLOR_DEFAULT); if (_eina_simple_xml_log_dom < 0) { EINA_LOG_ERR("Could not register log domain: eina_simple_xml"); return EINA_FALSE; } #ifdef EINA_DEFAULT_MEMPOOL choice = "pass_through"; #else choice = "chained_mempool"; #endif tmp = getenv("EINA_MEMPOOL"); if (tmp && tmp[0]) choice = tmp; _eina_simple_xml_tag_mp = eina_mempool_add (choice, "simple_xml_tag", NULL, sizeof(Eina_Simple_XML_Node_Tag), 32); if (!_eina_simple_xml_tag_mp) { ERR("Mempool for simple_xml_tag cannot be allocated in init."); goto on_init_fail; } _eina_simple_xml_attribute_mp = eina_mempool_add (choice, "simple_xml_attribute", NULL, sizeof(Eina_Simple_XML_Attribute), 8); if (!_eina_simple_xml_attribute_mp) { ERR("Mempool for simple_xml_attribute cannot be allocated in init."); eina_mempool_del(_eina_simple_xml_tag_mp); goto on_init_fail; } #define EMS(n) eina_magic_string_static_set(n, n ## _STR) EMS(EINA_MAGIC_SIMPLE_XML_TAG); EMS(EINA_MAGIC_SIMPLE_XML_DATA); EMS(EINA_MAGIC_SIMPLE_XML_ATTRIBUTE); #undef EMS return EINA_TRUE; on_init_fail: eina_log_domain_unregister(_eina_simple_xml_log_dom); _eina_simple_xml_log_dom = -1; return EINA_FALSE; }
/** * @internal * @brief Initialize the matrixsparse module. * * @return #EINA_TRUE on success, #EINA_FALSE on failure. * * This function sets up the matrixsparse module of Eina. It is called by * eina_init(). * * This function creates mempool to speed up matrix rows and cells * management, using EINA_MEMPOOL environment variable if it is set to * choose the memory pool type to use. * * @see eina_init() */ Eina_Bool eina_matrixsparse_init(void) { const char *choice, *tmp; _eina_matrixsparse_log_dom = eina_log_domain_register("eina_matrixsparse", EINA_LOG_COLOR_DEFAULT); if (_eina_matrixsparse_log_dom < 0) { EINA_LOG_ERR("Could not register log domain: eina_matrixsparse"); return EINA_FALSE; } #ifdef EINA_DEFAULT_MEMPOOL choice = "pass_through"; #else choice = "chained_mempool"; #endif tmp = getenv("EINA_MEMPOOL"); if (tmp && tmp[0]) choice = tmp; _eina_matrixsparse_cell_mp = eina_mempool_add (choice, "matrixsparse_cell", NULL, sizeof (Eina_Matrixsparse_Cell), 120); if (!_eina_matrixsparse_cell_mp) { ERR("Mempool for matrixsparse_cell cannot be allocated in matrixsparse init."); goto on_init_fail; } _eina_matrixsparse_row_mp = eina_mempool_add (choice, "matrixsparse_row", NULL, sizeof (Eina_Matrixsparse_Row), 120); if (!_eina_matrixsparse_row_mp) { ERR("Mempool for matrixsparse_row cannot be allocated in matrixsparse init."); goto on_init_fail; } #define EMS(n) eina_magic_string_static_set(n, n##_STR) EMS(EINA_MAGIC_MATRIXSPARSE); EMS(EINA_MAGIC_MATRIXSPARSE_ROW); EMS(EINA_MAGIC_MATRIXSPARSE_CELL); EMS(EINA_MAGIC_MATRIXSPARSE_ITERATOR); EMS(EINA_MAGIC_MATRIXSPARSE_ROW_ACCESSOR); EMS(EINA_MAGIC_MATRIXSPARSE_ROW_ITERATOR); EMS(EINA_MAGIC_MATRIXSPARSE_CELL_ACCESSOR); EMS(EINA_MAGIC_MATRIXSPARSE_CELL_ITERATOR); #undef EMS return EINA_TRUE; on_init_fail: eina_log_domain_unregister(_eina_matrixsparse_log_dom); _eina_matrixsparse_log_dom = -1; return EINA_FALSE; }
/** * @internal * @brief Initialize the array module. * * @return #EINA_TRUE on success, #EINA_FALSE on failure. * * This function sets up the error and magic modules or Eina. It is * called by eina_init(). * * @see eina_init() */ Eina_Bool eina_array_init(void) { _eina_array_log_dom = eina_log_domain_register("eina_array", EINA_LOG_COLOR_DEFAULT); if (_eina_array_log_dom < 0) { EINA_LOG_ERR("Could not register log domain: eina_array"); return EINA_FALSE; } #define EMS(n) eina_magic_string_static_set(n, n ## _STR) EMS(EINA_MAGIC_ARRAY); EMS(EINA_MAGIC_ARRAY_ITERATOR); EMS(EINA_MAGIC_ARRAY_ACCESSOR); #undef EMS return EINA_TRUE; }