Merge efreet_mime efreet_trash into efreet

efreet_mime and efreet_trash are now included in libefreet.so. There are
compatible libs for libefreet_mime.so libefreet_trash.so, which simple
drag in libefreet.so. .pc files also are in place for compatibility.

efreet_init & shutdown now initializes and shutdowns trash and mime.
The old init functions now simply call efreet_init, efreet_init will
then init the trash or mime libs.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11807
This commit is contained in:
Marcel Hollerbach 2020-05-10 12:47:58 +02:00
parent b135341961
commit 3ec1101652
9 changed files with 85 additions and 71 deletions

View File

@ -167,6 +167,9 @@ EAPI void efreet_cache_disable(void);
*/
EAPI void efreet_cache_enable(void);
#include <Efreet_Mime.h>
#include <Efreet_Trash.h>
#undef EAPI
#define EAPI

View File

@ -94,6 +94,12 @@ efreet_init(void)
if (!efreet_util_init())
goto shutdown_efreet_menu;
if (!efreet_internal_mime_init())
goto shutdown_efreet_mime;
if (!efreet_internal_trash_init())
goto shutdown_efreet_trash;
#ifdef ENABLE_NLS
bindtextdomain(PACKAGE, LOCALE_DIR);
bind_textdomain_codeset(PACKAGE, "UTF-8");
@ -101,6 +107,10 @@ efreet_init(void)
return _efreet_init_count;
shutdown_efreet_trash:
efreet_internal_trash_shutdown();
shutdown_efreet_mime:
efreet_internal_mime_shutdown();
shutdown_efreet_menu:
efreet_menu_shutdown();
shutdown_efreet_desktop:
@ -146,6 +156,8 @@ efreet_shutdown(void)
efreet_xml_shutdown();
efreet_cache_shutdown();
efreet_base_shutdown();
efreet_internal_mime_shutdown();
efreet_internal_trash_shutdown();
IF_RELEASE(efreet_lang);
IF_RELEASE(efreet_lang_country);

View File

@ -348,21 +348,12 @@ _efreet_mimedb_glob_mime_get(unsigned int num)
/** --------------------------------- **/
EAPI int
efreet_mime_init(void)
int
efreet_internal_mime_init(void)
{
if (++_efreet_mime_init_count != 1)
return _efreet_mime_init_count;
if (!ecore_init())
return --_efreet_mime_init_count;
if (!ecore_file_init())
goto shutdown_ecore;
if (!efreet_init())
goto shutdown_ecore_file;
_efreet_mime_log_dom = eina_log_domain_register
("efreet_mime", EFREET_DEFAULT_LOG_COLOR);
@ -388,17 +379,11 @@ unregister_log_domain:
eina_log_domain_unregister(_efreet_mime_log_dom);
_efreet_mime_log_dom = -1;
shutdown_efreet:
efreet_shutdown();
shutdown_ecore_file:
ecore_file_shutdown();
shutdown_ecore:
ecore_shutdown();
return --_efreet_mime_init_count;
}
}
EAPI int
efreet_mime_shutdown(void)
int
efreet_internal_mime_shutdown(void)
{
if (_efreet_mime_init_count == 0)
{
@ -428,13 +413,22 @@ efreet_mime_shutdown(void)
IF_FREE_HASH(mime_icons);
eina_log_domain_unregister(_efreet_mime_log_dom);
_efreet_mime_log_dom = -1;
efreet_shutdown();
ecore_file_shutdown();
ecore_shutdown();
return _efreet_mime_init_count;
}
EAPI int
efreet_mime_init(void)
{
return efreet_init();
}
EAPI int
efreet_mime_shutdown(void)
{
return efreet_shutdown();
}
EAPI const char *
efreet_mime_type_get(const char *file)
{

View File

@ -114,7 +114,7 @@
/**
* macros that are used all around the code for message processing
* four macros are defined ERR, WRN, DGB, INF.
* four macros are defined ERR, WRN, DGB, INF.
* EFREET_MODULE_LOG_DOM should be defined individually for each module
*/
#ifdef CRI
@ -214,6 +214,12 @@ void efreet_desktop_shutdown(void);
int efreet_util_init(void);
int efreet_util_shutdown(void);
int efreet_internal_mime_init(void);
int efreet_internal_mime_shutdown(void);
int efreet_internal_trash_init(void);
int efreet_internal_trash_shutdown(void);
const char *efreet_home_dir_get(void);
void efreet_dirs_reset(void);

View File

@ -32,28 +32,25 @@ static const char *efreet_trash_dir = NULL;
# define getuid() GetCurrentProcessId()
#endif
EAPI int
efreet_trash_init(void)
int
efreet_internal_trash_init(void)
{
if (++_efreet_trash_init_count != 1)
return _efreet_trash_init_count;
if (!eina_init())
return --_efreet_trash_init_count;
_efreet_trash_log_dom = eina_log_domain_register
("efreet_trash", EFREET_DEFAULT_LOG_COLOR);
if (_efreet_trash_log_dom < 0)
{
EINA_LOG_ERR("Efreet: Could not create a log domain for efreet_trash");
eina_shutdown();
return --_efreet_trash_init_count;
}
return _efreet_trash_init_count;
}
EAPI int
efreet_trash_shutdown(void)
int
efreet_internal_trash_shutdown(void)
{
if (--_efreet_trash_init_count != 0)
return _efreet_trash_init_count;
@ -61,11 +58,22 @@ efreet_trash_shutdown(void)
IF_RELEASE(efreet_trash_dir);
eina_log_domain_unregister(_efreet_trash_log_dom);
_efreet_trash_log_dom = -1;
eina_shutdown();
return _efreet_trash_init_count;
}
EAPI int
efreet_trash_init(void)
{
return efreet_init();
}
EAPI int
efreet_trash_shutdown(void)
{
return efreet_shutdown();
}
EAPI const char*
efreet_trash_dir_get(const char *file)
{

View File

@ -25,7 +25,9 @@ efreet_src = [
'efreet_cache.c',
'efreet_private.h',
'efreet_xml.h',
'efreet_cache_private.h'
'efreet_cache_private.h',
'efreet_mime.c',
'efreet_trash.c'
]
efreet_deps = [eet, ecore, ecore_con, ecore_file, eo, efl, eina, emile, ecore_ipc, buildsystem,intl]
@ -46,50 +48,39 @@ efreet = declare_dependency(
dependencies: efreet_pub_deps,
)
efreet_mime_lib = library('efreet_mime',
'efreet_mime.c',
dependencies: efreet_pub_deps + [m, efreet, efreet_deps],
include_directories : config_dir + [include_directories('.')],
install: true,
c_args : package_c_args,
version : meson.project_version()
)
efreet_mime = declare_dependency(
include_directories: [include_directories('.')],
link_with: efreet_mime_lib,
dependencies: efreet_pub_deps
)
efreet_trash_lib = library('efreet_trash',
'efreet_trash.c',
dependencies: efreet_pub_deps + [efreet, efreet_deps],
include_directories : config_dir + [include_directories('.')],
install: true,
c_args : package_c_args,
version : meson.project_version()
)
efreet_trash = declare_dependency(
include_directories: [include_directories('.')],
link_with: efreet_trash_lib,
dependencies: efreet_pub_deps,
)
install_headers(efreet_header_src,
install_dir : dir_package_include,
)
pkgconfig.generate(efreet_mime_lib,
#Deprecated efreet libs
# everything and everyone should use efreet itself, efreet_mime and efreet_trash are contained in libefreet.so
# libefreet_mime.so and libefreet_trash.so will just have NEEDED on libefreet.so so the symbols get caught in like that
deprecated_efreet_mime_lib = library('efreet_mime',
dependencies: [efreet],
include_directories : config_dir + [include_directories('.')],
install: true,
version : meson.project_version()
)
deprecated_efreet_trash_lib = library('efreet_trash',
dependencies: efreet,
include_directories : config_dir + [include_directories('.')],
install: true,
version : meson.project_version()
)
pkgconfig.generate(efreet_lib,
name : 'efreet-mime',
description : 'Deprecated, please just use efreet',
subdirs : package_version_name,
version : version_major + '.' + version_minor + '.' + version_micro,
libraries : efreet_pub_deps,
)
pkgconfig.generate(efreet_trash_lib,
pkgconfig.generate(efreet_lib,
name : 'efreet-trash',
description : 'Deprecated, please just use efreet',
subdirs : package_version_name,
version : version_major + '.' + version_minor + '.' + version_micro,
libraries : efreet_pub_deps,

View File

@ -63,7 +63,7 @@ elif sys_bsd == true
eio_src += ['eio_monitor_kevent.c']
endif
eio_deps = [ecore, ecore_file, eet, eo, eina, efl, emile, efreet_mime]
eio_deps = [ecore, ecore_file, eet, eo, eina, efl, emile, efreet]
eio_pub_deps = [eina, eet]
eio_lib = library('eio',

View File

@ -949,9 +949,9 @@ elementary_src = [
'efl_ui_spotlight_animation_manager.c',
]
elementary_deps = [emile, eo, efl, edje, ethumb, ethumb_client, emotion, ecore_imf, ecore_con, eldbus, efreet, efreet_mime, efreet_trash, eio, atspi, dl, intl]
elementary_deps = [emile, eo, efl, edje, ethumb, ethumb_client, emotion, ecore_imf, ecore_con, eldbus, efreet, eio, atspi, dl, intl]
elementary_pub_deps = [eina, eet, evas, ecore, ecore_evas, ecore_file, ecore_input, ecore_imf, ecore_con,
edje, eldbus, efreet, efreet_mime, efreet_trash, ethumb_client, efl]
edje, eldbus, efreet, ethumb_client, efl]
elm_options = configuration_data()

View File

@ -31,7 +31,7 @@ efreet_test_src = [
'main.c'
]
efreet_test_deps = [check, efreet, ecore, ecore_file, efreet_mime, intl]
efreet_test_deps = [check, efreet, ecore, ecore_file, intl]
efreet_test = executable('efreet_test',
efreet_test_src,