summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertise.dev>2020-10-24 09:16:10 -0300
committerFelipe Magno de Almeida <felipe@expertise.dev>2020-12-14 13:22:33 -0300
commit9818a8105ebdbafaea5d402377145582d11fb729 (patch)
treef9e382a24f7b3f7b0550624966cbec884b4d21ac
parent21674baf68b2bb719a20d6827e69a1d56970308c (diff)
efreet: Rename EAPI macro to EFREET_API in Efreet library
Patch from a series of patches to rename EAPI symbols to specific library DSOs. EAPI was designed to be able to pass ```__attribute__ ((visibility ("default")))``` for symbols with GCC, which would mean that even if -fvisibility=hidden was used when compiling the library, the needed symbols would get exported. MSVC __almost__ works like GCC (or mingw) in which you can declare everything as export and it will just work (slower, but it will work). But there's a caveat: global variables will not work the same way for MSVC, but works for mingw and GCC. For global variables (as opposed to functions), MSVC requires correct DSO visibility for MSVC: instead of declaring a symbol as export for everything, you need to declare it as import when importing from another DSO and export when defining it locally. With current EAPI definitions, we get the following example working in mingw and MSVC (observe it doesn't define any global variables as exported symbols). Example 1: dll1: ``` EAPI void foo(void); EAPI void bar() { foo(); } ``` dll2: ``` EAPI void foo() { printf ("foo\n"); } ``` This works fine with API defined as __declspec(dllexport) in both cases and for gcc defining as ```__atttribute__((visibility("default")))```. However, the following: Example 2: dll1: ``` EAPI extern int foo; EAPI void foobar(void); EAPI void bar() { foo = 5; foobar(); } ``` dll2: ``` EAPI int foo = 0; EAPI void foobar() { printf ("foo %d\n", foo); } ``` This will work on mingw but will not work for MSVC. And that's why EAPI is the only solution that worked for MSVC. Co-authored-by: JoĆ£o Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com> Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev> Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>
-rw-r--r--src/lib/efreet/Efreet.h47
-rw-r--r--src/lib/efreet/Efreet_Mime.h49
-rw-r--r--src/lib/efreet/Efreet_Trash.h43
-rw-r--r--src/lib/efreet/efreet.c20
-rw-r--r--src/lib/efreet/efreet_api.h40
-rw-r--r--src/lib/efreet/efreet_base.c36
-rw-r--r--src/lib/efreet/efreet_base.h30
-rw-r--r--src/lib/efreet/efreet_cache.c69
-rw-r--r--src/lib/efreet/efreet_cache_private.h57
-rw-r--r--src/lib/efreet/efreet_desktop.c48
-rw-r--r--src/lib/efreet/efreet_desktop.h60
-rw-r--r--src/lib/efreet/efreet_desktop_command.c8
-rw-r--r--src/lib/efreet/efreet_icon.c22
-rw-r--r--src/lib/efreet/efreet_icon.h24
-rw-r--r--src/lib/efreet/efreet_ini.c32
-rw-r--r--src/lib/efreet/efreet_ini.h32
-rw-r--r--src/lib/efreet/efreet_menu.c28
-rw-r--r--src/lib/efreet/efreet_menu.h28
-rw-r--r--src/lib/efreet/efreet_mime.c20
-rw-r--r--src/lib/efreet/efreet_private.h51
-rw-r--r--src/lib/efreet/efreet_trash.c14
-rw-r--r--src/lib/efreet/efreet_uri.c6
-rw-r--r--src/lib/efreet/efreet_uri.h6
-rw-r--r--src/lib/efreet/efreet_utils.c34
-rw-r--r--src/lib/efreet/efreet_utils.h30
-rw-r--r--src/lib/efreet/meson.build2
26 files changed, 366 insertions, 470 deletions
diff --git a/src/lib/efreet/Efreet.h b/src/lib/efreet/Efreet.h
index 6c39a1782e..42a9b80518 100644
--- a/src/lib/efreet/Efreet.h
+++ b/src/lib/efreet/Efreet.h
@@ -74,37 +74,7 @@
74#include <Eina.h> 74#include <Eina.h>
75#include <Efl_Config.h> 75#include <Efl_Config.h>
76 76
77#ifdef EAPI 77#include <efreet_api.h>
78# undef EAPI
79#endif
80
81#ifdef EFL_BUILD
82# define EFREET_DEPRECATED_API
83#else
84# define EFREET_DEPRECATED_API EINA_DEPRECATED
85#endif
86
87#ifdef _WIN32
88# ifdef EFL_BUILD
89# ifdef DLL_EXPORT
90# define EAPI __declspec(dllexport)
91# else
92# define EAPI
93# endif
94# else
95# define EAPI __declspec(dllimport)
96# endif
97#else
98# ifdef __GNUC__
99# if __GNUC__ >= 4
100# define EAPI __attribute__ ((visibility("default")))
101# else
102# define EAPI
103# endif
104# else
105# define EAPI
106# endif
107#endif
108 78
109#ifdef __cplusplus 79#ifdef __cplusplus
110extern "C" { 80extern "C" {
@@ -124,7 +94,7 @@ extern "C" {
124 int revision; /** < git revision (0 if a proper release or the git revision number Efreet is built from) */ 94 int revision; /** < git revision (0 if a proper release or the git revision number Efreet is built from) */
125 } Efreet_Version; 95 } Efreet_Version;
126 96
127 EAPI extern Efreet_Version *efreet_version; 97 EFREET_API extern Efreet_Version *efreet_version;
128 98
129#include "efreet_base.h" 99#include "efreet_base.h"
130#include "efreet_ini.h" 100#include "efreet_ini.h"
@@ -138,7 +108,7 @@ extern "C" {
138 * @return Value > @c 0 if the initialization was successful, @c 0 otherwise. 108 * @return Value > @c 0 if the initialization was successful, @c 0 otherwise.
139 * @brief Initializes the Efreet system 109 * @brief Initializes the Efreet system
140 */ 110 */
141EAPI int efreet_init(void); 111EFREET_API int efreet_init(void);
142 112
143/** 113/**
144 * @return The number of times the init function has been called minus the 114 * @return The number of times the init function has been called minus the
@@ -146,33 +116,30 @@ EAPI int efreet_init(void);
146 * @brief Shuts down Efreet if a balanced number of init/shutdown calls have 116 * @brief Shuts down Efreet if a balanced number of init/shutdown calls have
147 * been made 117 * been made
148 */ 118 */
149EAPI int efreet_shutdown(void); 119EFREET_API int efreet_shutdown(void);
150 120
151/** 121/**
152 * @brief Resets language dependent variables and resets language dependent 122 * @brief Resets language dependent variables and resets language dependent
153 * caches This must be called whenever the locale is changed. 123 * caches This must be called whenever the locale is changed.
154 * @since 1.7 124 * @since 1.7
155 */ 125 */
156EAPI void efreet_lang_reset(void); 126EFREET_API void efreet_lang_reset(void);
157 127
158/** 128/**
159 * @brief Disables connecting to efreet cache for this process. 129 * @brief Disables connecting to efreet cache for this process.
160 * @since 1.21 130 * @since 1.21
161 */ 131 */
162EAPI void efreet_cache_disable(void); 132EFREET_API void efreet_cache_disable(void);
163 133
164/** 134/**
165 * @brief Enables connecting to efreet cache for this process. 135 * @brief Enables connecting to efreet cache for this process.
166 * @since 1.21 136 * @since 1.21
167 */ 137 */
168EAPI void efreet_cache_enable(void); 138EFREET_API void efreet_cache_enable(void);
169 139
170#include <Efreet_Mime.h> 140#include <Efreet_Mime.h>
171#include <Efreet_Trash.h> 141#include <Efreet_Trash.h>
172 142
173#undef EAPI
174#define EAPI
175
176#ifdef __cplusplus 143#ifdef __cplusplus
177} 144}
178#endif 145#endif
diff --git a/src/lib/efreet/Efreet_Mime.h b/src/lib/efreet/Efreet_Mime.h
index 29d65e516c..83ee812426 100644
--- a/src/lib/efreet/Efreet_Mime.h
+++ b/src/lib/efreet/Efreet_Mime.h
@@ -14,31 +14,7 @@
14 * @{ 14 * @{
15 */ 15 */
16 16
17#ifdef EAPI 17#include <efreet_api.h>
18# undef EAPI
19#endif
20
21#ifdef _WIN32
22# ifdef EFL_BUILD
23# ifdef DLL_EXPORT
24# define EAPI __declspec(dllexport)
25# else
26# define EAPI
27# endif
28# else
29# define EAPI __declspec(dllimport)
30# endif
31#else
32# ifdef __GNUC__
33# if __GNUC__ >= 4
34# define EAPI __attribute__ ((visibility("default")))
35# else
36# define EAPI
37# endif
38# else
39# define EAPI
40# endif
41#endif
42 18
43#ifdef __cplusplus 19#ifdef __cplusplus
44extern "C" { 20extern "C" {
@@ -49,7 +25,7 @@ extern "C" {
49 * @return @c 1 on success or @c 0 on failure. 25 * @return @c 1 on success or @c 0 on failure.
50 * @brief Initializes the efreet mime settings 26 * @brief Initializes the efreet mime settings
51 */ 27 */
52EAPI int efreet_mime_init(void); 28EFREET_API int efreet_mime_init(void);
53 29
54/** 30/**
55 * @return The number of times the init function has been called minus the 31 * @return The number of times the init function has been called minus the
@@ -57,7 +33,7 @@ EAPI int efreet_mime_init(void);
57 * @brief Shuts down Efreet mime settings system if a balanced number of 33 * @brief Shuts down Efreet mime settings system if a balanced number of
58 * init/shutdown calls have been made 34 * init/shutdown calls have been made
59 */ 35 */
60EAPI int efreet_mime_shutdown(void); 36EFREET_API int efreet_mime_shutdown(void);
61 37
62/** 38/**
63 * @param file The file to find the mime type 39 * @param file The file to find the mime type
@@ -65,35 +41,35 @@ EAPI int efreet_mime_shutdown(void);
65 * @brief Retrieve the mime type of a file 41 * @brief Retrieve the mime type of a file
66 * @note The return value of this function is not guaranteed to be stringshared. 42 * @note The return value of this function is not guaranteed to be stringshared.
67 */ 43 */
68EAPI const char *efreet_mime_type_get(const char *file); 44EFREET_API const char *efreet_mime_type_get(const char *file);
69 45
70/** 46/**
71 * @param file The file to check the mime type 47 * @param file The file to check the mime type
72 * @return Mime type as a string. 48 * @return Mime type as a string.
73 * @brief Retrieve the mime type of a file using magic 49 * @brief Retrieve the mime type of a file using magic
74 */ 50 */
75EAPI const char *efreet_mime_magic_type_get(const char *file); 51EFREET_API const char *efreet_mime_magic_type_get(const char *file);
76 52
77/** 53/**
78 * @param file The file to check the mime type 54 * @param file The file to check the mime type
79 * @return Mime type as a string. 55 * @return Mime type as a string.
80 * @brief Retrieve the mime type of a file using globs 56 * @brief Retrieve the mime type of a file using globs
81 */ 57 */
82EAPI const char *efreet_mime_globs_type_get(const char *file); 58EFREET_API const char *efreet_mime_globs_type_get(const char *file);
83 59
84/** 60/**
85 * @param file The file to check the mime type 61 * @param file The file to check the mime type
86 * @return Mime type as a string. 62 * @return Mime type as a string.
87 * @brief Retrieve the special mime type of a file 63 * @brief Retrieve the special mime type of a file
88 */ 64 */
89EAPI const char *efreet_mime_special_type_get(const char *file); 65EFREET_API const char *efreet_mime_special_type_get(const char *file);
90 66
91/** 67/**
92 * @param file The file to check the mime type 68 * @param file The file to check the mime type
93 * @return Mime type as a string. 69 * @return Mime type as a string.
94 * @brief Retrieve the fallback mime type of a file. 70 * @brief Retrieve the fallback mime type of a file.
95 */ 71 */
96EAPI const char *efreet_mime_fallback_type_get(const char *file); 72EFREET_API const char *efreet_mime_fallback_type_get(const char *file);
97 73
98 74
99/** 75/**
@@ -103,13 +79,13 @@ EAPI const char *efreet_mime_fallback_type_get(const char *file);
103 * @return Mime type icon path as a string. 79 * @return Mime type icon path as a string.
104 * @brief Retrieve the mime type icon for a file. 80 * @brief Retrieve the mime type icon for a file.
105 */ 81 */
106EAPI const char *efreet_mime_type_icon_get(const char *mime, const char *theme, 82EFREET_API const char *efreet_mime_type_icon_get(const char *mime, const char *theme,
107 unsigned int size); 83 unsigned int size);
108 84
109/** 85/**
110 * @brief Clear mime icons mapping cache 86 * @brief Clear mime icons mapping cache
111 */ 87 */
112EAPI void efreet_mime_type_cache_clear(void); 88EFREET_API void efreet_mime_type_cache_clear(void);
113 89
114/** 90/**
115 * @brief Flush mime icons mapping cache 91 * @brief Flush mime icons mapping cache
@@ -117,7 +93,7 @@ EAPI void efreet_mime_type_cache_clear(void);
117 * Flush timeout is defined at compile time by 93 * Flush timeout is defined at compile time by
118 * EFREET_MIME_ICONS_FLUSH_TIMEOUT 94 * EFREET_MIME_ICONS_FLUSH_TIMEOUT
119 */ 95 */
120EAPI void efreet_mime_type_cache_flush(void); 96EFREET_API void efreet_mime_type_cache_flush(void);
121 97
122/** 98/**
123 * @} 99 * @}
@@ -127,7 +103,4 @@ EAPI void efreet_mime_type_cache_flush(void);
127} 103}
128#endif 104#endif
129 105
130#undef EAPI
131#define EAPI
132
133#endif 106#endif
diff --git a/src/lib/efreet/Efreet_Trash.h b/src/lib/efreet/Efreet_Trash.h
index 67db071cae..d606a7ce27 100644
--- a/src/lib/efreet/Efreet_Trash.h
+++ b/src/lib/efreet/Efreet_Trash.h
@@ -1,31 +1,7 @@
1#ifndef EFREET_TRASH_H 1#ifndef EFREET_TRASH_H
2#define EFREET_TRASH_H 2#define EFREET_TRASH_H
3 3
4#ifdef EAPI 4#include <efreet_api.h>
5# undef EAPI
6#endif
7
8#ifdef _WIN32
9# ifdef EFL_BUILD
10# ifdef DLL_EXPORT
11# define EAPI __declspec(dllexport)
12# else
13# define EAPI
14# endif
15# else
16# define EAPI __declspec(dllimport)
17# endif
18#else
19# ifdef __GNUC__
20# if __GNUC__ >= 4
21# define EAPI __attribute__ ((visibility("default")))
22# else
23# define EAPI
24# endif
25# else
26# define EAPI
27# endif
28#endif
29 5
30#ifdef __cplusplus 6#ifdef __cplusplus
31extern "C" { 7extern "C" {
@@ -46,20 +22,20 @@ extern "C" {
46 * @return @c 1 on success or @c 0 on failure. 22 * @return @c 1 on success or @c 0 on failure.
47 * @brief Initializes the efreet trash system 23 * @brief Initializes the efreet trash system
48 */ 24 */
49EAPI int efreet_trash_init(void); 25EFREET_API int efreet_trash_init(void);
50 26
51/** 27/**
52 * @return No value. 28 * @return No value.
53 * @brief Cleans up the efreet trash system 29 * @brief Cleans up the efreet trash system
54 */ 30 */
55EAPI int efreet_trash_shutdown(void); 31EFREET_API int efreet_trash_shutdown(void);
56 32
57/** 33/**
58 * @return The XDG Trash local directory or @c NULL on errors. 34 * @return The XDG Trash local directory or @c NULL on errors.
59 * Return value must be freed with eina_stringshare_del. 35 * Return value must be freed with eina_stringshare_del.
60 * @brief Retrieves the XDG Trash local directory 36 * @brief Retrieves the XDG Trash local directory
61 */ 37 */
62EAPI const char *efreet_trash_dir_get(const char *for_file); 38EFREET_API const char *efreet_trash_dir_get(const char *for_file);
63 39
64/** 40/**
65 * @param uri The local uri to move in the trash 41 * @param uri The local uri to move in the trash
@@ -72,26 +48,26 @@ EAPI const char *efreet_trash_dir_get(const char *for_file);
72 * is @c 0 than non-local files will be ignored and @c -1 is returned, if you set 48 * is @c 0 than non-local files will be ignored and @c -1 is returned, if you set
73 * force_delete to @c 1 non-local files will be deleted without asking. 49 * force_delete to @c 1 non-local files will be deleted without asking.
74 */ 50 */
75EAPI int efreet_trash_delete_uri(Efreet_Uri *uri, int force_delete); 51EFREET_API int efreet_trash_delete_uri(Efreet_Uri *uri, int force_delete);
76 52
77/** 53/**
78 * @return A list of strings with filename (remember to free the list 54 * @return A list of strings with filename (remember to free the list
79 * when you don't need anymore). 55 * when you don't need anymore).
80 * @brief List all the files and directory currently inside the trash. 56 * @brief List all the files and directory currently inside the trash.
81 */ 57 */
82EAPI Eina_List *efreet_trash_ls(void); 58EFREET_API Eina_List *efreet_trash_ls(void);
83 59
84/** 60/**
85 * @return @c 1 if the trash is empty or @c 0 if some file are in. 61 * @return @c 1 if the trash is empty or @c 0 if some file are in.
86 * @brief Check if the trash is currently empty 62 * @brief Check if the trash is currently empty
87 */ 63 */
88EAPI int efreet_trash_is_empty(void); 64EFREET_API int efreet_trash_is_empty(void);
89 65
90/** 66/**
91 * @return @c 1 on success or @c 0 on failure. 67 * @return @c 1 on success or @c 0 on failure.
92 * @brief Delete all the files inside the trash. 68 * @brief Delete all the files inside the trash.
93 */ 69 */
94EAPI int efreet_trash_empty_trash(void); 70EFREET_API int efreet_trash_empty_trash(void);
95 71
96/** 72/**
97 * @} 73 * @}
@@ -101,7 +77,4 @@ EAPI int efreet_trash_empty_trash(void);
101} 77}
102#endif 78#endif
103 79
104#undef EAPI
105#define EAPI
106
107#endif 80#endif
diff --git a/src/lib/efreet/efreet.c b/src/lib/efreet/efreet.c
index 4c20b12bc1..74c0a87bd2 100644
--- a/src/lib/efreet/efreet.c
+++ b/src/lib/efreet/efreet.c
@@ -18,9 +18,9 @@
18#include "efreet_xml.h" 18#include "efreet_xml.h"
19 19
20/* 20/*
21 * Needs EAPI because of helper binaries 21 * Needs EFREET_API because of helper binaries
22 */ 22 */
23EAPI int efreet_cache_update = 1; 23EFREET_API int efreet_cache_update = 1;
24 24
25static int _efreet_init_count = 0; 25static int _efreet_init_count = 0;
26static int efreet_parsed_locale = 0; 26static int efreet_parsed_locale = 0;
@@ -36,7 +36,7 @@ static uid_t ruid;
36static uid_t rgid; 36static uid_t rgid;
37#endif 37#endif
38 38
39EAPI int 39EFREET_API int
40efreet_init(void) 40efreet_init(void)
41{ 41{
42#ifndef _WIN32 42#ifndef _WIN32
@@ -137,7 +137,7 @@ shutdown_eina:
137 return --_efreet_init_count; 137 return --_efreet_init_count;
138} 138}
139 139
140EAPI int 140EFREET_API int
141efreet_shutdown(void) 141efreet_shutdown(void)
142{ 142{
143 if (_efreet_init_count <= 0) 143 if (_efreet_init_count <= 0)
@@ -173,7 +173,7 @@ efreet_shutdown(void)
173 return _efreet_init_count; 173 return _efreet_init_count;
174} 174}
175 175
176EAPI void 176EFREET_API void
177efreet_lang_reset(void) 177efreet_lang_reset(void)
178{ 178{
179 IF_RELEASE(efreet_lang); 179 IF_RELEASE(efreet_lang);
@@ -231,7 +231,7 @@ efreet_lang_modifier_get(void)
231 return efreet_lang_modifier; 231 return efreet_lang_modifier;
232} 232}
233 233
234EAPI const char * 234EFREET_API const char *
235efreet_language_get(void) 235efreet_language_get(void)
236{ 236{
237 if (efreet_parsed_locale) return efreet_language; 237 if (efreet_parsed_locale) return efreet_language;
@@ -372,7 +372,7 @@ efreet_array_cat(char *buffer, size_t size, const char *strs[])
372} 372}
373 373
374#ifndef _WIN32 374#ifndef _WIN32
375EAPI void 375EFREET_API void
376efreet_fsetowner(int fd) 376efreet_fsetowner(int fd)
377{ 377{
378 struct stat st; 378 struct stat st;
@@ -384,14 +384,14 @@ efreet_fsetowner(int fd)
384 if (fchown(fd, ruid, rgid) != 0) return; 384 if (fchown(fd, ruid, rgid) != 0) return;
385} 385}
386#else 386#else
387EAPI void 387EFREET_API void
388efreet_fsetowner(int fd EINA_UNUSED) 388efreet_fsetowner(int fd EINA_UNUSED)
389{ 389{
390} 390}
391#endif 391#endif
392 392
393#ifndef _WIN32 393#ifndef _WIN32
394EAPI void 394EFREET_API void
395efreet_setowner(const char *path) 395efreet_setowner(const char *path)
396{ 396{
397 EINA_SAFETY_ON_NULL_RETURN(path); 397 EINA_SAFETY_ON_NULL_RETURN(path);
@@ -404,7 +404,7 @@ efreet_setowner(const char *path)
404 close(fd); 404 close(fd);
405} 405}
406#else 406#else
407EAPI void 407EFREET_API void
408efreet_setowner(const char *path EINA_UNUSED) 408efreet_setowner(const char *path EINA_UNUSED)
409{ 409{
410} 410}
diff --git a/src/lib/efreet/efreet_api.h b/src/lib/efreet/efreet_api.h
new file mode 100644
index 0000000000..236699215e
--- /dev/null
+++ b/src/lib/efreet/efreet_api.h
@@ -0,0 +1,40 @@
1#ifndef _EFL_EFREET_API_H
2#define _EFL_EFREET_API_H
3
4#ifdef EFREET_API
5#error EFREET_API should not be already defined
6#endif
7
8#ifdef EFL_BUILD
9# define EFREET_DEPRECATED_API
10#else
11# define EFREET_DEPRECATED_API EINA_DEPRECATED
12#endif
13
14#ifdef _WIN32
15# ifndef EFREET_STATIC
16# ifdef EFREET_BUILD
17# define EFREET_API __declspec(dllexport)
18# else
19# define EFREET_API __declspec(dllimport)
20# endif
21# else
22# define EFREET_API
23# endif
24# define EFREET_API_WEAK
25#else
26# ifdef __GNUC__
27# if __GNUC__ >= 4
28# define EFREET_API __attribute__ ((visibility("default")))
29# define EFREET_API_WEAK __attribute__ ((weak))
30# else
31# define EFREET_API
32# define EFREET_API_WEAK
33# endif
34# else
35# define EFREET_API
36# define EFREET_API_WEAK
37# endif
38#endif
39
40#endif
diff --git a/src/lib/efreet/efreet_base.c b/src/lib/efreet/efreet_base.c
index 736a3a05fc..b8055fdc14 100644
--- a/src/lib/efreet/efreet_base.c
+++ b/src/lib/efreet/efreet_base.c
@@ -26,7 +26,7 @@ static int _efreet_base_log_dom = -1;
26#include "efreet_private.h" 26#include "efreet_private.h"
27 27
28static Efreet_Version _version = { VMAJ, VMIN, VMIC, VREV }; 28static Efreet_Version _version = { VMAJ, VMIN, VMIC, VREV };
29EAPI Efreet_Version *efreet_version = &_version; 29EFREET_API Efreet_Version *efreet_version = &_version;
30 30
31#ifdef _WIN32 31#ifdef _WIN32
32# define EFREET_PATH_SEP ';' 32# define EFREET_PATH_SEP ';'
@@ -130,7 +130,7 @@ efreet_home_dir_get(void)
130 return efreet_home_dir; 130 return efreet_home_dir;
131} 131}
132 132
133EAPI const char * 133EFREET_API const char *
134efreet_desktop_dir_get(void) 134efreet_desktop_dir_get(void)
135{ 135{
136 if (xdg_desktop_dir) return xdg_desktop_dir; 136 if (xdg_desktop_dir) return xdg_desktop_dir;
@@ -138,7 +138,7 @@ efreet_desktop_dir_get(void)
138 return xdg_desktop_dir; 138 return xdg_desktop_dir;
139} 139}
140 140
141EAPI const char * 141EFREET_API const char *
142efreet_download_dir_get(void) 142efreet_download_dir_get(void)
143{ 143{
144 if (xdg_download_dir) return xdg_download_dir; 144 if (xdg_download_dir) return xdg_download_dir;
@@ -146,7 +146,7 @@ efreet_download_dir_get(void)
146 return xdg_download_dir; 146 return xdg_download_dir;
147} 147}
148 148
149EAPI const char * 149EFREET_API const char *
150efreet_templates_dir_get(void) 150efreet_templates_dir_get(void)
151{ 151{
152 if (xdg_templates_dir) return xdg_templates_dir; 152 if (xdg_templates_dir) return xdg_templates_dir;
@@ -155,7 +155,7 @@ efreet_templates_dir_get(void)
155 return xdg_templates_dir; 155 return xdg_templates_dir;
156} 156}
157 157
158EAPI const char * 158EFREET_API const char *
159efreet_public_share_dir_get(void) 159efreet_public_share_dir_get(void)
160{ 160{
161 if (xdg_publicshare_dir) return xdg_publicshare_dir; 161 if (xdg_publicshare_dir) return xdg_publicshare_dir;
@@ -164,7 +164,7 @@ efreet_public_share_dir_get(void)
164 return xdg_publicshare_dir; 164 return xdg_publicshare_dir;
165} 165}
166 166
167EAPI const char * 167EFREET_API const char *
168efreet_documents_dir_get(void) 168efreet_documents_dir_get(void)
169{ 169{
170 if (xdg_documents_dir) return xdg_documents_dir; 170 if (xdg_documents_dir) return xdg_documents_dir;
@@ -173,7 +173,7 @@ efreet_documents_dir_get(void)
173 return xdg_documents_dir; 173 return xdg_documents_dir;
174} 174}
175 175
176EAPI const char * 176EFREET_API const char *
177efreet_music_dir_get(void) 177efreet_music_dir_get(void)
178{ 178{
179 if (xdg_music_dir) return xdg_music_dir; 179 if (xdg_music_dir) return xdg_music_dir;
@@ -181,7 +181,7 @@ efreet_music_dir_get(void)
181 return xdg_music_dir; 181 return xdg_music_dir;
182} 182}
183 183
184EAPI const char * 184EFREET_API const char *
185efreet_pictures_dir_get(void) 185efreet_pictures_dir_get(void)
186{ 186{
187 if (xdg_pictures_dir) return xdg_pictures_dir; 187 if (xdg_pictures_dir) return xdg_pictures_dir;
@@ -189,7 +189,7 @@ efreet_pictures_dir_get(void)
189 return xdg_pictures_dir; 189 return xdg_pictures_dir;
190} 190}
191 191
192EAPI const char * 192EFREET_API const char *
193efreet_videos_dir_get(void) 193efreet_videos_dir_get(void)
194{ 194{
195 if (xdg_videos_dir) return xdg_videos_dir; 195 if (xdg_videos_dir) return xdg_videos_dir;
@@ -197,43 +197,43 @@ efreet_videos_dir_get(void)
197 return xdg_videos_dir; 197 return xdg_videos_dir;
198} 198}
199 199
200EAPI const char * 200EFREET_API const char *
201efreet_data_home_get(void) 201efreet_data_home_get(void)
202{ 202{
203 return xdg_data_home; 203 return xdg_data_home;
204} 204}
205 205
206EAPI Eina_List * 206EFREET_API Eina_List *
207efreet_data_dirs_get(void) 207efreet_data_dirs_get(void)
208{ 208{
209 return xdg_data_dirs; 209 return xdg_data_dirs;
210} 210}
211 211
212EAPI const char * 212EFREET_API const char *
213efreet_config_home_get(void) 213efreet_config_home_get(void)
214{ 214{
215 return xdg_config_home; 215 return xdg_config_home;
216} 216}
217 217
218EAPI Eina_List * 218EFREET_API Eina_List *
219efreet_config_dirs_get(void) 219efreet_config_dirs_get(void)
220{ 220{
221 return xdg_config_dirs; 221 return xdg_config_dirs;
222} 222}
223 223
224EAPI const char * 224EFREET_API const char *
225efreet_cache_home_get(void) 225efreet_cache_home_get(void)
226{ 226{
227 return xdg_cache_home; 227 return xdg_cache_home;
228} 228}
229 229
230EAPI const char * 230EFREET_API const char *
231efreet_runtime_dir_get(void) 231efreet_runtime_dir_get(void)
232{ 232{
233 return xdg_runtime_dir; 233 return xdg_runtime_dir;
234} 234}
235 235
236EAPI const char * 236EFREET_API const char *
237efreet_hostname_get(void) 237efreet_hostname_get(void)
238{ 238{
239 return hostname; 239 return hostname;
@@ -248,9 +248,9 @@ efreet_hostname_get(void)
248 * @brief Creates the list of directories based on the user 248 * @brief Creates the list of directories based on the user
249 * dir, system dirs and given suffix. 249 * dir, system dirs and given suffix.
250 * 250 *
251 * Needs EAPI because of helper binaries 251 * Needs EFREET_API because of helper binaries
252 */ 252 */
253EAPI Eina_List * 253EFREET_API Eina_List *
254efreet_default_dirs_get(const char *user_dir, Eina_List *system_dirs, 254efreet_default_dirs_get(const char *user_dir, Eina_List *system_dirs,
255 const char *suffix) 255 const char *suffix)
256{ 256{
diff --git a/src/lib/efreet/efreet_base.h b/src/lib/efreet/efreet_base.h
index ca011d95a3..e8c7af215f 100644
--- a/src/lib/efreet/efreet_base.h
+++ b/src/lib/efreet/efreet_base.h
@@ -22,7 +22,7 @@
22 * This is where user-specific data files should be written 22 * This is where user-specific data files should be written
23 * ($XDG_DATA_HOME or $HOME/.local/share). 23 * ($XDG_DATA_HOME or $HOME/.local/share).
24 */ 24 */
25EAPI const char *efreet_data_home_get(void); 25EFREET_API const char *efreet_data_home_get(void);
26 26
27/** 27/**
28 * @return Returns the Eina_List of preference ordered extra data directories 28 * @return Returns the Eina_List of preference ordered extra data directories
@@ -35,7 +35,7 @@ EAPI const char *efreet_data_home_get(void);
35 * list then the next call to efreet_data_dirs_get() will return your 35 * list then the next call to efreet_data_dirs_get() will return your
36 * modified values. DO NOT free this list. 36 * modified values. DO NOT free this list.
37 */ 37 */
38EAPI Eina_List *efreet_data_dirs_get(void); 38EFREET_API Eina_List *efreet_data_dirs_get(void);
39 39
40 40
41/** 41/**
@@ -45,7 +45,7 @@ EAPI Eina_List *efreet_data_dirs_get(void);
45 * This is where user-specific configuration files should be 45 * This is where user-specific configuration files should be
46 * written ($XDG_CONFIG_HOME or $HOME/.config). 46 * written ($XDG_CONFIG_HOME or $HOME/.config).
47 */ 47 */
48EAPI const char *efreet_config_home_get(void); 48EFREET_API const char *efreet_config_home_get(void);
49 49
50/** 50/**
51 * @return Returns the XDG Desktop directory 51 * @return Returns the XDG Desktop directory
@@ -57,7 +57,7 @@ EAPI const char *efreet_config_home_get(void);
57 * 57 *
58 * @since 1.3 58 * @since 1.3
59 */ 59 */
60EAPI const char *efreet_desktop_dir_get(void); 60EFREET_API const char *efreet_desktop_dir_get(void);
61 61
62/** 62/**
63 * @return Returns the XDG Download directory 63 * @return Returns the XDG Download directory
@@ -77,7 +77,7 @@ EAPI const char *efreet_desktop_dir_get(void);
77 * 77 *
78 * @since 1.8 78 * @since 1.8
79 */ 79 */
80EAPI const char *efreet_download_dir_get(void); 80EFREET_API const char *efreet_download_dir_get(void);
81 81
82/** 82/**
83 * @return Returns the XDG Templates directory 83 * @return Returns the XDG Templates directory
@@ -94,7 +94,7 @@ EAPI const char *efreet_download_dir_get(void);
94 * 94 *
95 * @since 1.8 95 * @since 1.8
96 */ 96 */
97EAPI const char *efreet_templates_dir_get(void); 97EFREET_API const char *efreet_templates_dir_get(void);
98 98
99/** 99/**
100 * @return Returns the XDG Public Share directory 100 * @return Returns the XDG Public Share directory
@@ -108,7 +108,7 @@ EAPI const char *efreet_templates_dir_get(void);
108 * 108 *
109 * @since 1.8 109 * @since 1.8
110 */ 110 */
111EAPI const char *efreet_public_share_dir_get(void); 111EFREET_API const char *efreet_public_share_dir_get(void);
112 112
113/** 113/**
114 * @return Returns the XDG Documents directory 114 * @return Returns the XDG Documents directory
@@ -125,7 +125,7 @@ EAPI const char *efreet_public_share_dir_get(void);
125 * 125 *
126 * @since 1.8 126 * @since 1.8
127 */ 127 */
128EAPI const char *efreet_documents_dir_get(void); 128EFREET_API const char *efreet_documents_dir_get(void);
129 129
130/** 130/**
131 * @return Returns the XDG Music directory 131 * @return Returns the XDG Music directory
@@ -142,7 +142,7 @@ EAPI const char *efreet_documents_dir_get(void);
142 * 142 *
143 * @since 1.8 143 * @since 1.8
144 */ 144 */
145EAPI const char *efreet_music_dir_get(void); 145EFREET_API const char *efreet_music_dir_get(void);
146 146
147/** 147/**
148 * @return Returns the XDG Pictures directory 148 * @return Returns the XDG Pictures directory
@@ -159,7 +159,7 @@ EAPI const char *efreet_music_dir_get(void);
159 * 159 *
160 * @since 1.8 160 * @since 1.8
161 */ 161 */
162EAPI const char *efreet_pictures_dir_get(void); 162EFREET_API const char *efreet_pictures_dir_get(void);
163 163
164/** 164/**
165 * @return Returns the XDG Videos directory 165 * @return Returns the XDG Videos directory
@@ -176,7 +176,7 @@ EAPI const char *efreet_pictures_dir_get(void);
176 * 176 *
177 * @since 1.8 177 * @since 1.8
178 */ 178 */
179EAPI const char *efreet_videos_dir_get(void); 179EFREET_API const char *efreet_videos_dir_get(void);
180 180
181/** 181/**
182 * @return Returns the Eina_List of preference ordered extra config directories 182 * @return Returns the Eina_List of preference ordered extra config directories
@@ -190,7 +190,7 @@ EAPI const char *efreet_videos_dir_get(void);
190 * list then the next call to efreet_config_dirs_get() will return your 190 * list then the next call to efreet_config_dirs_get() will return your
191 * modified values. DO NOT free this list. 191 * modified values. DO NOT free this list.
192 */ 192 */
193EAPI Eina_List *efreet_config_dirs_get(void); 193EFREET_API Eina_List *efreet_config_dirs_get(void);
194 194
195 195
196/** 196/**
@@ -205,7 +205,7 @@ EAPI Eina_List *efreet_config_dirs_get(void);
205 * @see efreet_download_dir_get() 205 * @see efreet_download_dir_get()
206 * @see efreet_config_home_get() 206 * @see efreet_config_home_get()
207 */ 207 */
208EAPI const char *efreet_cache_home_get(void); 208EFREET_API const char *efreet_cache_home_get(void);
209 209
210/** 210/**
211 * @return Returns the XDG User Runtime directory. 211 * @return Returns the XDG User Runtime directory.
@@ -252,13 +252,13 @@ EAPI const char *efreet_cache_home_get(void);
252 * 252 *
253 * @since 1.8 253 * @since 1.8
254 */ 254 */
255EAPI const char *efreet_runtime_dir_get(void); 255EFREET_API const char *efreet_runtime_dir_get(void);
256 256
257/** 257/**
258 * @return Returns the current hostname 258 * @return Returns the current hostname
259 * @brief Returns the current hostname or empty string if not found 259 * @brief Returns the current hostname or empty string if not found
260 */ 260 */
261EAPI const char *efreet_hostname_get(void); 261EFREET_API const char *efreet_hostname_get(void);
262 262
263/** 263/**
264 * Efreet_Event_Cache_Update 264 * Efreet_Event_Cache_Update
diff --git a/src/lib/efreet/efreet_cache.c b/src/lib/efreet/efreet_cache.c
index a8eb425b6a..d92df48981 100644
--- a/src/lib/efreet/efreet_cache.c
+++ b/src/lib/efreet/efreet_cache.c
@@ -104,9 +104,9 @@ static Eina_Bool disable_cache;
104static Eina_Bool run_in_tree; 104static Eina_Bool run_in_tree;
105static int relaunch_try = 0; 105static int relaunch_try = 0;
106 106
107EAPI int EFREET_EVENT_ICON_CACHE_UPDATE = 0; 107EFREET_API int EFREET_EVENT_ICON_CACHE_UPDATE = 0;
108EAPI int EFREET_EVENT_DESKTOP_CACHE_UPDATE = 0; 108EFREET_API int EFREET_EVENT_DESKTOP_CACHE_UPDATE = 0;
109EAPI int EFREET_EVENT_DESKTOP_CACHE_BUILD = 0; 109EFREET_API int EFREET_EVENT_DESKTOP_CACHE_BUILD = 0;
110 110
111#define IPC_HEAD(_type) \ 111#define IPC_HEAD(_type) \
112 Ecore_Ipc_Event_Server_##_type *e = event; \ 112 Ecore_Ipc_Event_Server_##_type *e = event; \
@@ -283,7 +283,7 @@ _icon_desktop_cache_update_event_add(int event_type)
283 ecore_event_add(event_type, ev, icon_cache_update_free, l); 283 ecore_event_add(event_type, ev, icon_cache_update_free, l);
284} 284}
285 285
286EAPI void (*_efreet_mime_update_func) (void) = NULL; 286EFREET_API void (*_efreet_mime_update_func) (void) = NULL;
287 287
288static Eina_Bool 288static Eina_Bool
289_cb_server_data(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) 289_cb_server_data(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
@@ -471,9 +471,9 @@ efreet_cache_shutdown(void)
471} 471}
472 472
473/* 473/*
474 * Needs EAPI because of helper binaries 474 * Needs EFREET_API because of helper binaries
475 */ 475 */
476EAPI const char * 476EFREET_API const char *
477efreet_icon_cache_file(const char *theme) 477efreet_icon_cache_file(const char *theme)
478{ 478{
479 static char cache_file[PATH_MAX] = { '\0' }; 479 static char cache_file[PATH_MAX] = { '\0' };
@@ -489,9 +489,9 @@ efreet_icon_cache_file(const char *theme)
489} 489}
490 490
491/* 491/*
492 * Needs EAPI because of helper binaries 492 * Needs EFREET_API because of helper binaries
493 */ 493 */
494EAPI const char * 494EFREET_API const char *
495efreet_icon_theme_cache_file(void) 495efreet_icon_theme_cache_file(void)
496{ 496{
497 char tmp[PATH_MAX] = { '\0' }; 497 char tmp[PATH_MAX] = { '\0' };
@@ -506,9 +506,9 @@ efreet_icon_theme_cache_file(void)
506} 506}
507 507
508/* 508/*
509 * Needs EAPI because of helper binaries 509 * Needs EFREET_API because of helper binaries
510 */ 510 */
511EAPI const char * 511EFREET_API const char *
512efreet_desktop_util_cache_file(void) 512efreet_desktop_util_cache_file(void)
513{ 513{
514 char tmp[PATH_MAX] = { '\0' }; 514 char tmp[PATH_MAX] = { '\0' };
@@ -534,9 +534,6 @@ efreet_desktop_util_cache_file(void)
534 return util_cache_file; 534 return util_cache_file;
535} 535}
536 536
537/*
538 * Needs EAPI because of helper binaries
539 */
540#define SHSH(n, v) ((((v) << (n)) & 0xffffffff) | ((v) >> (32 - (n)))) 537#define SHSH(n, v) ((((v) << (n)) & 0xffffffff) | ((v) >> (32 - (n))))
541 538
542static inline int 539static inline int
@@ -623,7 +620,7 @@ sha1(unsigned char *data, int size, unsigned char *dst)
623 memcpy(dst, digest, 5 * 4); 620 memcpy(dst, digest, 5 * 4);
624} 621}
625 622
626EAPI Eina_Bool 623EFREET_API Eina_Bool
627efreet_file_cache_fill(const char *file, Efreet_Cache_Check *check) 624efreet_file_cache_fill(const char *file, Efreet_Cache_Check *check)
628{ 625{
629 struct stat st; 626 struct stat st;
@@ -657,7 +654,7 @@ efreet_file_cache_fill(const char *file, Efreet_Cache_Check *check)
657 return EINA_TRUE; 654 return EINA_TRUE;
658} 655}
659 656
660EAPI Eina_Bool // true if matches 657EFREET_API Eina_Bool // true if matches
661efreet_file_cache_check(const Efreet_Cache_Check *check1, const Efreet_Cache_Check *check2) 658efreet_file_cache_check(const Efreet_Cache_Check *check1, const Efreet_Cache_Check *check2)
662{ 659{
663 if ((check1->mtime != check2->mtime ) || 660 if ((check1->mtime != check2->mtime ) ||
@@ -674,7 +671,7 @@ efreet_file_cache_check(const Efreet_Cache_Check *check1, const Efreet_Cache_Che
674 return EINA_TRUE; // matches 671 return EINA_TRUE; // matches
675} 672}
676 673
677EAPI Eet_Data_Descriptor * 674EFREET_API Eet_Data_Descriptor *
678efreet_version_edd(void) 675efreet_version_edd(void)
679{ 676{
680 Eet_Data_Descriptor_Class eddc; 677 Eet_Data_Descriptor_Class eddc;
@@ -694,9 +691,9 @@ efreet_version_edd(void)
694} 691}
695 692
696/* 693/*
697 * Needs EAPI because of helper binaries 694 * Needs EFREET_API because of helper binaries
698 */ 695 */
699EAPI Eet_Data_Descriptor * 696EFREET_API Eet_Data_Descriptor *
700efreet_hash_array_string_edd(void) 697efreet_hash_array_string_edd(void)
701{ 698{
702 Eet_Data_Descriptor_Class eddc; 699 Eet_Data_Descriptor_Class eddc;
@@ -715,9 +712,9 @@ efreet_hash_array_string_edd(void)
715} 712}
716 713
717/* 714/*
718 * Needs EAPI because of helper binaries 715 * Needs EFREET_API because of helper binaries
719 */ 716 */
720EAPI Eet_Data_Descriptor * 717EFREET_API Eet_Data_Descriptor *
721efreet_hash_string_edd(void) 718efreet_hash_string_edd(void)
722{ 719{
723 Eet_Data_Descriptor_Class eddc; 720 Eet_Data_Descriptor_Class eddc;
@@ -735,9 +732,9 @@ efreet_hash_string_edd(void)
735} 732}
736 733
737/* 734/*
738 * Needs EAPI because of helper binaries 735 * Needs EFREET_API because of helper binaries
739 */ 736 */
740EAPI Eet_Data_Descriptor * 737EFREET_API Eet_Data_Descriptor *
741efreet_array_string_edd(void) 738efreet_array_string_edd(void)
742{ 739{
743 Eet_Data_Descriptor_Class eddc; 740 Eet_Data_Descriptor_Class eddc;
@@ -754,9 +751,9 @@ efreet_array_string_edd(void)
754} 751}
755 752
756/* 753/*
757 * Needs EAPI because of helper binaries 754 * Needs EFREET_API because of helper binaries
758 */ 755 */
759EAPI const char * 756EFREET_API const char *
760efreet_desktop_cache_file(void) 757efreet_desktop_cache_file(void)
761{ 758{
762 char tmp[PATH_MAX] = { '\0' }; 759 char tmp[PATH_MAX] = { '\0' };
@@ -850,9 +847,9 @@ efreet_icon_directory_edd(void)
850} 847}
851 848
852/* 849/*
853 * Needs EAPI because of helper binaries 850 * Needs EFREET_API because of helper binaries
854 */ 851 */
855EAPI Eet_Data_Descriptor * 852EFREET_API Eet_Data_Descriptor *
856efreet_icon_edd(void) 853efreet_icon_edd(void)
857{ 854{
858 Eet_Data_Descriptor_Class eddc; 855 Eet_Data_Descriptor_Class eddc;
@@ -891,9 +888,9 @@ efreet_icon_edd(void)
891} 888}
892 889
893/* 890/*
894 * Needs EAPI because of helper binaries 891 * Needs EFREET_API because of helper binaries
895 */ 892 */
896EAPI Eet_Data_Descriptor * 893EFREET_API Eet_Data_Descriptor *
897efreet_icon_theme_edd(Eina_Bool cache) 894efreet_icon_theme_edd(Eina_Bool cache)
898{ 895{
899 Eet_Data_Descriptor_Class eddc; 896 Eet_Data_Descriptor_Class eddc;
@@ -969,9 +966,9 @@ efreet_icon_theme_edd(Eina_Bool cache)
969} 966}
970 967
971/* 968/*
972 * Needs EAPI because of helper binaries 969 * Needs EFREET_API because of helper binaries
973 */ 970 */
974EAPI Eet_Data_Descriptor * 971EFREET_API Eet_Data_Descriptor *
975efreet_icon_fallback_edd(void) 972efreet_icon_fallback_edd(void)
976{ 973{
977 Eet_Data_Descriptor_Class eddc; 974 Eet_Data_Descriptor_Class eddc;
@@ -989,9 +986,9 @@ efreet_icon_fallback_edd(void)
989} 986}
990 987
991/* 988/*
992 * Needs EAPI because of helper binaries 989 * Needs EFREET_API because of helper binaries
993 */ 990 */
994EAPI Eet_Data_Descriptor * 991EFREET_API Eet_Data_Descriptor *
995efreet_desktop_edd(void) 992efreet_desktop_edd(void)
996{ 993{
997 Eet_Data_Descriptor_Class eddc; 994 Eet_Data_Descriptor_Class eddc;
@@ -1188,9 +1185,9 @@ efreet_cache_icon_theme_list(void)
1188} 1185}
1189 1186
1190/* 1187/*
1191 * Needs EAPI because of helper binaries 1188 * Needs EFREET_API because of helper binaries
1192 */ 1189 */
1193EAPI void 1190EFREET_API void
1194efreet_cache_array_string_free(Efreet_Cache_Array_String *array) 1191efreet_cache_array_string_free(Efreet_Cache_Array_String *array)
1195{ 1192{
1196 if (!array) return; 1193 if (!array) return;
@@ -1543,7 +1540,7 @@ hash_array_string_add(void *hash, const char *key, void *data)
1543 return hash; 1540 return hash;
1544} 1541}
1545 1542
1546EAPI void 1543EFREET_API void
1547efreet_cache_disable(void) 1544efreet_cache_disable(void)
1548{ 1545{
1549 Eina_Bool prev = disable_cache; 1546 Eina_Bool prev = disable_cache;
@@ -1559,7 +1556,7 @@ efreet_cache_disable(void)
1559 } 1556 }
1560} 1557}
1561 1558
1562EAPI void 1559EFREET_API void
1563efreet_cache_enable(void) 1560efreet_cache_enable(void)
1564{ 1561{
1565 Eina_Bool prev = disable_cache; 1562 Eina_Bool prev = disable_cache;
diff --git a/src/lib/efreet/efreet_cache_private.h b/src/lib/efreet/efreet_cache_private.h
index 1edbb3b5ff..b5b853f0bc 100644
--- a/src/lib/efreet/efreet_cache_private.h
+++ b/src/lib/efreet/efreet_cache_private.h
@@ -12,31 +12,7 @@
12#define EFREET_CACHE_VERSION "__efreet//version" 12#define EFREET_CACHE_VERSION "__efreet//version"
13#define EFREET_CACHE_ICON_FALLBACK "__efreet_fallback" 13#define EFREET_CACHE_ICON_FALLBACK "__efreet_fallback"
14 14
15#ifdef EAPI 15#include <efreet_api.h>
16# undef EAPI
17#endif
18
19#ifdef _WIN32
20# ifdef EFL_BUILD
21# ifdef DLL_EXPORT
22# define EAPI __declspec(dllexport)
23# else
24# define EAPI
25# endif
26# else
27# define EAPI __declspec(dllimport)
28# endif
29#else
30# ifdef __GNUC__
31# if __GNUC__ >= 4
32# define EAPI __attribute__ ((visibility("default")))
33# else
34# define EAPI
35# endif
36# else
37# define EAPI
38# endif
39#endif
40 16
41typedef struct _Efreet_Cache_Check Efreet_Cache_Check; 17typedef struct _Efreet_Cache_Check Efreet_Cache_Check;
42 18
@@ -44,22 +20,22 @@ typedef struct _Efreet_Cache_Icon_Theme Efreet_Cache_Icon_Theme;
44typedef struct _Efreet_Cache_Directory Efreet_Cache_Directory; 20typedef struct _Efreet_Cache_Directory Efreet_Cache_Directory;
45typedef struct _Efreet_Cache_Desktop Efreet_Cache_Desktop; 21typedef struct _Efreet_Cache_Desktop Efreet_Cache_Desktop;
46 22
47EAPI const char *efreet_desktop_util_cache_file(void); 23EFREET_API const char *efreet_desktop_util_cache_file(void);
48EAPI const char *efreet_desktop_cache_file(void); 24EFREET_API const char *efreet_desktop_cache_file(void);
49EAPI const char *efreet_icon_cache_file(const char *theme); 25EFREET_API const char *efreet_icon_cache_file(const char *theme);
50EAPI const char *efreet_icon_theme_cache_file(void); 26EFREET_API const char *efreet_icon_theme_cache_file(void);
51 27
52EAPI Eina_Bool efreet_file_cache_fill(const char *file, Efreet_Cache_Check *check); 28EFREET_API Eina_Bool efreet_file_cache_fill(const char *file, Efreet_Cache_Check *check);
53EAPI Eina_Bool efreet_file_cache_check(const Efreet_Cache_Check *check1, const Efreet_Cache_Check *check2); 29EFREET_API Eina_Bool efreet_file_cache_check(const Efreet_Cache_Check *check1, const Efreet_Cache_Check *check2);
54 30
55EAPI Eet_Data_Descriptor *efreet_version_edd(void); 31EFREET_API Eet_Data_Descriptor *efreet_version_edd(void);
56EAPI Eet_Data_Descriptor *efreet_desktop_edd(void); 32EFREET_API Eet_Data_Descriptor *efreet_desktop_edd(void);
57EAPI Eet_Data_Descriptor *efreet_hash_array_string_edd(void); 33EFREET_API Eet_Data_Descriptor *efreet_hash_array_string_edd(void);
58EAPI Eet_Data_Descriptor *efreet_hash_string_edd(void); 34EFREET_API Eet_Data_Descriptor *efreet_hash_string_edd(void);
59EAPI Eet_Data_Descriptor *efreet_array_string_edd(void); 35EFREET_API Eet_Data_Descriptor *efreet_array_string_edd(void);
60EAPI Eet_Data_Descriptor *efreet_icon_theme_edd(Eina_Bool cache); 36EFREET_API Eet_Data_Descriptor *efreet_icon_theme_edd(Eina_Bool cache);
61EAPI Eet_Data_Descriptor *efreet_icon_edd(void); 37EFREET_API Eet_Data_Descriptor *efreet_icon_edd(void);
62EAPI Eet_Data_Descriptor *efreet_icon_fallback_edd(void); 38EFREET_API Eet_Data_Descriptor *efreet_icon_fallback_edd(void);
63 39
64struct _Efreet_Cache_Check 40struct _Efreet_Cache_Check
65{ 41{
@@ -101,7 +77,4 @@ struct _Efreet_Cache_Desktop
101 double check_time; /**< Last time we check for disk modification */ 77 double check_time; /**< Last time we check for disk modification */
102}; 78};
103 79
104#undef EAPI
105#define EAPI
106
107#endif 80#endif
diff --git a/src/lib/efreet/efreet_desktop.c b/src/lib/efreet/efreet_desktop.c
index 4e97dc1efb..e8f9f603e3 100644
--- a/src/lib/efreet/efreet_desktop.c
+++ b/src/lib/efreet/efreet_desktop.c
@@ -30,9 +30,9 @@ static Eina_List *efreet_desktop_types = NULL;
30 30
31static Eina_Lock _lock; 31static Eina_Lock _lock;
32 32
33EAPI int EFREET_DESKTOP_TYPE_APPLICATION = 0; 33EFREET_API int EFREET_DESKTOP_TYPE_APPLICATION = 0;
34EAPI int EFREET_DESKTOP_TYPE_LINK = 0; 34EFREET_API int EFREET_DESKTOP_TYPE_LINK = 0;
35EAPI int EFREET_DESKTOP_TYPE_DIRECTORY = 0; 35EFREET_API int EFREET_DESKTOP_TYPE_DIRECTORY = 0;
36 36
37/** 37/**
38 * @internal 38 * @internal
@@ -146,7 +146,7 @@ efreet_desktop_shutdown(void)
146 _efreet_desktop_log_dom = -1; 146 _efreet_desktop_log_dom = -1;
147} 147}
148 148
149EAPI Efreet_Desktop * 149EFREET_API Efreet_Desktop *
150efreet_desktop_get(const char *file) 150efreet_desktop_get(const char *file)
151{ 151{
152 Efreet_Desktop *desktop; 152 Efreet_Desktop *desktop;
@@ -194,7 +194,7 @@ efreet_desktop_get(const char *file)
194#endif 194#endif
195} 195}
196 196
197EAPI int 197EFREET_API int
198efreet_desktop_ref(Efreet_Desktop *desktop) 198efreet_desktop_ref(Efreet_Desktop *desktop)
199{ 199{
200 int ret; 200 int ret;
@@ -207,7 +207,7 @@ efreet_desktop_ref(Efreet_Desktop *desktop)
207 return ret; 207 return ret;
208} 208}
209 209
210EAPI Efreet_Desktop * 210EFREET_API Efreet_Desktop *
211efreet_desktop_empty_new(const char *file) 211efreet_desktop_empty_new(const char *file)
212{ 212{
213 Efreet_Desktop *desktop; 213 Efreet_Desktop *desktop;
@@ -235,7 +235,7 @@ efreet_desktop_empty_new(const char *file)
235 return desktop; 235 return desktop;
236} 236}
237 237
238EAPI Efreet_Desktop * 238EFREET_API Efreet_Desktop *
239efreet_desktop_new(const char *file) 239efreet_desktop_new(const char *file)
240{ 240{
241 Efreet_Desktop *desktop = NULL; 241 Efreet_Desktop *desktop = NULL;
@@ -264,7 +264,7 @@ efreet_desktop_new(const char *file)
264 return efreet_desktop_uncached_new(file); 264 return efreet_desktop_uncached_new(file);
265} 265}
266 266
267EAPI Efreet_Desktop * 267EFREET_API Efreet_Desktop *
268efreet_desktop_uncached_new(const char *file) 268efreet_desktop_uncached_new(const char *file)
269{ 269{
270 Efreet_Desktop *desktop = NULL; 270 Efreet_Desktop *desktop = NULL;
@@ -293,7 +293,7 @@ efreet_desktop_uncached_new(const char *file)
293 return desktop; 293 return desktop;
294} 294}
295 295
296EAPI int 296EFREET_API int
297efreet_desktop_save(Efreet_Desktop *desktop) 297efreet_desktop_save(Efreet_Desktop *desktop)
298{ 298{
299 Efreet_Desktop_Type_Info *info; 299 Efreet_Desktop_Type_Info *info;
@@ -349,7 +349,7 @@ efreet_desktop_save(Efreet_Desktop *desktop)
349 return ok; 349 return ok;
350} 350}
351 351
352EAPI int 352EFREET_API int
353efreet_desktop_save_as(Efreet_Desktop *desktop, const char *file) 353efreet_desktop_save_as(Efreet_Desktop *desktop, const char *file)
354{ 354{
355 EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, 0); 355 EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, 0);
@@ -363,7 +363,7 @@ efreet_desktop_save_as(Efreet_Desktop *desktop, const char *file)
363 return efreet_desktop_save(desktop); 363 return efreet_desktop_save(desktop);
364} 364}
365 365
366EAPI void 366EFREET_API void
367efreet_desktop_free(Efreet_Desktop *desktop) 367efreet_desktop_free(Efreet_Desktop *desktop)
368{ 368{
369 if (!desktop) return; 369 if (!desktop) return;
@@ -432,26 +432,26 @@ efreet_desktop_free(Efreet_Desktop *desktop)
432 eina_lock_release(&_lock); 432 eina_lock_release(&_lock);
433} 433}
434 434
435EAPI void 435EFREET_API void
436efreet_desktop_environment_set(const char *environment) 436efreet_desktop_environment_set(const char *environment)
437{ 437{
438 eina_stringshare_replace(&desktop_environment, environment); 438 eina_stringshare_replace(&desktop_environment, environment);
439} 439}
440 440
441EAPI const char * 441EFREET_API const char *
442efreet_desktop_environment_get(void) 442efreet_desktop_environment_get(void)
443{ 443{
444 return desktop_environment; 444 return desktop_environment;
445} 445}
446 446
447EAPI unsigned int 447EFREET_API unsigned int
448efreet_desktop_category_count_get(Efreet_Desktop *desktop) 448efreet_desktop_category_count_get(Efreet_Desktop *desktop)
449{ 449{
450 EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, 0); 450 EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, 0);
451 return eina_list_count(desktop->categories); 451 return eina_list_count(desktop->categories);
452} 452}
453 453
454EAPI void 454EFREET_API void
455efreet_desktop_category_add(Efreet_Desktop *desktop, const char *category) 455efreet_desktop_category_add(Efreet_Desktop *desktop, const char *category)
456{ 456{
457 EINA_SAFETY_ON_NULL_RETURN(desktop); 457 EINA_SAFETY_ON_NULL_RETURN(desktop);
@@ -466,7 +466,7 @@ efreet_desktop_category_add(Efreet_Desktop *desktop, const char *category)
466 eina_lock_release(&_lock); 466 eina_lock_release(&_lock);
467} 467}
468 468
469EAPI int 469EFREET_API int
470efreet_desktop_category_del(Efreet_Desktop *desktop, const char *category) 470efreet_desktop_category_del(Efreet_Desktop *desktop, const char *category)
471{ 471{
472 char *found = NULL; 472 char *found = NULL;
@@ -487,7 +487,7 @@ efreet_desktop_category_del(Efreet_Desktop *desktop, const char *category)
487 return 0; 487 return 0;
488} 488}
489 489
490EAPI int 490EFREET_API int
491efreet_desktop_type_add(const char *type, Efreet_Desktop_Type_Parse_Cb parse_func, 491efreet_desktop_type_add(const char *type, Efreet_Desktop_Type_Parse_Cb parse_func,
492 Efreet_Desktop_Type_Save_Cb save_func, 492 Efreet_Desktop_Type_Save_Cb save_func,
493 Efreet_Desktop_Type_Free_Cb free_func) 493 Efreet_Desktop_Type_Free_Cb free_func)
@@ -511,7 +511,7 @@ efreet_desktop_type_add(const char *type, Efreet_Desktop_Type_Parse_Cb parse_fun
511 return id; 511 return id;
512} 512}
513 513
514EAPI int 514EFREET_API int
515efreet_desktop_type_alias(int from_type, const char *alias) 515efreet_desktop_type_alias(int from_type, const char *alias)
516{ 516{
517 Efreet_Desktop_Type_Info *info; 517 Efreet_Desktop_Type_Info *info;
@@ -521,7 +521,7 @@ efreet_desktop_type_alias(int from_type, const char *alias)
521 return efreet_desktop_type_add(alias, info->parse_func, info->save_func, info->free_func); 521 return efreet_desktop_type_add(alias, info->parse_func, info->save_func, info->free_func);
522} 522}
523 523
524EAPI Eina_Bool 524EFREET_API Eina_Bool
525efreet_desktop_x_field_set(Efreet_Desktop *desktop, const char *key, const char *data) 525efreet_desktop_x_field_set(Efreet_Desktop *desktop, const char *key, const char *data)
526{ 526{
527 EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, EINA_FALSE); 527 EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, EINA_FALSE);
@@ -539,7 +539,7 @@ efreet_desktop_x_field_set(Efreet_Desktop *desktop, const char *key, const char
539 return EINA_TRUE; 539 return EINA_TRUE;
540} 540}
541 541
542EAPI const char * 542EFREET_API const char *
543efreet_desktop_x_field_get(Efreet_Desktop *desktop, const char *key) 543efreet_desktop_x_field_get(Efreet_Desktop *desktop, const char *key)
544{ 544{
545 const char *ret; 545 const char *ret;
@@ -562,7 +562,7 @@ efreet_desktop_x_field_get(Efreet_Desktop *desktop, const char *key)
562 return ret; 562 return ret;
563} 563}
564 564
565EAPI Eina_Bool 565EFREET_API Eina_Bool
566efreet_desktop_x_field_del(Efreet_Desktop *desktop, const char *key) 566efreet_desktop_x_field_del(Efreet_Desktop *desktop, const char *key)
567{ 567{
568 Eina_Bool ret; 568 Eina_Bool ret;
@@ -576,14 +576,14 @@ efreet_desktop_x_field_del(Efreet_Desktop *desktop, const char *key)
576 return ret; 576 return ret;
577} 577}
578 578
579EAPI void * 579EFREET_API void *
580efreet_desktop_type_data_get(Efreet_Desktop *desktop) 580efreet_desktop_type_data_get(Efreet_Desktop *desktop)
581{ 581{
582 EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, NULL); 582 EINA_SAFETY_ON_NULL_RETURN_VAL(desktop, NULL);
583 return desktop->type_data; 583 return desktop->type_data;
584} 584}
585 585
586EAPI Eina_List * 586EFREET_API Eina_List *
587efreet_desktop_string_list_parse(const char *string) 587efreet_desktop_string_list_parse(const char *string)
588{ 588{
589 Eina_List *list = NULL; 589 Eina_List *list = NULL;
@@ -617,7 +617,7 @@ efreet_desktop_string_list_parse(const char *string)
617 return list; 617 return list;
618} 618}
619 619
620EAPI char * 620EFREET_API char *
621efreet_desktop_string_list_join(Eina_List *list) 621efreet_desktop_string_list_join(Eina_List *list)
622{ 622{
623 Eina_List *l; 623 Eina_List *l;
diff --git a/src/lib/efreet/efreet_desktop.h b/src/lib/efreet/efreet_desktop.h
index 8f2c30a4e6..42227f2a7c 100644
--- a/src/lib/efreet/efreet_desktop.h
+++ b/src/lib/efreet/efreet_desktop.h
@@ -13,21 +13,21 @@
13 */ 13 */
14 14
15 15
16EAPI extern int EFREET_DESKTOP_TYPE_APPLICATION; 16EFREET_API extern int EFREET_DESKTOP_TYPE_APPLICATION;
17EAPI extern int EFREET_DESKTOP_TYPE_LINK; 17EFREET_API extern int EFREET_DESKTOP_TYPE_LINK;
18EAPI extern int EFREET_DESKTOP_TYPE_DIRECTORY; 18EFREET_API extern int EFREET_DESKTOP_TYPE_DIRECTORY;
19 19
20/** 20/**
21 * Event id for cache update. All users of efreet_desktop_get must listen to 21 * Event id for cache update. All users of efreet_desktop_get must listen to
22 * this event and refetch. The old eet cache will be closed and mem will 22 * this event and refetch. The old eet cache will be closed and mem will
23 * be invalidated. 23 * be invalidated.
24 */ 24 */
25EAPI extern int EFREET_EVENT_DESKTOP_CACHE_UPDATE; 25EFREET_API extern int EFREET_EVENT_DESKTOP_CACHE_UPDATE;
26/** 26/**
27 * Event id for cache build complete. 27 * Event id for cache build complete.
28 * @since 1.1.0 28 * @since 1.1.0
29 */ 29 */
30EAPI extern int EFREET_EVENT_DESKTOP_CACHE_BUILD; 30EFREET_API extern int EFREET_EVENT_DESKTOP_CACHE_BUILD;
31 31
32/** 32/**
33 * Efreet_Desktop_Action 33 * Efreet_Desktop_Action
@@ -146,21 +146,21 @@ struct _Efreet_Desktop
146 * the Efreet_Desktop struct should be invalidated and reloaded from a new 146 * the Efreet_Desktop struct should be invalidated and reloaded from a new
147 * cache file. 147 * cache file.
148 */ 148 */
149EAPI Efreet_Desktop *efreet_desktop_get(const char *file); 149EFREET_API Efreet_Desktop *efreet_desktop_get(const char *file);
150 150
151/** 151/**
152 * @param desktop The Efreet_Desktop to ref 152 * @param desktop The Efreet_Desktop to ref
153 * @return Returns the new reference count 153 * @return Returns the new reference count
154 * @brief Increases reference count on desktop 154 * @brief Increases reference count on desktop
155 */ 155 */
156EAPI int efreet_desktop_ref(Efreet_Desktop *desktop); 156EFREET_API int efreet_desktop_ref(Efreet_Desktop *desktop);
157 157
158/** 158/**
159 * @param file The file to create the Efreet_Desktop from 159 * @param file The file to create the Efreet_Desktop from
160 * @return Returns a new empty_Efreet_Desktop on success, NULL on failure 160 * @return Returns a new empty_Efreet_Desktop on success, NULL on failure
161 * @brief Creates a new empty Efreet_Desktop structure or NULL on failure 161 * @brief Creates a new empty Efreet_Desktop structure or NULL on failure
162 */ 162 */
163EAPI Efreet_Desktop *efreet_desktop_empty_new(const char *file); 163EFREET_API Efreet_Desktop *efreet_desktop_empty_new(const char *file);
164 164
165/** 165/**
166 * @param file The file to get the Efreet_Desktop from 166 * @param file The file to get the Efreet_Desktop from
@@ -174,7 +174,7 @@ EAPI Efreet_Desktop *efreet_desktop_empty_new(const char *file);
174 * the Efreet_Desktop struct should be invalidated and reloaded from a new 174 * the Efreet_Desktop struct should be invalidated and reloaded from a new
175 * cache file. 175 * cache file.
176 */ 176 */
177EAPI Efreet_Desktop *efreet_desktop_new(const char *file); 177EFREET_API Efreet_Desktop *efreet_desktop_new(const char *file);
178 178
179/** 179/**
180 * @param file The file to create the Efreet_Desktop from 180 * @param file The file to create the Efreet_Desktop from
@@ -188,14 +188,14 @@ EAPI Efreet_Desktop *efreet_desktop_new(const char *file);
188 * Data in the structure is allocated with strdup, so use free and strdup to 188 * Data in the structure is allocated with strdup, so use free and strdup to
189 * change values. 189 * change values.
190 */ 190 */
191EAPI Efreet_Desktop *efreet_desktop_uncached_new(const char *file); 191EFREET_API Efreet_Desktop *efreet_desktop_uncached_new(const char *file);
192 192
193/** 193/**
194 * @param desktop The Efreet_Desktop to work with 194 * @param desktop The Efreet_Desktop to work with
195 * @return Returns no value 195 * @return Returns no value
196 * @brief Frees the Efreet_Desktop structure and all of it's data 196 * @brief Frees the Efreet_Desktop structure and all of it's data
197 */ 197 */
198EAPI void efreet_desktop_free(Efreet_Desktop *desktop); 198EFREET_API void efreet_desktop_free(Efreet_Desktop *desktop);
199 199
200/** 200/**
201 * @def efreet_desktop_unref(desktop) 201 * @def efreet_desktop_unref(desktop)
@@ -210,7 +210,7 @@ EAPI void efreet_desktop_free(Efreet_Desktop *desktop);
210 * @brief Saves any changes made to @a desktop back to the file on the 210 * @brief Saves any changes made to @a desktop back to the file on the
211 * filesystem 211 * filesystem
212 */ 212 */
213EAPI int efreet_desktop_save(Efreet_Desktop *desktop); 213EFREET_API int efreet_desktop_save(Efreet_Desktop *desktop);
214 214
215/** 215/**
216 * @param desktop The desktop file to save 216 * @param desktop The desktop file to save
@@ -221,7 +221,7 @@ EAPI int efreet_desktop_save(Efreet_Desktop *desktop);
221 * Please use efreet_desktop_uncached_new() on an existing file 221 * Please use efreet_desktop_uncached_new() on an existing file
222 * before using efreet_desktop_save_as() 222 * before using efreet_desktop_save_as()
223 */ 223 */
224EAPI int efreet_desktop_save_as(Efreet_Desktop *desktop, 224EFREET_API int efreet_desktop_save_as(Efreet_Desktop *desktop,
225 const char *file); 225 const char *file);
226 226
227 227
@@ -231,7 +231,7 @@ EAPI int efreet_desktop_save_as(Efreet_Desktop *desktop,
231 * @param data The data pointer to pass 231 * @param data The data pointer to pass
232 * @brief Parses the @a desktop exec line and runs the command. 232 * @brief Parses the @a desktop exec line and runs the command.
233 */ 233 */
234EAPI void efreet_desktop_exec(Efreet_Desktop *desktop, 234EFREET_API void efreet_desktop_exec(Efreet_Desktop *desktop,
235 Eina_List *files, void *data); 235 Eina_List *files, void *data);
236 236
237 237
@@ -239,14 +239,14 @@ EAPI void efreet_desktop_exec(Efreet_Desktop *desktop,
239 * @param environment the environment name 239 * @param environment the environment name
240 * @brief sets the global desktop environment name 240 * @brief sets the global desktop environment name
241 */ 241 */
242EAPI void efreet_desktop_environment_set(const char *environment); 242EFREET_API void efreet_desktop_environment_set(const char *environment);
243 243
244/** 244/**
245 * @return environment the environment name 245 * @return environment the environment name
246 * @brief gets the global desktop environment name 246 * @brief gets the global desktop environment name
247 * (e.g. "Enlightenment" or "Gnome") 247 * (e.g. "Enlightenment" or "Gnome")
248 */ 248 */
249EAPI const char *efreet_desktop_environment_get(void); 249EFREET_API const char *efreet_desktop_environment_get(void);
250 250
251/** 251/**
252 * @param desktop the desktop entry 252 * @param desktop the desktop entry
@@ -259,7 +259,7 @@ EAPI const char *efreet_desktop_environment_get(void);
259 * @brief Get a command to use to execute a desktop entry, and receive progress 259 * @brief Get a command to use to execute a desktop entry, and receive progress
260 * updates for downloading of remote URI's passed in. 260 * updates for downloading of remote URI's passed in.
261 */ 261 */
262EAPI void *efreet_desktop_command_progress_get(Efreet_Desktop *desktop, 262EFREET_API void *efreet_desktop_command_progress_get(Efreet_Desktop *desktop,
263 Eina_List *files, 263 Eina_List *files,
264 Efreet_Desktop_Command_Cb cb_command, 264 Efreet_Desktop_Command_Cb cb_command,
265 Efreet_Desktop_Progress_Cb cb_prog, 265 Efreet_Desktop_Progress_Cb cb_prog,
@@ -273,7 +273,7 @@ EAPI void *efreet_desktop_command_progress_get(Efreet_Desktop *deskt
273 * @return Returns the return value of @p func on success or NULL on failure 273 * @return Returns the return value of @p func on success or NULL on failure
274 * @brief Get a command to use to execute a desktop entry. 274 * @brief Get a command to use to execute a desktop entry.
275 */ 275 */
276EAPI void *efreet_desktop_command_get(Efreet_Desktop *desktop, 276EFREET_API void *efreet_desktop_command_get(Efreet_Desktop *desktop,
277 Eina_List *files, 277 Eina_List *files,
278 Efreet_Desktop_Command_Cb func, 278 Efreet_Desktop_Command_Cb func,
279 void *data); 279 void *data);
@@ -286,7 +286,7 @@ EAPI void *efreet_desktop_command_get(Efreet_Desktop *desktop,
286 * 286 *
287 * The returned list and each of its elements must be freed. 287 * The returned list and each of its elements must be freed.
288 */ 288 */
289EAPI Eina_List * efreet_desktop_command_local_get(Efreet_Desktop *desktop, 289EFREET_API Eina_List * efreet_desktop_command_local_get(Efreet_Desktop *desktop,
290 Eina_List *files); 290 Eina_List *files);
291 291
292 292
@@ -296,14 +296,14 @@ EAPI Eina_List * efreet_desktop_command_local_get(Efreet_Desktop *desktop,
296 * @brief Retrieves the number of categories the given @a desktop belongs 296 * @brief Retrieves the number of categories the given @a desktop belongs
297 * too 297 * too
298 */ 298 */
299EAPI unsigned int efreet_desktop_category_count_get(Efreet_Desktop *desktop); 299EFREET_API unsigned int efreet_desktop_category_count_get(Efreet_Desktop *desktop);
300 300
301/** 301/**
302 * @param desktop the desktop 302 * @param desktop the desktop
303 * @param category the category name 303 * @param category the category name
304 * @brief add a category to a desktop 304 * @brief add a category to a desktop
305 */ 305 */
306EAPI void efreet_desktop_category_add(Efreet_Desktop *desktop, 306EFREET_API void efreet_desktop_category_add(Efreet_Desktop *desktop,
307 const char *category); 307 const char *category);
308 308
309/** 309/**
@@ -312,7 +312,7 @@ EAPI void efreet_desktop_category_add(Efreet_Desktop *desktop,
312 * @brief removes a category from a desktop 312 * @brief removes a category from a desktop
313 * @return 1 if the desktop had his category listed, 0 otherwise 313 * @return 1 if the desktop had his category listed, 0 otherwise
314 */ 314 */
315EAPI int efreet_desktop_category_del(Efreet_Desktop *desktop, 315EFREET_API int efreet_desktop_category_del(Efreet_Desktop *desktop,
316 const char *category); 316 const char *category);
317 317
318 318
@@ -324,7 +324,7 @@ EAPI int efreet_desktop_category_del(Efreet_Desktop *desktop,
324 * @return Returns the id of the new type 324 * @return Returns the id of the new type
325 * @brief Adds the given type to the list of types in the system 325 * @brief Adds the given type to the list of types in the system
326 */ 326 */
327EAPI int efreet_desktop_type_add(const char *type, 327EFREET_API int efreet_desktop_type_add(const char *type,
328 Efreet_Desktop_Type_Parse_Cb parse_func, 328 Efreet_Desktop_Type_Parse_Cb parse_func,
329 Efreet_Desktop_Type_Save_Cb save_func, 329 Efreet_Desktop_Type_Save_Cb save_func,
330 Efreet_Desktop_Type_Free_Cb free_func); 330 Efreet_Desktop_Type_Free_Cb free_func);
@@ -337,7 +337,7 @@ EAPI int efreet_desktop_type_add(const char *type,
337 * 337 *
338 * This allows applications to add non-standard types that behave exactly as standard types. 338 * This allows applications to add non-standard types that behave exactly as standard types.
339 */ 339 */
340EAPI int efreet_desktop_type_alias (int from_type, 340EFREET_API int efreet_desktop_type_alias (int from_type,
341 const char *alias); 341 const char *alias);
342 342
343/** 343/**
@@ -345,7 +345,7 @@ EAPI int efreet_desktop_type_alias (int from_type,
345 * @param desktop the desktop 345 * @param desktop the desktop
346 * @return type specific data, or NULL if there is none 346 * @return type specific data, or NULL if there is none
347 */ 347 */
348EAPI void *efreet_desktop_type_data_get(Efreet_Desktop *desktop); 348EFREET_API void *efreet_desktop_type_data_get(Efreet_Desktop *desktop);
349 349
350 350
351/** 351/**
@@ -353,14 +353,14 @@ EAPI void *efreet_desktop_type_data_get(Efreet_Desktop *desktop);
353 * @return an Eina_List of ecore string's 353 * @return an Eina_List of ecore string's
354 * @brief Parse ';' separate list of strings according to the desktop spec 354 * @brief Parse ';' separate list of strings according to the desktop spec
355 */ 355 */
356EAPI Eina_List *efreet_desktop_string_list_parse(const char *string); 356EFREET_API Eina_List *efreet_desktop_string_list_parse(const char *string);
357 357
358/** 358/**
359 * @param list Eina_List with strings 359 * @param list Eina_List with strings
360 * @return a raw string list 360 * @return a raw string list
361 * @brief Create a ';' separate list of strings according to the desktop spec 361 * @brief Create a ';' separate list of strings according to the desktop spec
362 */ 362 */
363EAPI char *efreet_desktop_string_list_join(Eina_List *list); 363EFREET_API char *efreet_desktop_string_list_join(Eina_List *list);
364 364
365 365
366/** 366/**
@@ -372,7 +372,7 @@ EAPI char *efreet_desktop_string_list_join(Eina_List *list);
372 * 372 *
373 * The key has to start with "X-" 373 * The key has to start with "X-"
374 */ 374 */
375EAPI Eina_Bool efreet_desktop_x_field_set(Efreet_Desktop *desktop, const char *key, const char *data); 375EFREET_API Eina_Bool efreet_desktop_x_field_set(Efreet_Desktop *desktop, const char *key, const char *data);
376 376
377/** 377/**
378 * @brief Get the value for a X- field (Non spec) in the structure 378 * @brief Get the value for a X- field (Non spec) in the structure
@@ -380,7 +380,7 @@ EAPI Eina_Bool efreet_desktop_x_field_set(Efreet_Desktop *desktop, const
380 * @param key the key 380 * @param key the key
381 * @return The value referenced by the key, or NULL if the key does not exist 381 * @return The value referenced by the key, or NULL if the key does not exist
382 */ 382 */
383EAPI const char * efreet_desktop_x_field_get(Efreet_Desktop *desktop, const char *key); 383EFREET_API const char * efreet_desktop_x_field_get(Efreet_Desktop *desktop, const char *key);
384 384
385/** 385/**
386 * @brief Delete the key and value for a X- field (Non spec) in the structure 386 * @brief Delete the key and value for a X- field (Non spec) in the structure
@@ -388,7 +388,7 @@ EAPI const char * efreet_desktop_x_field_get(Efreet_Desktop *desktop, const
388 * @param key the key 388 * @param key the key
389 * @return EINA_TRUE if the key existed 389 * @return EINA_TRUE if the key existed
390 */ 390 */
391EAPI Eina_Bool efreet_desktop_x_field_del(Efreet_Desktop *desktop, const char *key); 391EFREET_API Eina_Bool efreet_desktop_x_field_del(Efreet_Desktop *desktop, const char *key);
392 392
393/** 393/**
394 * @} 394 * @}
diff --git a/src/lib/efreet/efreet_desktop_command.c b/src/lib/efreet/efreet_desktop_command.c
index 6c388caa3f..796a48cb31 100644
--- a/src/lib/efreet/efreet_desktop_command.c
+++ b/src/lib/efreet/efreet_desktop_command.c
@@ -113,20 +113,20 @@ static char *efreet_string_append_char(char *dest, int *size,
113 int *len, char c); 113 int *len, char c);
114 114
115 115
116EAPI void 116EFREET_API void
117efreet_desktop_exec(Efreet_Desktop *desktop, Eina_List *files, void *data) 117efreet_desktop_exec(Efreet_Desktop *desktop, Eina_List *files, void *data)
118{ 118{
119 efreet_desktop_command_get(desktop, files, efreet_desktop_exec_cb, data); 119 efreet_desktop_command_get(desktop, files, efreet_desktop_exec_cb, data);
120} 120}
121 121
122EAPI void * 122EFREET_API void *
123efreet_desktop_command_get(Efreet_Desktop *desktop, Eina_List *files, 123efreet_desktop_command_get(Efreet_Desktop *desktop, Eina_List *files,
124 Efreet_Desktop_Command_Cb func, void *data) 124 Efreet_Desktop_Command_Cb func, void *data)
125{ 125{
126 return efreet_desktop_command_progress_get(desktop, files, func, NULL, data); 126 return efreet_desktop_command_progress_get(desktop, files, func, NULL, data);
127} 127}
128 128
129EAPI Eina_List * 129EFREET_API Eina_List *
130efreet_desktop_command_local_get(Efreet_Desktop *desktop, Eina_List *files) 130efreet_desktop_command_local_get(Efreet_Desktop *desktop, Eina_List *files)
131{ 131{
132 Efreet_Desktop_Command *command; 132 Efreet_Desktop_Command *command;
@@ -166,7 +166,7 @@ efreet_desktop_command_local_get(Efreet_Desktop *desktop, Eina_List *files)
166 return execs; 166 return execs;
167} 167}
168 168
169EAPI void * 169EFREET_API void *
170efreet_desktop_command_progress_get(Efreet_Desktop *desktop, Eina_List *files, 170efreet_desktop_command_progress_get(Efreet_Desktop *desktop, Eina_List *files,
171 Efreet_Desktop_Command_Cb cb_command, 171 Efreet_Desktop_Command_Cb cb_command,
172 Efreet_Desktop_Progress_Cb cb_progress, 172 Efreet_Desktop_Progress_Cb cb_progress,
diff --git a/src/lib/efreet/efreet_icon.c b/src/lib/efreet/efreet_icon.c
index a07d2b216f..a2cd59aa9d 100644
--- a/src/lib/efreet/efreet_icon.c
+++ b/src/lib/efreet/efreet_icon.c
@@ -93,7 +93,7 @@ efreet_icon_extensions_refresh(void)
93 efreet_cache_icon_exts_add(efreet_icon_extensions); 93 efreet_cache_icon_exts_add(efreet_icon_extensions);
94} 94}
95 95
96EAPI const char * 96EFREET_API const char *
97efreet_icon_deprecated_user_dir_get(void) 97efreet_icon_deprecated_user_dir_get(void)
98{ 98{
99 const char *user; 99 const char *user;
@@ -114,7 +114,7 @@ efreet_icon_deprecated_user_dir_get(void)
114 return efreet_icon_deprecated_user_dir; 114 return efreet_icon_deprecated_user_dir;
115} 115}
116 116
117EAPI const char * 117EFREET_API const char *
118efreet_icon_user_dir_get(void) 118efreet_icon_user_dir_get(void)
119{ 119{
120 const char *user; 120 const char *user;
@@ -135,7 +135,7 @@ efreet_icon_user_dir_get(void)
135 return efreet_icon_user_dir; 135 return efreet_icon_user_dir;
136} 136}
137 137
138EAPI void 138EFREET_API void
139efreet_icon_extension_add(const char *ext) 139efreet_icon_extension_add(const char *ext)
140{ 140{
141 Eina_List *l; 141 Eina_List *l;
@@ -154,26 +154,26 @@ efreet_icon_extension_add(const char *ext)
154 efreet_icon_extensions_refresh(); 154 efreet_icon_extensions_refresh();
155} 155}
156 156
157EAPI Eina_List ** 157EFREET_API Eina_List **
158efreet_icon_extra_list_get(void) 158efreet_icon_extra_list_get(void)
159{ 159{
160 ecore_job_add(efreet_cache_icon_dirs_add_cb, NULL); 160 ecore_job_add(efreet_cache_icon_dirs_add_cb, NULL);
161 return &efreet_extra_icon_dirs; 161 return &efreet_extra_icon_dirs;
162} 162}
163 163
164EAPI Eina_List * 164EFREET_API Eina_List *
165efreet_icon_extensions_list_get(void) 165efreet_icon_extensions_list_get(void)
166{ 166{
167 return efreet_icon_extensions; 167 return efreet_icon_extensions;
168} 168}
169 169
170EAPI Eina_List * 170EFREET_API Eina_List *
171efreet_icon_theme_list_get(void) 171efreet_icon_theme_list_get(void)
172{ 172{
173 return efreet_cache_icon_theme_list(); 173 return efreet_cache_icon_theme_list();
174} 174}
175 175
176EAPI Efreet_Icon_Theme * 176EFREET_API Efreet_Icon_Theme *
177efreet_icon_theme_find(const char *theme_name) 177efreet_icon_theme_find(const char *theme_name)
178{ 178{
179 if (!theme_name) return NULL; 179 if (!theme_name) return NULL;
@@ -219,7 +219,7 @@ efreet_icon_remove_extension(const char *icon)
219} 219}
220#endif 220#endif
221 221
222EAPI const char * 222EFREET_API const char *
223efreet_icon_path_find(const char *theme_name, const char *icon, unsigned int size) 223efreet_icon_path_find(const char *theme_name, const char *icon, unsigned int size)
224{ 224{
225#ifdef SLOPPY_SPEC 225#ifdef SLOPPY_SPEC
@@ -267,7 +267,7 @@ efreet_icon_path_find(const char *theme_name, const char *icon, unsigned int siz
267 return value; 267 return value;
268} 268}
269 269
270EAPI const char * 270EFREET_API const char *
271efreet_icon_list_find(const char *theme_name, Eina_List *icons, 271efreet_icon_list_find(const char *theme_name, Eina_List *icons,
272 unsigned int size) 272 unsigned int size)
273{ 273{
@@ -346,7 +346,7 @@ efreet_icon_list_find(const char *theme_name, Eina_List *icons,
346 return value; 346 return value;
347} 347}
348 348
349EAPI Efreet_Icon * 349EFREET_API Efreet_Icon *
350efreet_icon_find(const char *theme_name, const char *icon, unsigned int size) 350efreet_icon_find(const char *theme_name, const char *icon, unsigned int size)
351{ 351{
352 const char *path; 352 const char *path;
@@ -408,7 +408,7 @@ efreet_icon_new(const char *path)
408 return icon; 408 return icon;
409} 409}
410 410
411EAPI void 411EFREET_API void
412efreet_icon_free(Efreet_Icon *icon) 412efreet_icon_free(Efreet_Icon *icon)
413{ 413{
414 if (!icon) return; 414 if (!icon) return;
diff --git a/src/lib/efreet/efreet_icon.h b/src/lib/efreet/efreet_icon.h
index 0495622d9b..644098f32a 100644
--- a/src/lib/efreet/efreet_icon.h
+++ b/src/lib/efreet/efreet_icon.h
@@ -16,7 +16,7 @@
16/** 16/**
17 * Event id for cache update. 17 * Event id for cache update.
18 */ 18 */
19EAPI extern int EFREET_EVENT_ICON_CACHE_UPDATE; 19EFREET_API extern int EFREET_EVENT_ICON_CACHE_UPDATE;
20 20
21/** 21/**
22 * The possible contexts for an icon directory 22 * The possible contexts for an icon directory
@@ -144,20 +144,20 @@ struct Efreet_Icon_Point
144 * @return Returns the user icon directory 144 * @return Returns the user icon directory
145 * @brief Returns the user icon directory 145 * @brief Returns the user icon directory
146 */ 146 */
147EAPI const char *efreet_icon_user_dir_get(void); 147EFREET_API const char *efreet_icon_user_dir_get(void);
148 148
149/** 149/**
150 * @return Returns the deprecated user icon directory 150 * @return Returns the deprecated user icon directory
151 * @brief Returns the deprecated user icon directory 151 * @brief Returns the deprecated user icon directory
152 */ 152 */
153EAPI const char *efreet_icon_deprecated_user_dir_get(void); 153EFREET_API const char *efreet_icon_deprecated_user_dir_get(void);
154 154
155/** 155/**
156 * @param ext The extension to add to the list of checked extensions 156 * @param ext The extension to add to the list of checked extensions
157 * @return Returns no value. 157 * @return Returns no value.
158 * @brief Adds the given extension to the list of possible icon extensions 158 * @brief Adds the given extension to the list of possible icon extensions
159 */ 159 */
160EAPI void efreet_icon_extension_add(const char *ext); 160EFREET_API void efreet_icon_extension_add(const char *ext);
161 161
162 162
163/** 163/**
@@ -168,13 +168,13 @@ EAPI void efreet_icon_extension_add(const char *ext);
168 * from first to last directory in this list. the strings in the list should 168 * from first to last directory in this list. the strings in the list should
169 * be created with eina_stringshare_add(). 169 * be created with eina_stringshare_add().
170 */ 170 */
171EAPI Eina_List **efreet_icon_extra_list_get(void); 171EFREET_API Eina_List **efreet_icon_extra_list_get(void);
172 172
173/** 173/**
174 * @return Returns a list of strings that are icon extensions to look for 174 * @return Returns a list of strings that are icon extensions to look for
175 * @brief Gets the list of all icon extensions to look for 175 * @brief Gets the list of all icon extensions to look for
176 */ 176 */
177EAPI Eina_List *efreet_icon_extensions_list_get(void); 177EFREET_API Eina_List *efreet_icon_extensions_list_get(void);
178 178
179/** 179/**
180 * @return Returns a list of Efreet_Icon structs for all the non-hidden icon 180 * @return Returns a list of Efreet_Icon structs for all the non-hidden icon
@@ -182,7 +182,7 @@ EAPI Eina_List *efreet_icon_extensions_list_get(void);
182 * @brief Retrieves all of the non-hidden icon themes available on the system. 182 * @brief Retrieves all of the non-hidden icon themes available on the system.
183 * The returned list must be freed. Do not free the list data. 183 * The returned list must be freed. Do not free the list data.
184 */ 184 */
185EAPI Eina_List *efreet_icon_theme_list_get(void); 185EFREET_API Eina_List *efreet_icon_theme_list_get(void);
186 186
187/** 187/**
188 * @param theme_name The theme to look for 188 * @param theme_name The theme to look for
@@ -190,7 +190,7 @@ EAPI Eina_List *efreet_icon_theme_list_get(void);
190 * none exists. 190 * none exists.
191 * @brief Tries to get the icon theme structure for the given theme name 191 * @brief Tries to get the icon theme structure for the given theme name
192 */ 192 */
193EAPI Efreet_Icon_Theme *efreet_icon_theme_find(const char *theme_name); 193EFREET_API Efreet_Icon_Theme *efreet_icon_theme_find(const char *theme_name);
194 194
195/** 195/**
196 * @param theme_name The icon theme to look for 196 * @param theme_name The icon theme to look for
@@ -200,7 +200,7 @@ EAPI Efreet_Icon_Theme *efreet_icon_theme_find(const char *theme_name);
200 * if the icon is not found 200 * if the icon is not found
201 * @brief Retrieves all of the information about the given icon. 201 * @brief Retrieves all of the information about the given icon.
202 */ 202 */
203EAPI Efreet_Icon *efreet_icon_find(const char *theme_name, 203EFREET_API Efreet_Icon *efreet_icon_find(const char *theme_name,
204 const char *icon, 204 const char *icon,
205 unsigned int size); 205 unsigned int size);
206 206
@@ -218,7 +218,7 @@ EAPI Efreet_Icon *efreet_icon_find(const char *theme_name,
218 * There is no guarantee for how long the pointer to the path will be valid. 218 * There is no guarantee for how long the pointer to the path will be valid.
219 * If the pointer is to be kept, the user must create a copy of the path. 219 * If the pointer is to be kept, the user must create a copy of the path.
220 */ 220 */
221EAPI const char *efreet_icon_list_find(const char *theme_name, 221EFREET_API const char *efreet_icon_list_find(const char *theme_name,
222 Eina_List *icons, 222 Eina_List *icons,
223 unsigned int size); 223 unsigned int size);
224 224
@@ -232,7 +232,7 @@ EAPI const char *efreet_icon_list_find(const char *theme_name,
232 * There is no guarantee for how long the pointer to the path will be valid. 232 * There is no guarantee for how long the pointer to the path will be valid.
233 * If the pointer is to be kept, the user must create a copy of the path. 233 * If the pointer is to be kept, the user must create a copy of the path.
234 */ 234 */
235EAPI const char *efreet_icon_path_find(const char *theme_name, 235EFREET_API const char *efreet_icon_path_find(const char *theme_name,
236 const char *icon, 236 const char *icon,
237 unsigned int size); 237 unsigned int size);
238 238
@@ -241,7 +241,7 @@ EAPI const char *efreet_icon_path_find(const char *theme_name,
241 * @return Returns no value. 241 * @return Returns no value.
242 * @brief Free's the given icon and all its internal data. 242 * @brief Free's the given icon and all its internal data.
243 */ 243 */
244EAPI void efreet_icon_free(Efreet_Icon *icon); 244EFREET_API void efreet_icon_free(Efreet_Icon *icon);
245 245
246/** 246/**
247 * @} 247 * @}
diff --git a/src/lib/efreet/efreet_ini.c b/src/lib/efreet/efreet_ini.c
index dc35d8550b..d8ab629db2 100644
--- a/src/lib/efreet/efreet_ini.c
+++ b/src/lib/efreet/efreet_ini.c
@@ -50,7 +50,7 @@ efreet_ini_shutdown(void)
50 _efreet_ini_log_dom = -1; 50 _efreet_ini_log_dom = -1;
51} 51}
52 52
53EAPI Efreet_Ini * 53EFREET_API Efreet_Ini *
54efreet_ini_new(const char *file) 54efreet_ini_new(const char *file)
55{ 55{
56 Efreet_Ini *ini; 56 Efreet_Ini *ini;
@@ -230,7 +230,7 @@ error:
230 return NULL; 230 return NULL;
231} 231}
232 232
233EAPI void 233EFREET_API void
234efreet_ini_free(Efreet_Ini *ini) 234efreet_ini_free(Efreet_Ini *ini)
235{ 235{
236 if (!ini) return; 236 if (!ini) return;
@@ -239,7 +239,7 @@ efreet_ini_free(Efreet_Ini *ini)
239 FREE(ini); 239 FREE(ini);
240} 240}
241 241
242EAPI int 242EFREET_API int
243efreet_ini_save(Efreet_Ini *ini, const char *file) 243efreet_ini_save(Efreet_Ini *ini, const char *file)
244{ 244{
245 char *dir; 245 char *dir;
@@ -265,7 +265,7 @@ efreet_ini_save(Efreet_Ini *ini, const char *file)
265 return 1; 265 return 1;
266} 266}
267 267
268EAPI int 268EFREET_API int
269efreet_ini_section_set(Efreet_Ini *ini, const char *section) 269efreet_ini_section_set(Efreet_Ini *ini, const char *section)
270{ 270{
271 EINA_SAFETY_ON_NULL_RETURN_VAL(ini, 0); 271 EINA_SAFETY_ON_NULL_RETURN_VAL(ini, 0);
@@ -276,7 +276,7 @@ efreet_ini_section_set(Efreet_Ini *ini, const char *section)
276 return (ini->section ? 1 : 0); 276 return (ini->section ? 1 : 0);
277} 277}
278 278
279EAPI void 279EFREET_API void
280efreet_ini_section_add(Efreet_Ini *ini, const char *section) 280efreet_ini_section_add(Efreet_Ini *ini, const char *section)
281{ 281{
282 Eina_Hash *hash; 282 Eina_Hash *hash;
@@ -292,7 +292,7 @@ efreet_ini_section_add(Efreet_Ini *ini, const char *section)
292 eina_hash_add(ini->data, section, hash); 292 eina_hash_add(ini->data, section, hash);
293} 293}
294 294
295EAPI const char * 295EFREET_API const char *
296efreet_ini_string_get(Efreet_Ini *ini, const char *key) 296efreet_ini_string_get(Efreet_Ini *ini, const char *key)
297{ 297{
298 EINA_SAFETY_ON_NULL_RETURN_VAL(ini, NULL); 298 EINA_SAFETY_ON_NULL_RETURN_VAL(ini, NULL);
@@ -302,7 +302,7 @@ efreet_ini_string_get(Efreet_Ini *ini, const char *key)
302 return eina_hash_find(ini->section, key); 302 return eina_hash_find(ini->section, key);
303} 303}
304 304
305EAPI void 305EFREET_API void
306efreet_ini_string_set(Efreet_Ini *ini, const char *key, const char *value) 306efreet_ini_string_set(Efreet_Ini *ini, const char *key, const char *value)
307{ 307{
308 EINA_SAFETY_ON_NULL_RETURN(ini); 308 EINA_SAFETY_ON_NULL_RETURN(ini);
@@ -313,7 +313,7 @@ efreet_ini_string_set(Efreet_Ini *ini, const char *key, const char *value)
313 eina_hash_add(ini->section, key, eina_stringshare_add(value)); 313 eina_hash_add(ini->section, key, eina_stringshare_add(value));
314} 314}
315 315
316EAPI int 316EFREET_API int
317efreet_ini_int_get(Efreet_Ini *ini, const char *key) 317efreet_ini_int_get(Efreet_Ini *ini, const char *key)
318{ 318{
319 const char *str; 319 const char *str;
@@ -328,7 +328,7 @@ efreet_ini_int_get(Efreet_Ini *ini, const char *key)
328 return -1; 328 return -1;
329} 329}
330 330
331EAPI void 331EFREET_API void
332efreet_ini_int_set(Efreet_Ini *ini, const char *key, int value) 332efreet_ini_int_set(Efreet_Ini *ini, const char *key, int value)
333{ 333{
334 char str[12]; 334 char str[12];
@@ -341,7 +341,7 @@ efreet_ini_int_set(Efreet_Ini *ini, const char *key, int value)
341 efreet_ini_string_set(ini, key, str); 341 efreet_ini_string_set(ini, key, str);
342} 342}
343 343
344EAPI double 344EFREET_API double
345efreet_ini_double_get(Efreet_Ini *ini, const char *key) 345efreet_ini_double_get(Efreet_Ini *ini, const char *key)
346{ 346{
347 const char *str; 347 const char *str;
@@ -356,7 +356,7 @@ efreet_ini_double_get(Efreet_Ini *ini, const char *key)
356 return -1; 356 return -1;
357} 357}
358 358
359EAPI void 359EFREET_API void
360efreet_ini_double_set(Efreet_Ini *ini, const char *key, double value) 360efreet_ini_double_set(Efreet_Ini *ini, const char *key, double value)
361{ 361{
362 char str[512]; 362 char str[512];
@@ -373,7 +373,7 @@ efreet_ini_double_set(Efreet_Ini *ini, const char *key, double value)
373 efreet_ini_string_set(ini, key, str); 373 efreet_ini_string_set(ini, key, str);
374} 374}
375 375
376EAPI unsigned int 376EFREET_API unsigned int
377efreet_ini_boolean_get(Efreet_Ini *ini, const char *key) 377efreet_ini_boolean_get(Efreet_Ini *ini, const char *key)
378{ 378{
379 const char *str; 379 const char *str;
@@ -388,7 +388,7 @@ efreet_ini_boolean_get(Efreet_Ini *ini, const char *key)
388 return 0; 388 return 0;
389} 389}
390 390
391EAPI void 391EFREET_API void
392efreet_ini_boolean_set(Efreet_Ini *ini, const char *key, unsigned int value) 392efreet_ini_boolean_set(Efreet_Ini *ini, const char *key, unsigned int value)
393{ 393{
394 EINA_SAFETY_ON_NULL_RETURN(ini); 394 EINA_SAFETY_ON_NULL_RETURN(ini);
@@ -399,7 +399,7 @@ efreet_ini_boolean_set(Efreet_Ini *ini, const char *key, unsigned int value)
399 else efreet_ini_string_set(ini, key, "false"); 399 else efreet_ini_string_set(ini, key, "false");
400} 400}
401 401
402EAPI const char * 402EFREET_API const char *
403efreet_ini_localestring_get(Efreet_Ini *ini, const char *key) 403efreet_ini_localestring_get(Efreet_Ini *ini, const char *key)
404{ 404{
405 const char *lang, *country, *modifier; 405 const char *lang, *country, *modifier;
@@ -457,7 +457,7 @@ efreet_ini_localestring_get(Efreet_Ini *ini, const char *key)
457 return val; 457 return val;
458} 458}
459 459
460EAPI void 460EFREET_API void
461efreet_ini_localestring_set(Efreet_Ini *ini, const char *key, const char *value) 461efreet_ini_localestring_set(Efreet_Ini *ini, const char *key, const char *value)
462{ 462{
463 const char *lang, *country, *modifier; 463 const char *lang, *country, *modifier;
@@ -493,7 +493,7 @@ efreet_ini_localestring_set(Efreet_Ini *ini, const char *key, const char *value)
493 efreet_ini_string_set(ini, buf, value); 493 efreet_ini_string_set(ini, buf, value);
494} 494}
495 495
496EAPI void 496EFREET_API void
497efreet_ini_key_unset(Efreet_Ini *ini, const char *key) 497efreet_ini_key_unset(Efreet_Ini *ini, const char *key)
498{ 498{
499 EINA_SAFETY_ON_NULL_RETURN(ini); 499 EINA_SAFETY_ON_NULL_RETURN(ini);
diff --git a/src/lib/efreet/efreet_ini.h b/src/lib/efreet/efreet_ini.h
index 2dec08aece..e028caefaa 100644
--- a/src/lib/efreet/efreet_ini.h
+++ b/src/lib/efreet/efreet_ini.h
@@ -34,14 +34,14 @@ struct Efreet_Ini
34 * @brief Creates and initializes a new Ini structure with the contents of 34 * @brief Creates and initializes a new Ini structure with the contents of
35 * @a file, or NULL on failure 35 * @a file, or NULL on failure
36 */ 36 */
37EAPI Efreet_Ini *efreet_ini_new(const char *file); 37EFREET_API Efreet_Ini *efreet_ini_new(const char *file);
38 38
39/** 39/**
40 * @param ini The Efreet_Ini to work with 40 * @param ini The Efreet_Ini to work with
41 * @return Returns no value 41 * @return Returns no value
42 * @brief Frees the given Efree_Ini structure. 42 * @brief Frees the given Efree_Ini structure.
43 */ 43 */
44EAPI void efreet_ini_free(Efreet_Ini *ini); 44EFREET_API void efreet_ini_free(Efreet_Ini *ini);
45 45
46/** 46/**
47 * @param ini The Efreet_Ini to work with 47 * @param ini The Efreet_Ini to work with
@@ -49,7 +49,7 @@ EAPI void efreet_ini_free(Efreet_Ini *ini);
49 * @return Returns no value 49 * @return Returns no value
50 * @brief Saves the given Efree_Ini structure. 50 * @brief Saves the given Efree_Ini structure.
51 */ 51 */
52EAPI int efreet_ini_save(Efreet_Ini *ini, const char *path); 52EFREET_API int efreet_ini_save(Efreet_Ini *ini, const char *path);
53 53
54 54
55/** 55/**
@@ -58,7 +58,7 @@ EAPI int efreet_ini_save(Efreet_Ini *ini, const char *path);
58 * @return Returns 1 if the section exists, otherwise 0 58 * @return Returns 1 if the section exists, otherwise 0
59 * @brief Sets the current working section of the ini file to @a section 59 * @brief Sets the current working section of the ini file to @a section
60 */ 60 */
61EAPI int efreet_ini_section_set(Efreet_Ini *ini, const char *section); 61EFREET_API int efreet_ini_section_set(Efreet_Ini *ini, const char *section);
62 62
63/** 63/**
64 * @param ini The Efreet_Ini to work with 64 * @param ini The Efreet_Ini to work with
@@ -66,7 +66,7 @@ EAPI int efreet_ini_section_set(Efreet_Ini *ini, const char *section);
66 * @return Returns no value 66 * @return Returns no value
67 * @brief Adds a new working section of the ini file to @a section 67 * @brief Adds a new working section of the ini file to @a section
68 */ 68 */
69EAPI void efreet_ini_section_add(Efreet_Ini *ini, const char *section); 69EFREET_API void efreet_ini_section_add(Efreet_Ini *ini, const char *section);
70 70
71 71
72/** 72/**
@@ -76,7 +76,7 @@ EAPI void efreet_ini_section_add(Efreet_Ini *ini, const char *section);
76 * found. 76 * found.
77 * @brief Retrieves the value for the given key or NULL if none found. 77 * @brief Retrieves the value for the given key or NULL if none found.
78 */ 78 */
79EAPI const char *efreet_ini_string_get(Efreet_Ini *ini, const char *key); 79EFREET_API const char *efreet_ini_string_get(Efreet_Ini *ini, const char *key);
80 80
81/** 81/**
82 * @param ini The Efree_Ini to work with 82 * @param ini The Efree_Ini to work with
@@ -85,7 +85,7 @@ EAPI const char *efreet_ini_string_get(Efreet_Ini *ini, const char *key);
85 * @return Returns no value 85 * @return Returns no value
86 * @brief Sets the value for the given key 86 * @brief Sets the value for the given key
87 */ 87 */
88EAPI void efreet_ini_string_set(Efreet_Ini *ini, const char *key, 88EFREET_API void efreet_ini_string_set(Efreet_Ini *ini, const char *key,
89 const char *value); 89 const char *value);
90 90
91 91
@@ -96,7 +96,7 @@ EAPI void efreet_ini_string_set(Efreet_Ini *ini, const char *key,
96 * if none found 96 * if none found
97 * @brief Retrieves the utf8 encoded string associated with @a key in the current locale or NULL if none found 97 * @brief Retrieves the utf8 encoded string associated with @a key in the current locale or NULL if none found
98 */ 98 */
99EAPI const char *efreet_ini_localestring_get(Efreet_Ini *ini, const char *key); 99EFREET_API const char *efreet_ini_localestring_get(Efreet_Ini *ini, const char *key);
100 100
101/** 101/**
102 * @param ini The ini struct to work with 102 * @param ini The ini struct to work with
@@ -105,7 +105,7 @@ EAPI const char *efreet_ini_localestring_get(Efreet_Ini *ini, const char *key);
105 * @return Returns no value 105 * @return Returns no value
106 * @brief Sets the value for the given key 106 * @brief Sets the value for the given key
107 */ 107 */
108EAPI void efreet_ini_localestring_set(Efreet_Ini *ini, const char *key, 108EFREET_API void efreet_ini_localestring_set(Efreet_Ini *ini, const char *key,
109 const char *value); 109 const char *value);
110 110
111 111
@@ -115,7 +115,7 @@ EAPI void efreet_ini_localestring_set(Efreet_Ini *ini, const char *key,
115 * @return Returns 1 if the boolean is true, 0 otherwise 115 * @return Returns 1 if the boolean is true, 0 otherwise
116 * @brief Retrieves the boolean value at key @a key from the ini @a ini 116 * @brief Retrieves the boolean value at key @a key from the ini @a ini
117 */ 117 */
118EAPI unsigned int efreet_ini_boolean_get(Efreet_Ini *ini, const char *key); 118EFREET_API unsigned int efreet_ini_boolean_get(Efreet_Ini *ini, const char *key);
119 119
120/** 120/**
121 * @param ini The ini struct to work with 121 * @param ini The ini struct to work with
@@ -124,7 +124,7 @@ EAPI unsigned int efreet_ini_boolean_get(Efreet_Ini *ini, const char *key);
124 * @return Returns no value 124 * @return Returns no value
125 * @brief Sets the value for the given key 125 * @brief Sets the value for the given key
126 */ 126 */
127EAPI void efreet_ini_boolean_set(Efreet_Ini *ini, const char *key, 127EFREET_API void efreet_ini_boolean_set(Efreet_Ini *ini, const char *key,
128 unsigned int value); 128 unsigned int value);
129 129
130 130
@@ -135,7 +135,7 @@ EAPI void efreet_ini_boolean_set(Efreet_Ini *ini, const char *key,
135 * found. 135 * found.
136 * @brief Retrieves the value for the given key or -1 if none found. 136 * @brief Retrieves the value for the given key or -1 if none found.
137 */ 137 */
138EAPI int efreet_ini_int_get(Efreet_Ini *ini, const char *key); 138EFREET_API int efreet_ini_int_get(Efreet_Ini *ini, const char *key);
139 139
140/** 140/**
141 * @param ini The Efree_Ini to work with 141 * @param ini The Efree_Ini to work with
@@ -144,7 +144,7 @@ EAPI int efreet_ini_int_get(Efreet_Ini *ini, const char *key);
144 * @return Returns no value 144 * @return Returns no value
145 * @brief Sets the value for the given key 145 * @brief Sets the value for the given key
146 */ 146 */
147EAPI void efreet_ini_int_set(Efreet_Ini *ini, const char *key, int value); 147EFREET_API void efreet_ini_int_set(Efreet_Ini *ini, const char *key, int value);
148 148
149 149
150/** 150/**
@@ -154,7 +154,7 @@ EAPI void efreet_ini_int_set(Efreet_Ini *ini, const char *key, int value
154 * found. 154 * found.
155 * @brief Retrieves the value for the given key or -1 if none found. 155 * @brief Retrieves the value for the given key or -1 if none found.
156 */ 156 */
157EAPI double efreet_ini_double_get(Efreet_Ini *ini, const char *key); 157EFREET_API double efreet_ini_double_get(Efreet_Ini *ini, const char *key);
158 158
159/** 159/**
160 * @param ini The Efree_Ini to work with 160 * @param ini The Efree_Ini to work with
@@ -163,7 +163,7 @@ EAPI double efreet_ini_double_get(Efreet_Ini *ini, const char *key);
163 * @return Returns no value 163 * @return Returns no value
164 * @brief Sets the value for the given key 164 * @brief Sets the value for the given key
165 */ 165 */
166EAPI void efreet_ini_double_set(Efreet_Ini *ini, const char *key, 166EFREET_API void efreet_ini_double_set(Efreet_Ini *ini, const char *key,
167 double value); 167 double value);
168 168
169 169
@@ -173,7 +173,7 @@ EAPI void efreet_ini_double_set(Efreet_Ini *ini, const char *key,
173 * @return Returns no value 173 * @return Returns no value
174 * @brief Remove the given key from the ini struct 174 * @brief Remove the given key from the ini struct
175 */ 175 */
176EAPI void efreet_ini_key_unset(Efreet_Ini *ini, const char *key); 176EFREET_API void efreet_ini_key_unset(Efreet_Ini *ini, const char *key);
177 177
178/** 178/**
179 * @} 179 * @}
diff --git a/src/lib/efreet/efreet_menu.c b/src/lib/efreet/efreet_menu.c
index 890934fc22..798c7f0987 100644
--- a/src/lib/efreet/efreet_menu.c
+++ b/src/lib/efreet/efreet_menu.c
@@ -448,7 +448,7 @@ efreet_menu_init(void)
448 return 1; 448 return 1;
449} 449}
450 450
451EAPI int 451EFREET_API int
452efreet_menu_kde_legacy_init(void) 452efreet_menu_kde_legacy_init(void)
453{ 453{
454 FILE *f; 454 FILE *f;
@@ -506,7 +506,7 @@ efreet_menu_shutdown(void)
506 _efreet_menu_log_dom = -1; 506 _efreet_menu_log_dom = -1;
507} 507}
508 508
509EAPI Efreet_Menu * 509EFREET_API Efreet_Menu *
510efreet_menu_new(const char *name) 510efreet_menu_new(const char *name)
511{ 511{
512 Efreet_Menu *menu; 512 Efreet_Menu *menu;
@@ -519,7 +519,7 @@ efreet_menu_new(const char *name)
519 return menu; 519 return menu;
520} 520}
521 521
522EAPI void 522EFREET_API void
523efreet_menu_file_set(const char *file) 523efreet_menu_file_set(const char *file)
524{ 524{
525 IF_RELEASE(efreet_menu_file); 525 IF_RELEASE(efreet_menu_file);
@@ -528,7 +528,7 @@ efreet_menu_file_set(const char *file)
528} 528}
529 529
530/* deprecated */ 530/* deprecated */
531EFREET_DEPRECATED_API EAPI void 531EFREET_DEPRECATED_API EFREET_API void
532efreet_menu_async_get(Efreet_Menu_Cb func EINA_UNUSED, const void *data EINA_UNUSED) 532efreet_menu_async_get(Efreet_Menu_Cb func EINA_UNUSED, const void *data EINA_UNUSED)
533{ 533{
534 ERR("%s is deprecated and shouldn't be called", __func__); 534 ERR("%s is deprecated and shouldn't be called", __func__);
@@ -536,7 +536,7 @@ efreet_menu_async_get(Efreet_Menu_Cb func EINA_UNUSED, const void *data EINA_UNU
536 return; 536 return;
537} 537}
538 538
539EAPI Efreet_Menu * 539EFREET_API Efreet_Menu *
540efreet_menu_get(void) 540efreet_menu_get(void)
541{ 541{
542 char menu[PATH_MAX]; 542 char menu[PATH_MAX];
@@ -572,7 +572,7 @@ efreet_menu_get(void)
572} 572}
573 573
574/* deprecated */ 574/* deprecated */
575EFREET_DEPRECATED_API EAPI void 575EFREET_DEPRECATED_API EFREET_API void
576efreet_menu_async_parse(const char *path EINA_UNUSED, Efreet_Menu_Cb func EINA_UNUSED, const void *data EINA_UNUSED) 576efreet_menu_async_parse(const char *path EINA_UNUSED, Efreet_Menu_Cb func EINA_UNUSED, const void *data EINA_UNUSED)
577{ 577{
578 ERR("%s is deprecated and shouldn't be called", __func__); 578 ERR("%s is deprecated and shouldn't be called", __func__);
@@ -580,7 +580,7 @@ efreet_menu_async_parse(const char *path EINA_UNUSED, Efreet_Menu_Cb func EINA_U
580 return; 580 return;
581} 581}
582 582
583EAPI Efreet_Menu * 583EFREET_API Efreet_Menu *
584efreet_menu_parse(const char *path) 584efreet_menu_parse(const char *path)
585{ 585{
586 Efreet_Xml *xml; 586 Efreet_Xml *xml;
@@ -648,7 +648,7 @@ error:
648 return entry; 648 return entry;
649} 649}
650 650
651EAPI int 651EFREET_API int
652efreet_menu_save(Efreet_Menu *menu, const char *path) 652efreet_menu_save(Efreet_Menu *menu, const char *path)
653{ 653{
654 FILE *f; 654 FILE *f;
@@ -667,7 +667,7 @@ efreet_menu_save(Efreet_Menu *menu, const char *path)
667 return ret; 667 return ret;
668} 668}
669 669
670EAPI int 670EFREET_API int
671efreet_menu_desktop_insert(Efreet_Menu *menu, Efreet_Desktop *desktop, int pos) 671efreet_menu_desktop_insert(Efreet_Menu *menu, Efreet_Desktop *desktop, int pos)
672{ 672{
673 Efreet_Menu *entry; 673 Efreet_Menu *entry;
@@ -697,7 +697,7 @@ efreet_menu_desktop_insert(Efreet_Menu *menu, Efreet_Desktop *desktop, int pos)
697 return 1; 697 return 1;
698} 698}
699 699
700EAPI int 700EFREET_API int
701efreet_menu_desktop_remove(Efreet_Menu *menu, Efreet_Desktop *desktop) 701efreet_menu_desktop_remove(Efreet_Menu *menu, Efreet_Desktop *desktop)
702{ 702{
703 Efreet_Menu *entry; 703 Efreet_Menu *entry;
@@ -717,7 +717,7 @@ efreet_menu_desktop_remove(Efreet_Menu *menu, Efreet_Desktop *desktop)
717 return 0; 717 return 0;
718} 718}
719 719
720EAPI void 720EFREET_API void
721efreet_menu_dump(Efreet_Menu *menu, const char *indent) 721efreet_menu_dump(Efreet_Menu *menu, const char *indent)
722{ 722{
723 Eina_List *l; 723 Eina_List *l;
@@ -2339,7 +2339,7 @@ efreet_menu_entry_new(void)
2339 return entry; 2339 return entry;
2340} 2340}
2341 2341
2342EAPI void 2342EFREET_API void
2343efreet_menu_free(Efreet_Menu *entry) 2343efreet_menu_free(Efreet_Menu *entry)
2344{ 2344{
2345 Efreet_Menu *sub; 2345 Efreet_Menu *sub;
@@ -2357,7 +2357,7 @@ efreet_menu_free(Efreet_Menu *entry)
2357 FREE(entry); 2357 FREE(entry);
2358} 2358}
2359 2359
2360EAPI void 2360EFREET_API void
2361efreet_menu_ref(Efreet_Menu *entry) 2361efreet_menu_ref(Efreet_Menu *entry)
2362{ 2362{
2363 Efreet_Menu *sub; 2363 Efreet_Menu *sub;
@@ -2370,7 +2370,7 @@ efreet_menu_ref(Efreet_Menu *entry)
2370 entry->references++; 2370 entry->references++;
2371} 2371}
2372 2372
2373EAPI void 2373EFREET_API void
2374efreet_menu_unref(Efreet_Menu *entry) 2374efreet_menu_unref(Efreet_Menu *entry)
2375{ 2375{
2376 efreet_menu_free(entry); 2376 efreet_menu_free(entry);
diff --git a/src/lib/efreet/efreet_menu.h b/src/lib/efreet/efreet_menu.h
index 16d8de210d..9aead8fe73 100644
--- a/src/lib/efreet/efreet_menu.h
+++ b/src/lib/efreet/efreet_menu.h
@@ -57,7 +57,7 @@ typedef void (*Efreet_Menu_Cb) (void *data, Efreet_Menu *menu);
57 * @brief Initialize legacy kde support. This function blocks while 57 * @brief Initialize legacy kde support. This function blocks while
58 * the kde-config script is run. 58 * the kde-config script is run.
59 */ 59 */
60EAPI int efreet_menu_kde_legacy_init(void); 60EFREET_API int efreet_menu_kde_legacy_init(void);
61 61
62/** 62/**
63 * @param name The internal name of the menu 63 * @param name The internal name of the menu
@@ -65,7 +65,7 @@ EAPI int efreet_menu_kde_legacy_init(void);
65 * NULL on failure 65 * NULL on failure
66 * @brief Creates a new menu 66 * @brief Creates a new menu
67 */ 67 */
68EAPI Efreet_Menu *efreet_menu_new(const char *name); 68EFREET_API Efreet_Menu *efreet_menu_new(const char *name);
69 69
70/** 70/**
71 * @brief Override which file is used for menu creation 71 * @brief Override which file is used for menu creation
@@ -74,7 +74,7 @@ EAPI Efreet_Menu *efreet_menu_new(const char *name);
74 * This file is only used if it exists, else the standard files will be used 74 * This file is only used if it exists, else the standard files will be used
75 * for the menu. 75 * for the menu.
76 */ 76 */
77EAPI void efreet_menu_file_set(const char *file); 77EFREET_API void efreet_menu_file_set(const char *file);
78 78
79/** 79/**
80 * Creates the Efreet_Menu representation of the default menu or 80 * Creates the Efreet_Menu representation of the default menu or
@@ -84,14 +84,14 @@ EAPI void efreet_menu_file_set(const char *file);
84 * 84 *
85 * @deprecated 85 * @deprecated
86 */ 86 */
87EFREET_DEPRECATED_API EAPI void efreet_menu_async_get(Efreet_Menu_Cb func, const void *data); 87EFREET_DEPRECATED_API EFREET_API void efreet_menu_async_get(Efreet_Menu_Cb func, const void *data);
88 88
89/** 89/**
90 * @return Returns the Efreet_Menu representation of the default menu or 90 * @return Returns the Efreet_Menu representation of the default menu or
91 * NULL if none found 91 * NULL if none found
92 * @brief Creates the default menu representation 92 * @brief Creates the default menu representation
93 */ 93 */
94EAPI Efreet_Menu *efreet_menu_get(void); 94EFREET_API Efreet_Menu *efreet_menu_get(void);
95 95
96/** 96/**
97 * Parses the given .menu file and creates the menu representation, and 97 * Parses the given .menu file and creates the menu representation, and
@@ -102,7 +102,7 @@ EAPI Efreet_Menu *efreet_menu_get(void);
102 * 102 *
103 * @deprecated 103 * @deprecated
104 */ 104 */
105EFREET_DEPRECATED_API EAPI void efreet_menu_async_parse(const char *path, Efreet_Menu_Cb func, const void *data); 105EFREET_DEPRECATED_API EFREET_API void efreet_menu_async_parse(const char *path, Efreet_Menu_Cb func, const void *data);
106 106
107/** 107/**
108 * @param path The path of the menu to load 108 * @param path The path of the menu to load
@@ -110,7 +110,7 @@ EFREET_DEPRECATED_API EAPI void efreet_menu_async_parse(const char *
110 * failure 110 * failure
111 * @brief Parses the given .menu file and creates the menu representation 111 * @brief Parses the given .menu file and creates the menu representation
112 */ 112 */
113EAPI Efreet_Menu *efreet_menu_parse(const char *path); 113EFREET_API Efreet_Menu *efreet_menu_parse(const char *path);
114 114
115/** 115/**
116 * @param menu The menu to work with 116 * @param menu The menu to work with
@@ -118,14 +118,14 @@ EAPI Efreet_Menu *efreet_menu_parse(const char *path);
118 * @return Returns 1 on success, 0 on failure 118 * @return Returns 1 on success, 0 on failure
119 * @brief Saves the menu to file 119 * @brief Saves the menu to file
120 */ 120 */
121EAPI int efreet_menu_save(Efreet_Menu *menu, const char *path); 121EFREET_API int efreet_menu_save(Efreet_Menu *menu, const char *path);
122 122
123/** 123/**
124 * @param menu The Efreet_Menu to free 124 * @param menu The Efreet_Menu to free
125 * @return Returns no value 125 * @return Returns no value
126 * @brief Frees the given structure (if refcount at 1 at the time of this call) 126 * @brief Frees the given structure (if refcount at 1 at the time of this call)
127 */ 127 */
128EAPI void efreet_menu_free(Efreet_Menu *menu); 128EFREET_API void efreet_menu_free(Efreet_Menu *menu);
129 129
130/** 130/**
131 * @param menu The Efreet_Menu to reference 131 * @param menu The Efreet_Menu to reference
@@ -133,7 +133,7 @@ EAPI void efreet_menu_free(Efreet_Menu *menu);
133 * @brief Incriments refcount for the menu 133 * @brief Incriments refcount for the menu
134 * @since 1.11 134 * @since 1.11
135 */ 135 */
136EAPI void efreet_menu_ref(Efreet_Menu *menu); 136EFREET_API void efreet_menu_ref(Efreet_Menu *menu);
137 137
138 138
139/** 139/**
@@ -142,7 +142,7 @@ EAPI void efreet_menu_ref(Efreet_Menu *menu);
142 * @brief Decrements refcount for the menu, and on 0 frees 142 * @brief Decrements refcount for the menu, and on 0 frees
143 * @since 1.11 143 * @since 1.11
144 */ 144 */
145EAPI void efreet_menu_unref(Efreet_Menu *menu); 145EFREET_API void efreet_menu_unref(Efreet_Menu *menu);
146 146
147 147
148/** 148/**
@@ -153,7 +153,7 @@ EAPI void efreet_menu_unref(Efreet_Menu *menu);
153 * @brief Insert a desktop element in a menu structure. Only accepts desktop files 153 * @brief Insert a desktop element in a menu structure. Only accepts desktop files
154 * in default directories. 154 * in default directories.
155 */ 155 */
156EAPI int efreet_menu_desktop_insert(Efreet_Menu *menu, 156EFREET_API int efreet_menu_desktop_insert(Efreet_Menu *menu,
157 Efreet_Desktop *desktop, 157 Efreet_Desktop *desktop,
158 int pos); 158 int pos);
159 159
@@ -164,7 +164,7 @@ EAPI int efreet_menu_desktop_insert(Efreet_Menu *menu,
164 * @brief Remove a desktop element in a menu structure. Only accepts desktop files 164 * @brief Remove a desktop element in a menu structure. Only accepts desktop files
165 * in default directories. 165 * in default directories.
166 */ 166 */
167EAPI int efreet_menu_desktop_remove(Efreet_Menu *menu, 167EFREET_API int efreet_menu_desktop_remove(Efreet_Menu *menu,
168 Efreet_Desktop *desktop); 168 Efreet_Desktop *desktop);
169 169
170 170
@@ -175,7 +175,7 @@ EAPI int efreet_menu_desktop_remove(Efreet_Menu *menu,
175 * @return Returns no value 175 * @return Returns no value
176 * @brief Dumps the contents of the menu to the command line 176 * @brief Dumps the contents of the menu to the command line
177 */ 177 */
178EAPI void efreet_menu_dump(Efreet_Menu *menu, const char *indent); 178EFREET_API void efreet_menu_dump(Efreet_Menu *menu, const char *indent);
179 179
180/** 180/**
181 * @} 181 * @}
diff --git a/src/lib/efreet/efreet_mime.c b/src/lib/efreet/efreet_mime.c
index d94894ff71..d34da27192 100644
--- a/src/lib/efreet/efreet_mime.c
+++ b/src/lib/efreet/efreet_mime.c
@@ -417,19 +417,19 @@ efreet_internal_mime_shutdown(void)
417 return _efreet_mime_init_count; 417 return _efreet_mime_init_count;
418} 418}
419 419
420EAPI int 420EFREET_API int
421efreet_mime_init(void) 421efreet_mime_init(void)
422{ 422{
423 return efreet_init(); 423 return efreet_init();
424} 424}
425 425
426EAPI int 426EFREET_API int
427efreet_mime_shutdown(void) 427efreet_mime_shutdown(void)
428{ 428{
429 return efreet_shutdown(); 429 return efreet_shutdown();
430} 430}
431 431
432EAPI const char * 432EFREET_API const char *
433efreet_mime_type_get(const char *file) 433efreet_mime_type_get(const char *file)
434{ 434{
435 const char *type = NULL; 435 const char *type = NULL;
@@ -455,7 +455,7 @@ efreet_mime_type_get(const char *file)
455 return efreet_mime_fallback_check(file); 455 return efreet_mime_fallback_check(file);
456} 456}
457 457
458EAPI const char * 458EFREET_API const char *
459efreet_mime_type_icon_get(const char *mime, const char *theme, unsigned int size) 459efreet_mime_type_icon_get(const char *mime, const char *theme, unsigned int size)
460{ 460{
461 const char *icon = NULL; 461 const char *icon = NULL;
@@ -534,7 +534,7 @@ efreet_mime_type_icon_get(const char *mime, const char *theme, unsigned int size
534 return icon; 534 return icon;
535} 535}
536 536
537EAPI void 537EFREET_API void
538efreet_mime_type_cache_clear(void) 538efreet_mime_type_cache_clear(void)
539{ 539{
540 if (mime_icons) 540 if (mime_icons)
@@ -545,21 +545,21 @@ efreet_mime_type_cache_clear(void)
545 mime_icons = eina_hash_stringshared_new(EINA_FREE_CB(efreet_mime_icon_entry_head_free)); 545 mime_icons = eina_hash_stringshared_new(EINA_FREE_CB(efreet_mime_icon_entry_head_free));
546} 546}
547 547
548EAPI void 548EFREET_API void
549efreet_mime_type_cache_flush(void) 549efreet_mime_type_cache_flush(void)
550{ 550{
551 efreet_mime_icons_flush(ecore_loop_time_get()); 551 efreet_mime_icons_flush(ecore_loop_time_get());
552} 552}
553 553
554 554
555EAPI const char * 555EFREET_API const char *
556efreet_mime_magic_type_get(const char *file) 556efreet_mime_magic_type_get(const char *file)
557{ 557{
558 EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL); 558 EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL);
559 return efreet_mime_magic_check_priority(file, 0, 0); 559 return efreet_mime_magic_check_priority(file, 0, 0);
560} 560}
561 561
562EAPI const char * 562EFREET_API const char *
563efreet_mime_globs_type_get(const char *file) 563efreet_mime_globs_type_get(const char *file)
564{ 564{
565 char *sl, *p; 565 char *sl, *p;
@@ -606,14 +606,14 @@ efreet_mime_globs_type_get(const char *file)
606 return NULL; 606 return NULL;
607} 607}
608 608
609EAPI const char * 609EFREET_API const char *
610efreet_mime_special_type_get(const char *file) 610efreet_mime_special_type_get(const char *file)
611{ 611{
612 EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL); 612 EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL);
613 return efreet_mime_special_check(file); 613 return efreet_mime_special_check(file);
614} 614}
615 615
616EAPI const char * 616EFREET_API const char *
617efreet_mime_fallback_type_get(const char *file) 617efreet_mime_fallback_type_get(const char *file)
618{ 618{
619 EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL); 619 EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL);
diff --git a/src/lib/efreet/efreet_private.h b/src/lib/efreet/efreet_private.h
index 77a74dfca1..2f81adf73e 100644
--- a/src/lib/efreet/efreet_private.h
+++ b/src/lib/efreet/efreet_private.h
@@ -1,31 +1,7 @@
1#ifndef EFREET_PRIVATE_H 1#ifndef EFREET_PRIVATE_H
2#define EFREET_PRIVATE_H 2#define EFREET_PRIVATE_H
3 3
4#ifdef EAPI 4#include <efreet_api.h>
5# undef EAPI
6#endif
7
8#ifdef _WIN32
9# ifdef EFL_BUILD
10# ifdef DLL_EXPORT
11# define EAPI __declspec(dllexport)
12# else
13# define EAPI
14# endif
15# else
16# define EAPI __declspec(dllimport)
17# endif
18#else
19# ifdef __GNUC__
20# if __GNUC__ >= 4
21# define EAPI __attribute__ ((visibility("default")))
22# else
23# define EAPI
24# endif
25# else
26# define EAPI
27# endif
28#endif
29 5
30#ifdef ENABLE_NLS 6#ifdef ENABLE_NLS
31# include <libintl.h> 7# include <libintl.h>
@@ -201,7 +177,7 @@ void efreet_icon_extensions_refresh(void);
201 177
202int efreet_menu_init(void); 178int efreet_menu_init(void);
203void efreet_menu_shutdown(void); 179void efreet_menu_shutdown(void);
204EAPI Eina_List *efreet_default_dirs_get(const char *user_dir, 180EFREET_API Eina_List *efreet_default_dirs_get(const char *user_dir,
205 Eina_List *system_dirs, 181 Eina_List *system_dirs,
206 const char *suffix); 182 const char *suffix);
207 183
@@ -223,10 +199,10 @@ int efreet_internal_trash_shutdown(void);
223const char *efreet_home_dir_get(void); 199const char *efreet_home_dir_get(void);
224void efreet_dirs_reset(void); 200void efreet_dirs_reset(void);
225 201
226EAPI const char *efreet_lang_get(void); 202EFREET_API const char *efreet_lang_get(void);
227EAPI const char *efreet_lang_country_get(void); 203EFREET_API const char *efreet_lang_country_get(void);
228EAPI const char *efreet_lang_modifier_get(void); 204EFREET_API const char *efreet_lang_modifier_get(void);
229EAPI const char *efreet_language_get(void); 205EFREET_API const char *efreet_language_get(void);
230 206
231size_t efreet_array_cat(char *buffer, size_t size, const char *strs[]); 207size_t efreet_array_cat(char *buffer, size_t size, const char *strs[]);
232 208
@@ -249,18 +225,15 @@ Efreet_Cache_Hash *efreet_cache_util_hash_string(const char *key);
249Efreet_Cache_Hash *efreet_cache_util_hash_array_string(const char *key); 225Efreet_Cache_Hash *efreet_cache_util_hash_array_string(const char *key);
250Efreet_Cache_Array_String *efreet_cache_util_names(const char *key); 226Efreet_Cache_Array_String *efreet_cache_util_names(const char *key);
251 227
252EAPI void efreet_cache_array_string_free(Efreet_Cache_Array_String *array); 228EFREET_API void efreet_cache_array_string_free(Efreet_Cache_Array_String *array);
253
254EAPI void efreet_hash_free(Eina_Hash *hash, Eina_Free_Cb free_cb);
255EAPI void efreet_setowner(const char *path);
256EAPI void efreet_fsetowner(int fd);
257 229
258EAPI extern int efreet_cache_update; 230EFREET_API void efreet_hash_free(Eina_Hash *hash, Eina_Free_Cb free_cb);
231EFREET_API void efreet_setowner(const char *path);
232EFREET_API void efreet_fsetowner(int fd);
259 233
260EAPI extern void (*_efreet_mime_update_func) (void); 234EFREET_API extern int efreet_cache_update;
261 235
262#undef EAPI 236EFREET_API extern void (*_efreet_mime_update_func) (void);
263#define EAPI
264 237
265/** 238/**
266 * @} 239 * @}
diff --git a/src/lib/efreet/efreet_trash.c b/src/lib/efreet/efreet_trash.c
index f3837caf47..7162ad4df0 100644
--- a/src/lib/efreet/efreet_trash.c
+++ b/src/lib/efreet/efreet_trash.c
@@ -62,19 +62,19 @@ efreet_internal_trash_shutdown(void)
62 return _efreet_trash_init_count; 62 return _efreet_trash_init_count;
63} 63}
64 64
65EAPI int 65EFREET_API int
66efreet_trash_init(void) 66efreet_trash_init(void)
67{ 67{
68 return efreet_init(); 68 return efreet_init();
69} 69}
70 70
71EAPI int 71EFREET_API int
72efreet_trash_shutdown(void) 72efreet_trash_shutdown(void)
73{ 73{
74 return efreet_shutdown(); 74 return efreet_shutdown();
75} 75}
76 76
77EAPI const char* 77EFREET_API const char*
78efreet_trash_dir_get(const char *file) 78efreet_trash_dir_get(const char *file)
79{ 79{
80 char buf[PATH_MAX + PATH_MAX + 128]; 80 char buf[PATH_MAX + PATH_MAX + 128];
@@ -169,7 +169,7 @@ efreet_trash_dir_get(const char *file)
169 return trash_dir; 169 return trash_dir;
170} 170}
171 171
172EAPI int 172EFREET_API int
173efreet_trash_delete_uri(Efreet_Uri *uri, int force_delete) 173efreet_trash_delete_uri(Efreet_Uri *uri, int force_delete)
174{ 174{
175 char dest[PATH_MAX]; 175 char dest[PATH_MAX];
@@ -256,7 +256,7 @@ efreet_trash_delete_uri(Efreet_Uri *uri, int force_delete)
256 return 1; 256 return 1;
257} 257}
258 258
259EAPI int 259EFREET_API int
260efreet_trash_is_empty(void) 260efreet_trash_is_empty(void)
261{ 261{
262 char buf[PATH_MAX]; 262 char buf[PATH_MAX];
@@ -267,7 +267,7 @@ efreet_trash_is_empty(void)
267 return ecore_file_dir_is_empty(buf); 267 return ecore_file_dir_is_empty(buf);
268} 268}
269 269
270EAPI int 270EFREET_API int
271efreet_trash_empty_trash(void) 271efreet_trash_empty_trash(void)
272{ 272{
273 char buf[PATH_MAX]; 273 char buf[PATH_MAX];
@@ -284,7 +284,7 @@ efreet_trash_empty_trash(void)
284 return 1; 284 return 1;
285} 285}
286 286
287EAPI Eina_List* 287EFREET_API Eina_List*
288efreet_trash_ls(void) 288efreet_trash_ls(void)
289{ 289{
290 char *infofile; 290 char *infofile;
diff --git a/src/lib/efreet/efreet_uri.c b/src/lib/efreet/efreet_uri.c
index 44fe54a35f..c5e6354f94 100644
--- a/src/lib/efreet/efreet_uri.c
+++ b/src/lib/efreet/efreet_uri.c
@@ -16,7 +16,7 @@
16 16
17/* The URI standard is at http://tools.ietf.org/html/std66 */ 17/* The URI standard is at http://tools.ietf.org/html/std66 */
18 18
19EAPI Efreet_Uri * 19EFREET_API Efreet_Uri *
20efreet_uri_decode(const char *full_uri) 20efreet_uri_decode(const char *full_uri)
21{ 21{
22 Efreet_Uri *uri; 22 Efreet_Uri *uri;
@@ -87,7 +87,7 @@ efreet_uri_decode(const char *full_uri)
87 return uri; 87 return uri;
88} 88}
89 89
90EAPI const char * 90EFREET_API const char *
91efreet_uri_encode(Efreet_Uri *uri) 91efreet_uri_encode(Efreet_Uri *uri)
92{ 92{
93 char dest[PATH_MAX * 3 + 4]; 93 char dest[PATH_MAX * 3 + 4];
@@ -116,7 +116,7 @@ efreet_uri_encode(Efreet_Uri *uri)
116 return eina_stringshare_add(dest); 116 return eina_stringshare_add(dest);
117} 117}
118 118
119EAPI void 119EFREET_API void
120efreet_uri_free(Efreet_Uri *uri) 120efreet_uri_free(Efreet_Uri *uri)
121{ 121{
122 if (!uri) return; 122 if (!uri) return;
diff --git a/src/lib/efreet/efreet_uri.h b/src/lib/efreet/efreet_uri.h
index 79bc2f3c1c..5c7905f9e2 100644
--- a/src/lib/efreet/efreet_uri.h
+++ b/src/lib/efreet/efreet_uri.h
@@ -38,7 +38,7 @@ struct Efreet_Uri
38 * @note The resulting string will contain the protocol and the path but not 38 * @note The resulting string will contain the protocol and the path but not
39 * the hostname, as many apps doesn't handle it. 39 * the hostname, as many apps doesn't handle it.
40 */ 40 */
41EAPI const char *efreet_uri_encode(Efreet_Uri *uri); 41EFREET_API const char *efreet_uri_encode(Efreet_Uri *uri);
42 42
43/** 43/**
44 * @param val a valid uri string to parse 44 * @param val a valid uri string to parse
@@ -47,13 +47,13 @@ EAPI const char *efreet_uri_encode(Efreet_Uri *uri);
47 * hostname in the uri then the hostname parameter will be NULL. All the uri 47 * hostname in the uri then the hostname parameter will be NULL. All the uri
48 * escaped chars will be converted to normal. 48 * escaped chars will be converted to normal.
49 */ 49 */
50EAPI Efreet_Uri *efreet_uri_decode(const char *val); 50EFREET_API Efreet_Uri *efreet_uri_decode(const char *val);
51 51
52/** 52/**
53 * @param uri The uri to free 53 * @param uri The uri to free
54 * @brief Free the given uri structure. 54 * @brief Free the given uri structure.
55 */ 55 */
56EAPI void efreet_uri_free(Efreet_Uri *uri); 56EFREET_API void efreet_uri_free(Efreet_Uri *uri);
57 57
58 58
59/** 59/**
diff --git a/src/lib/efreet/efreet_utils.c b/src/lib/efreet/efreet_utils.c
index e1cafaaf89..807840e267 100644
--- a/src/lib/efreet/efreet_utils.c
+++ b/src/lib/efreet/efreet_utils.c
@@ -95,7 +95,7 @@ efreet_util_path_in_default(const char *section, const char *path)
95 return ret; 95 return ret;
96} 96}
97 97
98EAPI const char * 98EFREET_API const char *
99efreet_util_path_to_file_id(const char *path) 99efreet_util_path_to_file_id(const char *path)
100{ 100{
101 size_t len, len2; 101 size_t len, len2;
@@ -140,21 +140,21 @@ efreet_util_path_to_file_id(const char *path)
140 return file_id; 140 return file_id;
141} 141}
142 142
143EAPI Eina_List * 143EFREET_API Eina_List *
144efreet_util_desktop_mime_list(const char *mime) 144efreet_util_desktop_mime_list(const char *mime)
145{ 145{
146 EINA_SAFETY_ON_NULL_RETURN_VAL(mime, NULL); 146 EINA_SAFETY_ON_NULL_RETURN_VAL(mime, NULL);
147 return efreet_util_cache_list("mime_types", mime); 147 return efreet_util_cache_list("mime_types", mime);
148} 148}
149 149
150EAPI Efreet_Desktop * 150EFREET_API Efreet_Desktop *
151efreet_util_desktop_wm_class_find(const char *wmname, const char *wmclass) 151efreet_util_desktop_wm_class_find(const char *wmname, const char *wmclass)
152{ 152{
153 EINA_SAFETY_ON_TRUE_RETURN_VAL((!wmname) && (!wmclass), NULL); 153 EINA_SAFETY_ON_TRUE_RETURN_VAL((!wmname) && (!wmclass), NULL);
154 return efreet_util_cache_find("startup_wm_class", wmname, wmclass); 154 return efreet_util_cache_find("startup_wm_class", wmname, wmclass);
155} 155}
156 156
157EAPI Efreet_Desktop * 157EFREET_API Efreet_Desktop *
158efreet_util_desktop_file_id_find(const char *file_id) 158efreet_util_desktop_file_id_find(const char *file_id)
159{ 159{
160 Efreet_Cache_Hash *hash; 160 Efreet_Cache_Hash *hash;
@@ -240,7 +240,7 @@ efreet_util_cmd_args_get(const char *cmd)
240 return args; 240 return args;
241} 241}
242 242
243EAPI Efreet_Desktop * 243EFREET_API Efreet_Desktop *
244efreet_util_desktop_exec_find(const char *exec) 244efreet_util_desktop_exec_find(const char *exec)
245{ 245{
246 Efreet_Cache_Hash *hash = NULL; 246 Efreet_Cache_Hash *hash = NULL;
@@ -322,28 +322,28 @@ done:
322 return bestret; 322 return bestret;
323} 323}
324 324
325EAPI Efreet_Desktop * 325EFREET_API Efreet_Desktop *
326efreet_util_desktop_name_find(const char *name) 326efreet_util_desktop_name_find(const char *name)
327{ 327{
328 EINA_SAFETY_ON_NULL_RETURN_VAL(name, NULL); 328 EINA_SAFETY_ON_NULL_RETURN_VAL(name, NULL);
329 return efreet_util_cache_find("name", name, NULL); 329 return efreet_util_cache_find("name", name, NULL);
330} 330}
331 331
332EAPI Efreet_Desktop * 332EFREET_API Efreet_Desktop *
333efreet_util_desktop_generic_name_find(const char *generic_name) 333efreet_util_desktop_generic_name_find(const char *generic_name)
334{ 334{
335 EINA_SAFETY_ON_NULL_RETURN_VAL(generic_name, NULL); 335 EINA_SAFETY_ON_NULL_RETURN_VAL(generic_name, NULL);
336 return efreet_util_cache_find("generic_name", generic_name, NULL); 336 return efreet_util_cache_find("generic_name", generic_name, NULL);
337} 337}
338 338
339EAPI Eina_List * 339EFREET_API Eina_List *
340efreet_util_desktop_name_glob_list(const char *glob) 340efreet_util_desktop_name_glob_list(const char *glob)
341{ 341{
342 EINA_SAFETY_ON_NULL_RETURN_VAL(glob, NULL); 342 EINA_SAFETY_ON_NULL_RETURN_VAL(glob, NULL);
343 return efreet_util_cache_glob_list("name", glob); 343 return efreet_util_cache_glob_list("name", glob);
344} 344}
345 345
346EAPI Eina_List * 346EFREET_API Eina_List *
347efreet_util_desktop_exec_glob_list(const char *glob) 347efreet_util_desktop_exec_glob_list(const char *glob)
348{ 348{
349 Efreet_Cache_Hash *hash = NULL; 349 Efreet_Cache_Hash *hash = NULL;
@@ -390,21 +390,21 @@ efreet_util_desktop_exec_glob_list(const char *glob)
390 return ret; 390 return ret;
391} 391}
392 392
393EAPI Eina_List * 393EFREET_API Eina_List *
394efreet_util_desktop_generic_name_glob_list(const char *glob) 394efreet_util_desktop_generic_name_glob_list(const char *glob)
395{ 395{
396 EINA_SAFETY_ON_NULL_RETURN_VAL(glob, NULL); 396 EINA_SAFETY_ON_NULL_RETURN_VAL(glob, NULL);
397 return efreet_util_cache_glob_list("generic_name", glob); 397 return efreet_util_cache_glob_list("generic_name", glob);
398} 398}
399 399
400EAPI Eina_List * 400EFREET_API Eina_List *
401efreet_util_desktop_comment_glob_list(const char *glob) 401efreet_util_desktop_comment_glob_list(const char *glob)
402{ 402{
403 EINA_SAFETY_ON_NULL_RETURN_VAL(glob, NULL); 403 EINA_SAFETY_ON_NULL_RETURN_VAL(glob, NULL);
404 return efreet_util_cache_glob_list("comment", glob); 404 return efreet_util_cache_glob_list("comment", glob);
405} 405}
406 406
407EAPI Eina_List * 407EFREET_API Eina_List *
408efreet_util_desktop_categories_list(void) 408efreet_util_desktop_categories_list(void)
409{ 409{
410 Efreet_Cache_Array_String *array; 410 Efreet_Cache_Array_String *array;
@@ -418,14 +418,14 @@ efreet_util_desktop_categories_list(void)
418 return ret; 418 return ret;
419} 419}
420 420
421EAPI Eina_List * 421EFREET_API Eina_List *
422efreet_util_desktop_category_list(const char *category) 422efreet_util_desktop_category_list(const char *category)
423{ 423{
424 EINA_SAFETY_ON_NULL_RETURN_VAL(category, NULL); 424 EINA_SAFETY_ON_NULL_RETURN_VAL(category, NULL);
425 return efreet_util_cache_list("categories", category); 425 return efreet_util_cache_list("categories", category);
426} 426}
427 427
428EAPI Eina_List * 428EFREET_API Eina_List *
429efreet_util_desktop_environments_list(void) 429efreet_util_desktop_environments_list(void)
430{ 430{
431 Efreet_Cache_Array_String *array; 431 Efreet_Cache_Array_String *array;
@@ -454,7 +454,7 @@ efreet_util_glob_match(const char *str, const char *glob)
454 return 0; 454 return 0;
455} 455}
456 456
457EAPI Eina_List * 457EFREET_API Eina_List *
458efreet_util_menus_find(void) 458efreet_util_menus_find(void)
459{ 459{
460 Eina_List *menus = NULL; 460 Eina_List *menus = NULL;
@@ -599,9 +599,9 @@ efreet_util_cache_glob_list(const char *search, const char *what)
599} 599}
600 600
601/* 601/*
602 * Needs EAPI because of helper binaries 602 * Needs EFREET_API because of helper binaries
603 */ 603 */
604EAPI void 604EFREET_API void
605efreet_hash_free(Eina_Hash *hash, Eina_Free_Cb free_cb) 605efreet_hash_free(Eina_Hash *hash, Eina_Free_Cb free_cb)
606{ 606{
607 eina_hash_free_cb_set(hash, free_cb); 607 eina_hash_free_cb_set(hash, free_cb);
diff --git a/src/lib/efreet/efreet_utils.h b/src/lib/efreet/efreet_utils.h
index aef0511eea..d0e3909e02 100644
--- a/src/lib/efreet/efreet_utils.h
+++ b/src/lib/efreet/efreet_utils.h
@@ -20,7 +20,7 @@
20 * 20 *
21 * @return File id for path or NULL 21 * @return File id for path or NULL
22 */ 22 */
23EAPI const char *efreet_util_path_to_file_id(const char *path); 23EFREET_API const char *efreet_util_path_to_file_id(const char *path);
24 24
25 25
26/** 26/**
@@ -31,7 +31,7 @@ EAPI const char *efreet_util_path_to_file_id(const char *path);
31 * @param mime the mime type 31 * @param mime the mime type
32 * @return a list of desktops 32 * @return a list of desktops
33 */ 33 */
34EAPI Eina_List *efreet_util_desktop_mime_list(const char *mime); 34EFREET_API Eina_List *efreet_util_desktop_mime_list(const char *mime);
35 35
36 36
37/** 37/**
@@ -43,7 +43,7 @@ EAPI Eina_List *efreet_util_desktop_mime_list(const char *mime);
43 * @param wmclass the wm class 43 * @param wmclass the wm class
44 * @return a list of desktops 44 * @return a list of desktops
45 */ 45 */
46EAPI Efreet_Desktop *efreet_util_desktop_wm_class_find(const char *wmname, const char *wmclass); 46EFREET_API Efreet_Desktop *efreet_util_desktop_wm_class_find(const char *wmname, const char *wmclass);
47 47
48/** 48/**
49 * Find a desktop by file id 49 * Find a desktop by file id
@@ -53,7 +53,7 @@ EAPI Efreet_Desktop *efreet_util_desktop_wm_class_find(const char *wmname, const
53 * @param file_id the file id 53 * @param file_id the file id
54 * @return a desktop 54 * @return a desktop
55 */ 55 */
56EAPI Efreet_Desktop *efreet_util_desktop_file_id_find(const char *file_id); 56EFREET_API Efreet_Desktop *efreet_util_desktop_file_id_find(const char *file_id);
57 57
58/** 58/**
59 * Find a desktop by exec 59 * Find a desktop by exec
@@ -63,7 +63,7 @@ EAPI Efreet_Desktop *efreet_util_desktop_file_id_find(const char *file_id);
63 * @param exec the exec name 63 * @param exec the exec name
64 * @return a desktop 64 * @return a desktop
65 */ 65 */
66EAPI Efreet_Desktop *efreet_util_desktop_exec_find(const char *exec); 66EFREET_API Efreet_Desktop *efreet_util_desktop_exec_find(const char *exec);
67 67
68/** 68/**
69 * Find a desktop by name 69 * Find a desktop by name
@@ -73,7 +73,7 @@ EAPI Efreet_Desktop *efreet_util_desktop_exec_find(const char *exec);
73 * @param name the name 73 * @param name the name
74 * @return a desktop 74 * @return a desktop
75 */ 75 */
76EAPI Efreet_Desktop *efreet_util_desktop_name_find(const char *name); 76EFREET_API Efreet_Desktop *efreet_util_desktop_name_find(const char *name);
77 77
78/** 78/**
79 * Find a desktop by generic name 79 * Find a desktop by generic name
@@ -83,7 +83,7 @@ EAPI Efreet_Desktop *efreet_util_desktop_name_find(const char *name);
83 * @param generic_name the generic name 83 * @param generic_name the generic name
84 * @return a desktop 84 * @return a desktop
85 */ 85 */
86EAPI Efreet_Desktop *efreet_util_desktop_generic_name_find(const char *generic_name); 86EFREET_API Efreet_Desktop *efreet_util_desktop_generic_name_find(const char *generic_name);
87 87
88 88
89/** 89/**
@@ -94,7 +94,7 @@ EAPI Efreet_Desktop *efreet_util_desktop_generic_name_find(const char *generic_n
94 * @param glob the pattern to match 94 * @param glob the pattern to match
95 * @return a list of desktops 95 * @return a list of desktops
96 */ 96 */
97EAPI Eina_List *efreet_util_desktop_name_glob_list(const char *glob); 97EFREET_API Eina_List *efreet_util_desktop_name_glob_list(const char *glob);
98 98
99/** 99/**
100 * Find all desktops where exec matches a glob pattern 100 * Find all desktops where exec matches a glob pattern
@@ -104,7 +104,7 @@ EAPI Eina_List *efreet_util_desktop_name_glob_list(const char *glob);
104 * @param glob the pattern to match 104 * @param glob the pattern to match
105 * @return a list of desktops 105 * @return a list of desktops
106 */ 106 */
107EAPI Eina_List *efreet_util_desktop_exec_glob_list(const char *glob); 107EFREET_API Eina_List *efreet_util_desktop_exec_glob_list(const char *glob);
108 108
109/** 109/**
110 * Find all desktops where generic name matches a glob pattern 110 * Find all desktops where generic name matches a glob pattern
@@ -114,7 +114,7 @@ EAPI Eina_List *efreet_util_desktop_exec_glob_list(const char *glob);
114 * @param glob the pattern to match 114 * @param glob the pattern to match
115 * @return a list of desktops 115 * @return a list of desktops
116 */ 116 */
117EAPI Eina_List *efreet_util_desktop_generic_name_glob_list(const char *glob); 117EFREET_API Eina_List *efreet_util_desktop_generic_name_glob_list(const char *glob);
118 118
119/** 119/**
120 * Find all desktops where comment matches a glob pattern 120 * Find all desktops where comment matches a glob pattern
@@ -124,7 +124,7 @@ EAPI Eina_List *efreet_util_desktop_generic_name_glob_list(const char *glob);
124 * @param glob the pattern to match 124 * @param glob the pattern to match
125 * @return a list of desktops 125 * @return a list of desktops
126 */ 126 */
127EAPI Eina_List *efreet_util_desktop_comment_glob_list(const char *glob); 127EFREET_API Eina_List *efreet_util_desktop_comment_glob_list(const char *glob);
128 128
129 129
130/** 130/**
@@ -133,7 +133,7 @@ EAPI Eina_List *efreet_util_desktop_comment_glob_list(const char *glob);
133 * 133 *
134 * @return an Eina_List of category names (const char *) 134 * @return an Eina_List of category names (const char *)
135 */ 135 */
136EAPI Eina_List *efreet_util_desktop_categories_list(void); 136EFREET_API Eina_List *efreet_util_desktop_categories_list(void);
137 137
138/** 138/**
139 * Find all desktops in a given category 139 * Find all desktops in a given category
@@ -143,14 +143,14 @@ EAPI Eina_List *efreet_util_desktop_categories_list(void);
143 * @param category the category name 143 * @param category the category name
144 * @return a list of desktops 144 * @return a list of desktops
145 */ 145 */
146EAPI Eina_List *efreet_util_desktop_category_list(const char *category); 146EFREET_API Eina_List *efreet_util_desktop_category_list(const char *category);
147 147
148 148
149/** 149/**
150 * Returns a list of .menu files found in the various config dirs. 150 * Returns a list of .menu files found in the various config dirs.
151 * @return An eina list of menu file paths (const char *). This must be freed with EINA_LIST_FREE. 151 * @return An eina list of menu file paths (const char *). This must be freed with EINA_LIST_FREE.
152 */ 152 */
153EAPI Eina_List *efreet_util_menus_find(void); 153EFREET_API Eina_List *efreet_util_menus_find(void);
154 154
155/** 155/**
156 * Find all known desktop environments 156 * Find all known desktop environments
@@ -159,7 +159,7 @@ EAPI Eina_List *efreet_util_menus_find(void);
159 * 159 *
160 * @return an Eina_List of desktop environments names (const char *) 160 * @return an Eina_List of desktop environments names (const char *)
161 */ 161 */
162EAPI Eina_List *efreet_util_desktop_environments_list(void); 162EFREET_API Eina_List *efreet_util_desktop_environments_list(void);
163 163
164 164
165/** 165/**
diff --git a/src/lib/efreet/meson.build b/src/lib/efreet/meson.build
index 41d3113566..83bfa33bcf 100644
--- a/src/lib/efreet/meson.build
+++ b/src/lib/efreet/meson.build
@@ -41,7 +41,7 @@ efreet_lib = library('efreet',
41 dependencies: efreet_pub_deps + efreet_ext_deps + efreet_deps, 41 dependencies: efreet_pub_deps + efreet_ext_deps + efreet_deps,
42 include_directories : config_dir + [include_directories('.')], 42 include_directories : config_dir + [include_directories('.')],
43 install: true, 43 install: true,
44 c_args : package_c_args, 44 c_args : [package_c_args, '-DEFREET_BUILD'],
45 version : meson.project_version() 45 version : meson.project_version()
46) 46)
47 47