diff --git a/src/lib/eio/Eio.h b/src/lib/eio/Eio.h index f72529e6e0..3e90cdaf94 100644 --- a/src/lib/eio/Eio.h +++ b/src/lib/eio/Eio.h @@ -32,41 +32,34 @@ #include #include -#ifdef EAPI -# undef EAPI -#endif - -#ifdef EAPI_WEAK -# undef EAPI_WEAK +#ifdef EIO_API +#error EIO_API should not be already defined #endif #ifdef _WIN32 -# ifdef EFL_BUILD -# ifdef DLL_EXPORT -# define EAPI __declspec(dllexport) +# ifndef EIO_STATIC +# ifdef EIO_BUILD +# define EIO_API __declspec(dllexport) # else -# define EAPI +# define EIO_API __declspec(dllimport) # endif # else -# define EAPI __declspec(dllimport) +# define EIO_API +# endif +# define EIO_API_WEAK +#elif defined(__GNUC__) +# if __GNUC__ >= 4 +# define EIO_API __attribute__ ((visibility("default"))) +# define EIO_API_WEAK __attribute__ ((weak)) +# else +# define EIO_API +# define EIO_API_WEAK # endif -# define EAPI_WEAK #else -# ifdef __GNUC__ -# if __GNUC__ >= 4 -# define EAPI __attribute__ ((visibility("default"))) -# define EAPI_WEAK __attribute__ ((weak)) -# else -# define EAPI -# define EAPI_WEAK -# endif -# else -# define EAPI -# define EAPI_WEAK -# endif +# define EIO_API +# define EIO_API_WEAK #endif - #ifdef __cplusplus extern "C" { #endif @@ -133,7 +126,7 @@ static inline Eina_Bool eio_file_is_lnk(const Eina_Stat *stat); * @param interval The interval (in seconds) to poll * @since 1.21 */ -EAPI void eio_monitoring_interval_set(double interval); +EIO_API void eio_monitoring_interval_set(double interval); #include "eio_inline_helper.x" @@ -144,7 +137,4 @@ EAPI void eio_monitoring_interval_set(double interval); } #endif -#undef EAPI -#define EAPI - #endif diff --git a/src/lib/eio/Eio_Legacy.h b/src/lib/eio/Eio_Legacy.h index b14c1177da..e492750f72 100644 --- a/src/lib/eio/Eio_Legacy.h +++ b/src/lib/eio/Eio_Legacy.h @@ -18,7 +18,7 @@ extern "C" { * Eio Version Information * @ingroup Eio */ -EAPI extern Eio_Version *eio_version; +EIO_API extern Eio_Version *eio_version; /** * @file @@ -206,7 +206,7 @@ struct _Eio_Progress * @see eio_file_direct_ls() * @see eio_file_stat_ls() */ -EAPI Eio_File *eio_file_ls(const char *dir, +EIO_API Eio_File *eio_file_ls(const char *dir, Eio_Filter_Cb filter_cb, Eio_Main_Cb main_cb, Eio_Done_Cb done_cb, @@ -241,7 +241,7 @@ EAPI Eio_File *eio_file_ls(const char *dir, * @see eina_file_direct_ls() * @see ecore_thread_feedback_run() */ -EAPI Eio_File *eio_file_direct_ls(const char *dir, +EIO_API Eio_File *eio_file_direct_ls(const char *dir, Eio_Filter_Direct_Cb filter_cb, Eio_Main_Direct_Cb main_cb, Eio_Done_Cb done_cb, @@ -272,7 +272,7 @@ EAPI Eio_File *eio_file_direct_ls(const char *dir, * @see eina_file_stat_ls() * @see ecore_thread_feedback_run() */ -EAPI Eio_File *eio_file_stat_ls(const char *dir, +EIO_API Eio_File *eio_file_stat_ls(const char *dir, Eio_Filter_Direct_Cb filter_cb, Eio_Main_Direct_Cb main_cb, Eio_Done_Cb done_cb, @@ -301,7 +301,7 @@ EAPI Eio_File *eio_file_stat_ls(const char *dir, * @see eina_file_stat_ls() * @see ecore_thread_feedback_run() */ -EAPI Eio_File *eio_dir_stat_ls(const char *dir, +EIO_API Eio_File *eio_dir_stat_ls(const char *dir, Eio_Filter_Direct_Cb filter_cb, Eio_Main_Direct_Cb main_cb, Eio_Done_Cb done_cb, @@ -329,7 +329,7 @@ EAPI Eio_File *eio_dir_stat_ls(const char *dir, * @see eina_file_direct_ls() * @see ecore_thread_feedback_run() */ -EAPI Eio_File *eio_dir_direct_ls(const char *dir, +EIO_API Eio_File *eio_dir_direct_ls(const char *dir, Eio_Filter_Dir_Cb filter_cb, Eio_Main_Direct_Cb main_cb, Eio_Done_Cb done_cb, @@ -346,7 +346,7 @@ EAPI Eio_File *eio_dir_direct_ls(const char *dir, * * eio_file_direct_stat calls stat in another thread. This prevents any blocking in your apps. */ -EAPI Eio_File *eio_file_direct_stat(const char *path, +EIO_API Eio_File *eio_file_direct_stat(const char *path, Eio_Stat_Cb done_cb, Eio_Error_Cb error_cb, const void *data); @@ -380,7 +380,7 @@ EAPI Eio_File *eio_file_direct_stat(const char *path, * Set a new permission of a path changing it to the mode passed as argument. * It's equivalent to the chmod command. */ -EAPI Eio_File *eio_file_chmod(const char *path, +EIO_API Eio_File *eio_file_chmod(const char *path, mode_t mode, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, @@ -402,7 +402,7 @@ EAPI Eio_File *eio_file_chmod(const char *path, * @note Some platforms (including Windows) do not support chown(). In that * case, this function returns @c NULL. */ -EAPI Eio_File *eio_file_chown(const char *path, +EIO_API Eio_File *eio_file_chown(const char *path, const char *user, const char *group, Eio_Done_Cb done_cb, @@ -419,7 +419,7 @@ EAPI Eio_File *eio_file_chown(const char *path, * * This function will erase a file. */ -EAPI Eio_File *eio_file_unlink(const char *path, +EIO_API Eio_File *eio_file_unlink(const char *path, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data); @@ -435,7 +435,7 @@ EAPI Eio_File *eio_file_unlink(const char *path, * * Creates a new directory using the mode provided. */ -EAPI Eio_File *eio_file_mkdir(const char *path, +EIO_API Eio_File *eio_file_mkdir(const char *path, mode_t mode, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, @@ -457,7 +457,7 @@ EAPI Eio_File *eio_file_mkdir(const char *path, * if possible, if not it will fallback to mmap/write. It will try to preserve * access rights, but not user/group identification. */ -EAPI Eio_File *eio_file_move(const char *source, +EIO_API Eio_File *eio_file_move(const char *source, const char *dest, Eio_Progress_Cb progress_cb, Eio_Done_Cb done_cb, @@ -479,7 +479,7 @@ EAPI Eio_File *eio_file_move(const char *source, * if possible, if not it will fallback to mmap/write. It will try to preserve * access rights, but not user/group identification. */ -EAPI Eio_File *eio_file_copy(const char *source, +EIO_API Eio_File *eio_file_copy(const char *source, const char *dest, Eio_Progress_Cb progress_cb, Eio_Done_Cb done_cb, @@ -509,7 +509,7 @@ EAPI Eio_File *eio_file_copy(const char *source, * * @note if a rename occurs, the filter callback will not be called. */ -EAPI Eio_File *eio_dir_move(const char *source, +EIO_API Eio_File *eio_dir_move(const char *source, const char *dest, Eio_Filter_Direct_Cb filter_cb, Eio_Progress_Cb progress_cb, @@ -537,7 +537,7 @@ EAPI Eio_File *eio_dir_move(const char *source, * want to pass the file to the main_cb or not. Return EINA_TRUE to pass it to * the main_cb or EINA_FALSE to ignore it. */ -EAPI Eio_File *eio_dir_copy(const char *source, +EIO_API Eio_File *eio_dir_copy(const char *source, const char *dest, Eio_Filter_Direct_Cb filter_cb, Eio_Progress_Cb progress_cb, @@ -562,7 +562,7 @@ EAPI Eio_File *eio_dir_copy(const char *source, * want to pass the file to the main_cb or not. Return EINA_TRUE to pass it to * the main_cb or EINA_FALSE to ignore it. */ -EAPI Eio_File *eio_dir_unlink(const char *path, +EIO_API Eio_File *eio_dir_unlink(const char *path, Eio_Filter_Direct_Cb filter_cb, Eio_Progress_Cb progress_cb, Eio_Done_Cb done_cb, @@ -593,7 +593,7 @@ EAPI Eio_File *eio_dir_unlink(const char *path, * @param data Unmodified user data passed to callbacks * @return A reference to the I/O operation. */ -EAPI Eio_File *eio_file_xattr(const char *path, +EIO_API Eio_File *eio_file_xattr(const char *path, Eio_Filter_Cb filter_cb, Eio_Main_Cb main_cb, Eio_Done_Cb done_cb, @@ -614,7 +614,7 @@ EAPI Eio_File *eio_file_xattr(const char *path, * eio_file_xattr_int_set calls eina_xattr_int_set from another thread. This prevents blocking in your apps. If * the writing succeeded, the done_cb will be called even if a cancel was requested, but came too late. */ -EAPI Eio_File *eio_file_xattr_int_set(const char *path, +EIO_API Eio_File *eio_file_xattr_int_set(const char *path, const char *attribute, int xattr_int, Eina_Xattr_Flags flags, @@ -636,7 +636,7 @@ EAPI Eio_File *eio_file_xattr_int_set(const char *path, * eio_file_xattr_double_set calls eina_xattr_double_set from another thread. This prevents blocking in your apps. If * the writing succeeded, the done_cb will be called even if a cancel was requested, but came too late. */ -EAPI Eio_File *eio_file_xattr_double_set(const char *path, +EIO_API Eio_File *eio_file_xattr_double_set(const char *path, const char *attribute, double xattr_double, Eina_Xattr_Flags flags, @@ -657,7 +657,7 @@ EAPI Eio_File *eio_file_xattr_double_set(const char *path, * eio_file_xattr_string_set calls eina_xattr_string_set from another thread. This prevents blocking in your apps. If * the writing succeeded, the done_cb will be called even if a cancel was requested, but came too late. */ -EAPI Eio_File *eio_file_xattr_string_set(const char *path, +EIO_API Eio_File *eio_file_xattr_string_set(const char *path, const char *attribute, const char *xattr_string, Eina_Xattr_Flags flags, @@ -679,7 +679,7 @@ EAPI Eio_File *eio_file_xattr_string_set(const char *path, * eio_file_xattr_set calls setxattr from another thread. This prevents blocking in your apps. If * the writing succeeded, the done_cb will be called even if a cancel was requested, but came too late. */ -EAPI Eio_File *eio_file_xattr_set(const char *path, +EIO_API Eio_File *eio_file_xattr_set(const char *path, const char *attribute, const char *xattr_data, unsigned int xattr_size, @@ -699,7 +699,7 @@ EAPI Eio_File *eio_file_xattr_set(const char *path, * * eio_file_xattr_get calls getxattr from another thread. This prevents blocking in your apps. */ -EAPI Eio_File *eio_file_xattr_get(const char *path, +EIO_API Eio_File *eio_file_xattr_get(const char *path, const char *attribute, Eio_Done_Data_Cb done_cb, Eio_Error_Cb error_cb, @@ -715,7 +715,7 @@ EAPI Eio_File *eio_file_xattr_get(const char *path, * * eio_file_xattr_int_get calls eina_xattr_int_get from another thread. This prevents blocking in your apps. */ -EAPI Eio_File *eio_file_xattr_int_get(const char *path, +EIO_API Eio_File *eio_file_xattr_int_get(const char *path, const char *attribute, Eio_Done_Int_Cb done_cb, Eio_Error_Cb error_cb, @@ -731,7 +731,7 @@ EAPI Eio_File *eio_file_xattr_int_get(const char *path, * * eio_file_xattr_double_get calls eina_xattr_double_get from another thread. This prevents blocking in your apps. */ -EAPI Eio_File *eio_file_xattr_double_get(const char *path, +EIO_API Eio_File *eio_file_xattr_double_get(const char *path, const char *attribute, Eio_Done_Double_Cb done_cb, Eio_Error_Cb error_cb, @@ -747,7 +747,7 @@ EAPI Eio_File *eio_file_xattr_double_get(const char *path, * * eio_file_xattr_string_get calls eina_xattr_string_get from another thread. This prevents blocking in your apps. */ -EAPI Eio_File *eio_file_xattr_string_get(const char *path, +EIO_API Eio_File *eio_file_xattr_string_get(const char *path, const char *attribute, Eio_Done_String_Cb done_cb, Eio_Error_Cb error_cb, @@ -774,13 +774,13 @@ EAPI Eio_File *eio_file_xattr_string_get(const char *path, * @brief Initialize eio and all its required submodule. * @return the current number of eio users. */ -EAPI int eio_init(void); +EIO_API int eio_init(void); /** * @brief Shutdown eio and all its submodule if possible. * @return the number of pending users of eio. */ -EAPI int eio_shutdown(void); +EIO_API int eio_shutdown(void); /** * @brief Set the limit to the maximum amount of memory used @@ -798,7 +798,7 @@ EAPI int eio_shutdown(void); * the thread might stall. * @since 1.10 */ -EAPI void eio_memory_burst_limit_set(size_t limit); +EIO_API void eio_memory_burst_limit_set(size_t limit); /** * @brief Get the actual limit to the maximum amount of memory used @@ -807,7 +807,7 @@ EAPI void eio_memory_burst_limit_set(size_t limit); * @since 1.10 * @see eio_memory_burst_limit_set */ -EAPI size_t eio_memory_burst_limit_get(void); +EIO_API size_t eio_memory_burst_limit_get(void); /** * @brief Return the container during EIO operation @@ -817,7 +817,7 @@ EAPI size_t eio_memory_burst_limit_get(void); * This is only available and make sense in the thread callback, not in * the mainloop. */ -EAPI void *eio_file_container_get(Eio_File *ls); +EIO_API void *eio_file_container_get(Eio_File *ls); /** * @brief Cancel any Eio_File. @@ -827,7 +827,7 @@ EAPI void *eio_file_container_get(Eio_File *ls); * This will cancel any kind of I/O operation and cleanup the mess. This means * that it could take time to cancel an I/O. */ -EAPI Eina_Bool eio_file_cancel(Eio_File *ls); +EIO_API Eina_Bool eio_file_cancel(Eio_File *ls); /** * @brief Check if an Eio_File operation has been cancelled. @@ -836,7 +836,7 @@ EAPI Eina_Bool eio_file_cancel(Eio_File *ls); * * In case of an error it also return EINA_TRUE. */ -EAPI Eina_Bool eio_file_check(Eio_File *ls); +EIO_API Eina_Bool eio_file_check(Eio_File *ls); /** * @brief Associate data with the current filtered file. @@ -851,7 +851,7 @@ EAPI Eina_Bool eio_file_check(Eio_File *ls); * This function can only be safely called from within the filter callback. * If you don't need to copy the key around you can use @ref eio_file_associate_direct_add */ -EAPI Eina_Bool eio_file_associate_add(Eio_File *ls, +EIO_API Eina_Bool eio_file_associate_add(Eio_File *ls, const char *key, const void *data, Eina_Free_Cb free_cb); @@ -867,7 +867,7 @@ EAPI Eina_Bool eio_file_associate_add(Eio_File *ls, * If you need eio to make a proper copy of the @p key to be safe use * @ref eio_file_associate_add instead. */ -EAPI Eina_Bool eio_file_associate_direct_add(Eio_File *ls, +EIO_API Eina_Bool eio_file_associate_direct_add(Eio_File *ls, const char *key, const void *data, Eina_Free_Cb free_cb); @@ -877,7 +877,7 @@ EAPI Eina_Bool eio_file_associate_direct_add(Eio_File *ls, * @param key The key pointing to the data to retrieve. * @return the data associated with the key or @p NULL if not found. */ -EAPI void *eio_file_associate_find(Eio_File *ls, const char *key); +EIO_API void *eio_file_associate_find(Eio_File *ls, const char *key); /** * @} @@ -909,7 +909,7 @@ EAPI void *eio_file_associate_find(Eio_File *ls, const char *key); * @return Pointer to the file if successful or NULL otherwise. * */ -EAPI Eio_File *eio_file_open(const char *name, Eina_Bool shared, +EIO_API Eio_File *eio_file_open(const char *name, Eina_Bool shared, Eio_Open_Cb open_cb, Eio_Error_Cb error_cb, const void *data); @@ -922,7 +922,7 @@ EAPI Eio_File *eio_file_open(const char *name, Eina_Bool shared, * @param data Unmodified user data passed to callbacks * @return Pointer to the file if successful or NULL otherwise. */ -EAPI Eio_File *eio_file_close(Eina_File *f, +EIO_API Eio_File *eio_file_close(Eina_File *f, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, const void *data); @@ -939,7 +939,7 @@ EAPI Eio_File *eio_file_close(Eina_File *f, * * The container of the Eio_File is the Eina_File. */ -EAPI Eio_File *eio_file_map_all(Eina_File *f, +EIO_API Eio_File *eio_file_map_all(Eina_File *f, Eina_File_Populate rule, Eio_Filter_Map_Cb filter_cb, Eio_Map_Cb map_cb, @@ -960,7 +960,7 @@ EAPI Eio_File *eio_file_map_all(Eina_File *f, * * The container of the Eio_File is the Eina_File. */ -EAPI Eio_File *eio_file_map_new(Eina_File *f, +EIO_API Eio_File *eio_file_map_new(Eina_File *f, Eina_File_Populate rule, unsigned long int offset, unsigned long int length, @@ -994,7 +994,7 @@ EAPI Eio_File *eio_file_map_new(Eina_File *f, * * This function calls eet_open() from another thread using Ecore_Thread. */ -EAPI Eio_File *eio_eet_open(const char *filename, +EIO_API Eio_File *eio_eet_open(const char *filename, Eet_File_Mode mode, Eio_Eet_Open_Cb eet_cb, Eio_Error_Cb error_cb, @@ -1011,7 +1011,7 @@ EAPI Eio_File *eio_eet_open(const char *filename, * using Ecore_Thread. You should assume that the Eet_File is dead after this * function is called. */ -EAPI Eio_File *eio_eet_close(Eet_File *ef, +EIO_API Eio_File *eio_eet_close(Eet_File *ef, Eio_Done_Cb done_cb, Eio_Eet_Error_Cb error_cb, const void *data); @@ -1027,7 +1027,7 @@ EAPI Eio_File *eio_eet_close(Eet_File *ef, * This function will call eet_sync() from another thread. As long as the done_cb or * error_cb haven't be called, you must keep @p ef open. */ -EAPI Eio_File *eio_eet_sync(Eet_File *ef, +EIO_API Eio_File *eio_eet_sync(Eet_File *ef, Eio_Done_Cb done_cb, Eio_Eet_Error_Cb error_cb, const void *data); @@ -1046,7 +1046,7 @@ EAPI Eio_File *eio_eet_sync(Eet_File *ef, * @param user_data Private data given to each callback. * @return NULL in case of a failure. */ -EAPI Eio_File *eio_eet_data_write_cipher(Eet_File *ef, +EIO_API Eio_File *eio_eet_data_write_cipher(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const char *cipher_key, @@ -1067,7 +1067,7 @@ EAPI Eio_File *eio_eet_data_write_cipher(Eet_File *ef, * @param data Unmodified user data passed to callbacks * @return NULL in case of a failure. */ -EAPI Eio_File *eio_eet_data_read_cipher(Eet_File *ef, +EIO_API Eio_File *eio_eet_data_read_cipher(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const char *cipher_key, @@ -1092,7 +1092,7 @@ EAPI Eio_File *eio_eet_data_read_cipher(Eet_File *ef, * @param user_data Private data given to each callback. * @return NULL in case of a failure. */ -EAPI Eio_File *eio_eet_data_image_write_cipher(Eet_File *ef, +EIO_API Eio_File *eio_eet_data_image_write_cipher(Eet_File *ef, const char *name, const char *cipher_key, void *write_data, @@ -1115,7 +1115,7 @@ EAPI Eio_File *eio_eet_data_image_write_cipher(Eet_File *ef, * @param data Unmodified user data passed to callbacks * @return NULL in case of a failure. */ -EAPI Eio_File *eio_eet_read_direct(Eet_File *ef, +EIO_API Eio_File *eio_eet_read_direct(Eet_File *ef, const char *name, Eio_Done_Data_Cb done_cb, Eio_Error_Cb error_cb, @@ -1131,7 +1131,7 @@ EAPI Eio_File *eio_eet_read_direct(Eet_File *ef, * @param data Unmodified user data passed to callbacks * @return NULL in case of a failure. */ -EAPI Eio_File *eio_eet_read_cipher(Eet_File *ef, +EIO_API Eio_File *eio_eet_read_cipher(Eet_File *ef, const char *name, const char *cipher_key, Eio_Done_Read_Cb done_cb, @@ -1151,7 +1151,7 @@ EAPI Eio_File *eio_eet_read_cipher(Eet_File *ef, * @param user_data Private data given to each callback. * @return NULL in case of a failure. */ -EAPI Eio_File *eio_eet_write_cipher(Eet_File *ef, +EIO_API Eio_File *eio_eet_write_cipher(Eet_File *ef, const char *name, void *write_data, int size, @@ -1178,17 +1178,17 @@ EAPI Eio_File *eio_eet_write_cipher(Eet_File *ef, * @{ */ -EAPI extern int EIO_MONITOR_FILE_CREATED; /**< A new file was created in a watched directory */ -EAPI extern int EIO_MONITOR_FILE_DELETED; /**< A watched file was deleted, or a file in a watched directory was deleted */ -EAPI extern int EIO_MONITOR_FILE_MODIFIED; /**< A file was modified in a watched directory */ -EAPI extern int EIO_MONITOR_FILE_CLOSED; /**< A file was closed in a watched directory. This event is never sent on Windows and OSX, or for non-fallback monitors */ -EAPI extern int EIO_MONITOR_DIRECTORY_CREATED; /**< A new directory was created in a watched directory */ -EAPI extern int EIO_MONITOR_DIRECTORY_DELETED; /**< A directory has been deleted: this can be either a watched directory or one of its subdirectories */ -EAPI extern int EIO_MONITOR_DIRECTORY_MODIFIED; /**< A directory has been modified in a watched directory */ -EAPI extern int EIO_MONITOR_DIRECTORY_CLOSED; /**< A directory has been closed in a watched directory. This event is never sent on Windows and OSX, or for non-fallback monitors */ -EAPI extern int EIO_MONITOR_SELF_RENAME; /**< The monitored path has been renamed, an error could happen just after if the renamed path doesn't exist. This event is never sent on OSX, or for non-fallback monitors */ -EAPI extern int EIO_MONITOR_SELF_DELETED; /**< The monitored path has been removed. This event is never sent on OSX */ -EAPI extern int EIO_MONITOR_ERROR; /**< During operation the monitor failed and will no longer work. eio_monitor_del must be called on it. */ +EIO_API extern int EIO_MONITOR_FILE_CREATED; /**< A new file was created in a watched directory */ +EIO_API extern int EIO_MONITOR_FILE_DELETED; /**< A watched file was deleted, or a file in a watched directory was deleted */ +EIO_API extern int EIO_MONITOR_FILE_MODIFIED; /**< A file was modified in a watched directory */ +EIO_API extern int EIO_MONITOR_FILE_CLOSED; /**< A file was closed in a watched directory. This event is never sent on Windows and OSX, or for non-fallback monitors */ +EIO_API extern int EIO_MONITOR_DIRECTORY_CREATED; /**< A new directory was created in a watched directory */ +EIO_API extern int EIO_MONITOR_DIRECTORY_DELETED; /**< A directory has been deleted: this can be either a watched directory or one of its subdirectories */ +EIO_API extern int EIO_MONITOR_DIRECTORY_MODIFIED; /**< A directory has been modified in a watched directory */ +EIO_API extern int EIO_MONITOR_DIRECTORY_CLOSED; /**< A directory has been closed in a watched directory. This event is never sent on Windows and OSX, or for non-fallback monitors */ +EIO_API extern int EIO_MONITOR_SELF_RENAME; /**< The monitored path has been renamed, an error could happen just after if the renamed path doesn't exist. This event is never sent on OSX, or for non-fallback monitors */ +EIO_API extern int EIO_MONITOR_SELF_DELETED; /**< The monitored path has been removed. This event is never sent on OSX */ +EIO_API extern int EIO_MONITOR_ERROR; /**< During operation the monitor failed and will no longer work. eio_monitor_del must be called on it. */ typedef struct _Eio_Monitor Eio_Monitor; @@ -1217,7 +1217,7 @@ struct _Eio_Monitor_Event * list of files to monitor. It utilizes the inotify mechanism * introduced in kernel 2.6.13 for passive monitoring. */ -EAPI Eio_Monitor *eio_monitor_add(const char *path); +EIO_API Eio_Monitor *eio_monitor_add(const char *path); /** * @brief Adds a file/directory to monitor @@ -1230,7 +1230,7 @@ EAPI Eio_Monitor *eio_monitor_add(const char *path); * This function is just like eio_monitor_add(), however the string passed by * argument must be created using eina_stringshare_add(). */ -EAPI Eio_Monitor *eio_monitor_stringshared_add(const char *path); +EIO_API Eio_Monitor *eio_monitor_stringshared_add(const char *path); /** * @brief Deletes a path from the “watched” list @@ -1238,7 +1238,7 @@ EAPI Eio_Monitor *eio_monitor_stringshared_add(const char *path); * It can only be an Eio_Monitor returned to you from calling * eio_monitor_add() or eio_monitor_stringshared_add() */ -EAPI void eio_monitor_del(Eio_Monitor *monitor); +EIO_API void eio_monitor_del(Eio_Monitor *monitor); /** * @brief returns the path being watched by the given @@ -1246,7 +1246,7 @@ EAPI void eio_monitor_del(Eio_Monitor *monitor); * @param monitor Eio_Monitor to return the path of * @return The stringshared path belonging to @p monitor */ -EAPI const char *eio_monitor_path_get(Eio_Monitor *monitor); +EIO_API const char *eio_monitor_path_get(Eio_Monitor *monitor); #ifdef EFL_BETA_API_SUPPORT /** @@ -1259,7 +1259,7 @@ EAPI const char *eio_monitor_path_get(Eio_Monitor *monitor); * * @since 1.21 */ -EAPI Eina_Bool eio_monitor_fallback_check(const Eio_Monitor *monitor); +EIO_API Eina_Bool eio_monitor_fallback_check(const Eio_Monitor *monitor); /** * @brief Check if a monitor has the context about a file or not @@ -1276,7 +1276,7 @@ EAPI Eina_Bool eio_monitor_fallback_check(const Eio_Monitor *monitor); * * @since 1.23 */ -EAPI Eina_Bool eio_monitor_has_context(const Eio_Monitor *monitor, const char *path); +EIO_API Eina_Bool eio_monitor_has_context(const Eio_Monitor *monitor, const char *path); #endif /** * @} diff --git a/src/lib/eio/eio_dir.c b/src/lib/eio/eio_dir.c index 076d337764..435b712219 100644 --- a/src/lib/eio/eio_dir.c +++ b/src/lib/eio/eio_dir.c @@ -845,7 +845,7 @@ _eio_dir_stat_error(void *data, Ecore_Thread *thread EINA_UNUSED) *============================================================================*/ -EAPI Eio_File * +EIO_API Eio_File * eio_dir_copy(const char *source, const char *dest, Eio_Filter_Direct_Cb filter_cb, @@ -886,7 +886,7 @@ eio_dir_copy(const char *source, return ©->progress.common; } -EAPI Eio_File * +EIO_API Eio_File * eio_dir_move(const char *source, const char *dest, Eio_Filter_Direct_Cb filter_cb, @@ -927,7 +927,7 @@ eio_dir_move(const char *source, return &move->progress.common; } -EAPI Eio_File * +EIO_API Eio_File * eio_dir_unlink(const char *path, Eio_Filter_Direct_Cb filter_cb, Eio_Progress_Cb progress_cb, @@ -1014,7 +1014,7 @@ _eio_dir_stat_internal_ls(const char *dir, return &async->ls.common; } -EAPI Eio_File * +EIO_API Eio_File * eio_dir_stat_ls(const char *dir, Eio_Filter_Direct_Cb filter_cb, Eio_Main_Direct_Cb main_cb, @@ -1082,7 +1082,7 @@ _eio_dir_direct_internal_ls(const char *dir, return &async->ls.common; } -EAPI Eio_File * +EIO_API Eio_File * eio_dir_direct_ls(const char *dir, Eio_Filter_Dir_Cb filter_cb, Eio_Main_Direct_Cb main_cb, diff --git a/src/lib/eio/eio_eet.c b/src/lib/eio/eio_eet.c index 8abcf181c6..f007bec96c 100644 --- a/src/lib/eio/eio_eet.c +++ b/src/lib/eio/eio_eet.c @@ -307,7 +307,7 @@ _eio_eet_read_cipher_end(void *data, Ecore_Thread *thread EINA_UNUSED) * API * *============================================================================*/ -EAPI Eio_File * +EIO_API Eio_File * eio_eet_open(const char *filename, Eet_File_Mode mode, Eio_Eet_Open_Cb eet_cb, @@ -339,7 +339,7 @@ eio_eet_open(const char *filename, return &eet->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_eet_close(Eet_File *ef, Eio_Done_Cb done_cb, Eio_Eet_Error_Cb error_cb, @@ -369,7 +369,7 @@ eio_eet_close(Eet_File *ef, return &eet->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_eet_flush(Eet_File *ef, Eio_Done_Cb done_cb, Eio_Eet_Error_Cb error_cb, @@ -399,7 +399,7 @@ eio_eet_flush(Eet_File *ef, return &eet->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_eet_sync(Eet_File *ef, Eio_Done_Cb done_cb, Eio_Eet_Error_Cb error_cb, @@ -408,7 +408,7 @@ eio_eet_sync(Eet_File *ef, return eio_eet_flush(ef, done_cb, error_cb, data); } -EAPI Eio_File * +EIO_API Eio_File * eio_eet_data_write_cipher(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, @@ -450,7 +450,7 @@ eio_eet_data_write_cipher(Eet_File *ef, return &ew->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_eet_data_read_cipher(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, @@ -488,7 +488,7 @@ eio_eet_data_read_cipher(Eet_File *ef, return &er->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_eet_data_image_write_cipher(Eet_File *ef, const char *name, const char *cipher_key, @@ -537,7 +537,7 @@ eio_eet_data_image_write_cipher(Eet_File *ef, return &eiw->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_eet_read_direct(Eet_File *ef, const char *name, Eio_Done_Data_Cb done_cb, @@ -572,7 +572,7 @@ eio_eet_read_direct(Eet_File *ef, return &er->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_eet_read_cipher(Eet_File *ef, const char *name, const char *cipher_key, @@ -607,7 +607,7 @@ eio_eet_read_cipher(Eet_File *ef, return &er->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_eet_write_cipher(Eet_File *ef, const char *name, void *write_data, diff --git a/src/lib/eio/eio_file.c b/src/lib/eio/eio_file.c index ae36d50ac7..388fc52a61 100644 --- a/src/lib/eio/eio_file.c +++ b/src/lib/eio/eio_file.c @@ -573,7 +573,7 @@ _eio_file_internal_ls(const char *dir, return &async->ls.common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_ls(const char *dir, Eio_Filter_Cb filter_cb, Eio_Main_Cb main_cb, @@ -641,7 +641,7 @@ _eio_file_direct_internal_ls(const char *dir, return &async->ls.common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_direct_ls(const char *dir, Eio_Filter_Direct_Cb filter_cb, Eio_Main_Direct_Cb main_cb, @@ -709,7 +709,7 @@ _eio_file_stat_internal_ls(const char *dir, return &async->ls.common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_stat_ls(const char *dir, Eio_Filter_Direct_Cb filter_cb, Eio_Main_Direct_Cb main_cb, @@ -734,7 +734,7 @@ _eio_file_stat_ls(const char *dir, return _eio_file_stat_internal_ls(dir, NULL, NULL, main_internal_cb, done_cb, error_cb, data); } -EAPI Eina_Bool +EIO_API Eina_Bool eio_file_cancel(Eio_File *ls) { if (!ls) return EINA_FALSE; @@ -748,21 +748,21 @@ eio_file_cancel(Eio_File *ls) return ecore_thread_cancel(ls->thread); } -EAPI Eina_Bool +EIO_API Eina_Bool eio_file_check(Eio_File *ls) { EINA_SAFETY_ON_NULL_RETURN_VAL(ls, EINA_TRUE); return ecore_thread_check(ls->thread); } -EAPI void * +EIO_API void * eio_file_container_get(Eio_File *ls) { EINA_SAFETY_ON_NULL_RETURN_VAL(ls, NULL); return ls->container; } -EAPI Eina_Bool +EIO_API Eina_Bool eio_file_associate_add(Eio_File *ls, const char *key, const void *data, Eina_Free_Cb free_cb) @@ -778,7 +778,7 @@ eio_file_associate_add(Eio_File *ls, eio_associate_malloc(data, free_cb)); } -EAPI Eina_Bool +EIO_API Eina_Bool eio_file_associate_direct_add(Eio_File *ls, const char *key, const void *data, Eina_Free_Cb free_cb) @@ -794,7 +794,7 @@ eio_file_associate_direct_add(Eio_File *ls, eio_associate_malloc(data, free_cb)); } -EAPI void * +EIO_API void * eio_file_associate_find(Eio_File *ls, const char *key) { Eio_File_Associate *search; @@ -809,7 +809,7 @@ eio_file_associate_find(Eio_File *ls, const char *key) return search->data; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_copy(const char *source, const char *dest, Eio_Progress_Cb progress_cb, @@ -845,7 +845,7 @@ eio_file_copy(const char *source, return ©->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_move(const char *source, const char *dest, Eio_Progress_Cb progress_cb, diff --git a/src/lib/eio/eio_main.c b/src/lib/eio/eio_main.c index 5c2141113d..b85e52b2c5 100644 --- a/src/lib/eio/eio_main.c +++ b/src/lib/eio/eio_main.c @@ -24,7 +24,7 @@ *============================================================================*/ static Eio_Version _version = { VMAJ, VMIN, VMIC, VREV }; -EAPI Eio_Version *eio_version = &_version; +EIO_API Eio_Version *eio_version = &_version; /** * @cond LOCAL @@ -272,7 +272,7 @@ eio_file_unregister(Eio_File *common) * API * *============================================================================*/ -EAPI int +EIO_API int eio_init(void) { if (++_eio_init_count != 1) @@ -336,7 +336,7 @@ shutdown_eina: return --_eio_init_count; } -EAPI int +EIO_API int eio_shutdown(void) { Eio_File_Direct_Info *info; @@ -409,7 +409,7 @@ eio_shutdown(void) return _eio_init_count; } -EAPI void +EIO_API void eio_memory_burst_limit_set(size_t limit) { eina_lock_take(&(memory_pool_mutex)); @@ -422,7 +422,7 @@ eio_memory_burst_limit_set(size_t limit) eina_lock_release(&(memory_pool_mutex)); } -EAPI size_t +EIO_API size_t eio_memory_burst_limit_get(void) { return memory_pool_limit; diff --git a/src/lib/eio/eio_map.c b/src/lib/eio/eio_map.c index 897519f966..61be9122d9 100644 --- a/src/lib/eio/eio_map.c +++ b/src/lib/eio/eio_map.c @@ -179,7 +179,7 @@ _eio_file_map_cancel(void *data, Ecore_Thread *thread EINA_UNUSED) * API * *============================================================================*/ -EAPI Eio_File * +EIO_API Eio_File * eio_file_open(const char *name, Eina_Bool shared, Eio_Open_Cb open_cb, Eio_Error_Cb error_cb, @@ -211,7 +211,7 @@ eio_file_open(const char *name, Eina_Bool shared, return &map->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_close(Eina_File *f, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, @@ -241,7 +241,7 @@ eio_file_close(Eina_File *f, return &map->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_map_all(Eina_File *f, Eina_File_Populate rule, Eio_Filter_Map_Cb filter_cb, @@ -277,7 +277,7 @@ eio_file_map_all(Eina_File *f, return &map->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_map_new(Eina_File *f, Eina_File_Populate rule, unsigned long int offset, diff --git a/src/lib/eio/eio_monitor.c b/src/lib/eio/eio_monitor.c index 64eab219b2..09df78376c 100644 --- a/src/lib/eio/eio_monitor.c +++ b/src/lib/eio/eio_monitor.c @@ -302,19 +302,19 @@ _eio_monitor_rename(Eio_Monitor *monitor, const char *newpath) * API * *============================================================================*/ -EAPI int EIO_MONITOR_ERROR; -EAPI int EIO_MONITOR_FILE_CREATED; -EAPI int EIO_MONITOR_FILE_DELETED; -EAPI int EIO_MONITOR_FILE_MODIFIED; -EAPI int EIO_MONITOR_FILE_CLOSED; -EAPI int EIO_MONITOR_DIRECTORY_CREATED; -EAPI int EIO_MONITOR_DIRECTORY_DELETED; -EAPI int EIO_MONITOR_DIRECTORY_MODIFIED; -EAPI int EIO_MONITOR_DIRECTORY_CLOSED; -EAPI int EIO_MONITOR_SELF_RENAME; -EAPI int EIO_MONITOR_SELF_DELETED; +EIO_API int EIO_MONITOR_ERROR; +EIO_API int EIO_MONITOR_FILE_CREATED; +EIO_API int EIO_MONITOR_FILE_DELETED; +EIO_API int EIO_MONITOR_FILE_MODIFIED; +EIO_API int EIO_MONITOR_FILE_CLOSED; +EIO_API int EIO_MONITOR_DIRECTORY_CREATED; +EIO_API int EIO_MONITOR_DIRECTORY_DELETED; +EIO_API int EIO_MONITOR_DIRECTORY_MODIFIED; +EIO_API int EIO_MONITOR_DIRECTORY_CLOSED; +EIO_API int EIO_MONITOR_SELF_RENAME; +EIO_API int EIO_MONITOR_SELF_DELETED; -EAPI Eio_Monitor * +EIO_API Eio_Monitor * eio_monitor_add(const char *path) { const char *tmp; @@ -327,7 +327,7 @@ eio_monitor_add(const char *path) return ret; } -EAPI Eio_Monitor * +EIO_API Eio_Monitor * eio_monitor_stringshared_add(const char *path) { Eio_Monitor *monitor; @@ -397,7 +397,7 @@ eio_monitor_stringshared_add(const char *path) return monitor; } -EAPI void +EIO_API void eio_monitor_del(Eio_Monitor *monitor) { if (!monitor) return; @@ -405,7 +405,7 @@ eio_monitor_del(Eio_Monitor *monitor) _eio_monitor_free(monitor); } -EAPI const char * +EIO_API const char * eio_monitor_path_get(Eio_Monitor *monitor) { EINA_SAFETY_ON_NULL_RETURN_VAL(monitor, NULL); @@ -413,7 +413,7 @@ eio_monitor_path_get(Eio_Monitor *monitor) } -EAPI Eina_Bool +EIO_API Eina_Bool eio_monitor_has_context(const Eio_Monitor *monitor, const char *path) { if (monitor->fallback) diff --git a/src/lib/eio/eio_monitor_poll.c b/src/lib/eio/eio_monitor_poll.c index aae582f825..86b65aae5b 100644 --- a/src/lib/eio/eio_monitor_poll.c +++ b/src/lib/eio/eio_monitor_poll.c @@ -407,7 +407,7 @@ eio_monitor_fallback_del(Eio_Monitor *monitor) *============================================================================*/ -EAPI void +EIO_API void eio_monitoring_interval_set(double interval) { Eina_Iterator *it; @@ -422,7 +422,7 @@ eio_monitoring_interval_set(double interval) eina_iterator_free(it); } -EAPI Eina_Bool +EIO_API Eina_Bool eio_monitor_fallback_check(const Eio_Monitor *monitor) { EINA_SAFETY_ON_NULL_RETURN_VAL(monitor, EINA_FALSE); diff --git a/src/lib/eio/eio_single.c b/src/lib/eio/eio_single.c index c0c21a5979..43475ca3d8 100644 --- a/src/lib/eio/eio_single.c +++ b/src/lib/eio/eio_single.c @@ -418,7 +418,7 @@ eio_file_container_set(Eio_File *common, void *container) * API * *============================================================================*/ -EAPI Eio_File * +EIO_API Eio_File * eio_file_direct_stat(const char *path, Eio_Stat_Cb done_cb, Eio_Error_Cb error_cb, @@ -450,7 +450,7 @@ eio_file_direct_stat(const char *path, return &s->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_direct_lstat(const char *path, Eio_Stat_Cb done_cb, Eio_Error_Cb error_cb, @@ -480,7 +480,7 @@ eio_file_direct_lstat(const char *path, return &s->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_unlink(const char *path, Eio_Done_Cb done_cb, Eio_Error_Cb error_cb, @@ -509,7 +509,7 @@ eio_file_unlink(const char *path, return &l->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_mkdir(const char *path, mode_t mode, Eio_Done_Cb done_cb, @@ -540,7 +540,7 @@ eio_file_mkdir(const char *path, return &r->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_chmod(const char *path, mode_t mode, Eio_Done_Cb done_cb, @@ -571,7 +571,7 @@ eio_file_chmod(const char *path, return &r->common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_chown(const char *path, const char *user, const char *group, diff --git a/src/lib/eio/eio_xattr.c b/src/lib/eio/eio_xattr.c index fdfb8990a6..484ecc120e 100644 --- a/src/lib/eio/eio_xattr.c +++ b/src/lib/eio/eio_xattr.c @@ -349,7 +349,7 @@ _eio_file_internal_xattr(const char *path, return &async->ls.common; } -EAPI Eio_File * +EIO_API Eio_File * eio_file_xattr(const char *path, Eio_Filter_Cb filter_cb, Eio_Main_Cb main_cb, @@ -374,7 +374,7 @@ _eio_file_xattr(const char *path, return _eio_file_internal_xattr(path, NULL, NULL, main_internal_cb, done_cb, error_cb, data); } -EAPI Eio_File * +EIO_API Eio_File * eio_file_xattr_get(const char *path, const char *attribute, Eio_Done_Data_Cb done_cb, @@ -397,7 +397,7 @@ eio_file_xattr_get(const char *path, return _eio_file_xattr_setup_get(async, path, attribute, error_cb, data); } -EAPI Eio_File * +EIO_API Eio_File * eio_file_xattr_string_get(const char *path, const char *attribute, Eio_Done_String_Cb done_cb, @@ -420,7 +420,7 @@ eio_file_xattr_string_get(const char *path, return _eio_file_xattr_setup_get(async, path, attribute, error_cb, data); } -EAPI Eio_File * +EIO_API Eio_File * eio_file_xattr_double_get(const char *path, const char *attribute, Eio_Done_Double_Cb done_cb, @@ -443,7 +443,7 @@ eio_file_xattr_double_get(const char *path, return _eio_file_xattr_setup_get(async, path, attribute, error_cb, data); } -EAPI Eio_File * +EIO_API Eio_File * eio_file_xattr_int_get(const char *path, const char *attribute, Eio_Done_Int_Cb done_cb, @@ -466,7 +466,7 @@ eio_file_xattr_int_get(const char *path, return _eio_file_xattr_setup_get(async, path, attribute, error_cb, data); } -EAPI Eio_File * +EIO_API Eio_File * eio_file_xattr_set(const char *path, const char *attribute, const char *xattr_data, @@ -496,7 +496,7 @@ eio_file_xattr_set(const char *path, return _eio_file_xattr_setup_set(async, path, attribute, flags, done_cb, error_cb, data); } -EAPI Eio_File * +EIO_API Eio_File * eio_file_xattr_string_set(const char *path, const char *attribute, const char *xattr_string, @@ -531,7 +531,7 @@ eio_file_xattr_string_set(const char *path, return _eio_file_xattr_setup_set(async, path, attribute, flags, done_cb, error_cb, data); } -EAPI Eio_File * +EIO_API Eio_File * eio_file_xattr_double_set(const char *path, const char *attribute, double xattr_double, @@ -556,7 +556,7 @@ eio_file_xattr_double_set(const char *path, return _eio_file_xattr_setup_set(async, path, attribute, flags, done_cb, error_cb, data); } -EAPI Eio_File * +EIO_API Eio_File * eio_file_xattr_int_set(const char *path, const char *attribute, int xattr_int, diff --git a/src/lib/eio/meson.build b/src/lib/eio/meson.build index a5536cd90b..869f62b586 100644 --- a/src/lib/eio/meson.build +++ b/src/lib/eio/meson.build @@ -18,6 +18,7 @@ foreach eo_file : pub_eo_files meson.current_build_dir(), eo_file + '.h'), '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'), + '-e', 'EIO_API', '-gchd', '@INPUT@']) endforeach @@ -72,7 +73,7 @@ eio_lib = library('eio', dependencies: eio_deps + eio_pub_deps + eio_ext_deps, include_directories : config_dir + [include_directories('.')], install: true, - c_args : package_c_args, + c_args : [package_c_args, '-DEIO_BUILD'], link_args : linker_args, version : meson.project_version() ) diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index 01d4586b0e..a74bb3fe27 100644 --- a/src/lib/elementary/elc_fileselector.c +++ b/src/lib/elementary/elc_fileselector.c @@ -17,7 +17,7 @@ #include "elm_priv.h" #include "eo_internal.h" #include -#include "Eio_Eo.h" +#include "Eio.h" #include "elm_fileselector_button_eo.h" #include "elm_fileselector_entry_eo.h" #include "elm_interface_fileselector.h" diff --git a/src/lib/elementary/elc_fileselector_button.c b/src/lib/elementary/elc_fileselector_button.c index 5e10e83063..e05fc4e181 100644 --- a/src/lib/elementary/elc_fileselector_button.c +++ b/src/lib/elementary/elc_fileselector_button.c @@ -5,7 +5,7 @@ #define EFL_ACCESS_OBJECT_PROTECTED #include -#include "Eio_Eo.h" +#include "Eio.h" #include "elm_priv.h" #include "elm_fileselector_button_eo.h" #include "elm_fileselector_entry_eo.h" diff --git a/src/lib/elementary/elc_fileselector_entry.c b/src/lib/elementary/elc_fileselector_entry.c index ff37e5b1d0..f67990aadb 100644 --- a/src/lib/elementary/elc_fileselector_entry.c +++ b/src/lib/elementary/elc_fileselector_entry.c @@ -7,7 +7,7 @@ #define EFL_PART_PROTECTED #include -#include "Eio_Eo.h" +#include "Eio.h" #include "elm_priv.h" #include "elm_fileselector_button_eo.h" #include "elm_fileselector_entry_eo.h" diff --git a/src/lib/elementary/elm_interface_fileselector.c b/src/lib/elementary/elm_interface_fileselector.c index 98d6552c70..bec043a88f 100644 --- a/src/lib/elementary/elm_interface_fileselector.c +++ b/src/lib/elementary/elm_interface_fileselector.c @@ -4,7 +4,7 @@ #include "elm_priv.h" -#include "Eio_Eo.h" +#include "Eio.h" #include "elm_interface_fileselector.h"