E_CONFIG_LIMIT(e_config->pointer_thread_mode, 0, 1);
}
-EINTERN int
-e_config_save(void)
-{
- _e_config_save_cb(NULL);
- return e_config_domain_save("e", _e_config_edd, e_config);
-}
-
E_API void
e_config_save_queue(void)
{
e_util_env_set("E_CONF_PROFILE", _e_config_profile);
}
-EINTERN char *
-e_config_profile_dir_get(const char *prof)
-{
- char buf[PATH_MAX];
-
- e_user_dir_snprintf(buf, sizeof(buf), "config/%s", prof);
- if (ecore_file_is_dir(buf)) return strdup(buf);
- e_prefix_data_snprintf(buf, sizeof(buf), "data/config/%s", prof);
- if (ecore_file_is_dir(buf)) return strdup(buf);
- return NULL;
-}
-
-static int
-_cb_sort_files(char *f1, char *f2)
-{
- return strcmp(f1, f2);
-}
-
-EINTERN Eina_List *
-e_config_profile_list(void)
-{
- Eina_List *files;
- char buf[PATH_MAX], *p;
- Eina_List *flist = NULL;
- size_t len;
-
- len = e_user_dir_concat_static(buf, "config");
- if (len + 1 >= (int)sizeof(buf))
- return NULL;
-
- files = ecore_file_ls(buf);
-
- buf[len] = '/';
- len++;
-
- p = buf + len;
- len = sizeof(buf) - len;
- if (files)
- {
- char *file;
-
- files = eina_list_sort(files, 0, (Eina_Compare_Cb)_cb_sort_files);
- EINA_LIST_FREE(files, file)
- {
- if (eina_strlcpy(p, file, len) >= len)
- {
- free(file);
- continue;
- }
- if (ecore_file_is_dir(buf))
- flist = eina_list_append(flist, file);
- else
- free(file);
- }
- }
- len = e_prefix_data_concat_static(buf, "data/config");
- if (len + 1 >= sizeof(buf))
- return NULL;
-
- files = ecore_file_ls(buf);
-
- buf[len] = '/';
- len++;
-
- p = buf + len;
- len = sizeof(buf) - len;
- if (files)
- {
- char *file;
- files = eina_list_sort(files, 0, (Eina_Compare_Cb)_cb_sort_files);
- EINA_LIST_FREE(files, file)
- {
- if (eina_strlcpy(p, file, len) >= len)
- {
- free(file);
- continue;
- }
- if (ecore_file_is_dir(buf))
- {
- const Eina_List *l;
- const char *tmp;
- EINA_LIST_FOREACH(flist, l, tmp)
- if (!strcmp(file, tmp)) break;
-
- if (!l) flist = eina_list_append(flist, file);
- else free(file);
- }
- else
- free(file);
- }
- }
- return flist;
-}
-
-EINTERN void
-e_config_profile_add(const char *prof)
-{
- char buf[4096];
- if (e_user_dir_snprintf(buf, sizeof(buf), "config/%s", prof) >= sizeof(buf))
- return;
- ecore_file_mkdir(buf);
-}
-
EINTERN void
e_config_profile_del(const char *prof)
{
EINTERN int e_config_shutdown(void);
EINTERN void e_config_load(void);
-EINTERN int e_config_save(void);
EINTERN const char *e_config_profile_get(void);
-EINTERN char *e_config_profile_dir_get(const char *prof);
EINTERN void e_config_profile_set(const char *prof);
-EINTERN Eina_List *e_config_profile_list(void);
-EINTERN void e_config_profile_add(const char *prof);
EINTERN void e_config_profile_del(const char *prof);
EINTERN void e_config_save_block_set(int block);
EINTERN int e_config_save_block_get(void);