From: Li Zhang Date: Fri, 22 Mar 2013 02:58:26 +0000 (+0800) Subject: Add visibility gcc options X-Git-Tag: accepted/tizen_2.1/20130425.024739~56^2~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5a368680cac7505d0590aaf1a8073eb0e869f13f;p=platform%2Fcore%2Fuifw%2Fisf.git Add visibility gcc options Change-Id: I9029cd9bfc29b16ee5156d202b6c5ed3aaf35807 --- diff --git a/configure.ac b/configure.ac index 74280e5..75adc7c 100755 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ # Process this file with autoconf to produce a configure script #AC_INIT(scim, 1.4.7, suzhe@tsinghua.org.cn) -AC_INIT(isf, 2.4.6319, isf@samsung.com) +AC_INIT(isf, 2.4.6322, isf@samsung.com) AC_CONFIG_SRCDIR([ism/src/scim.h]) m4_pattern_allow([^AS_]) @@ -11,7 +11,7 @@ m4_pattern_allow([^AS_]) # ISF version ISF_MAJOR_VERSION=2 ISF_MINOR_VERSION=4 -ISF_MICRO_VERSION=6319 +ISF_MICRO_VERSION=6322 ISF_VERSION=$ISF_MAJOR_VERSION.$ISF_MINOR_VERSION.$ISF_MICRO_VERSION @@ -616,6 +616,9 @@ AC_SUBST(ISF_BUILD_PANEL_EFL) AC_SUBST(ISF_BUILD_SETTING_EFL) AC_SUBST(ISF_BUILD_WITH_GCONF) +ISF_BUILDING_DLL="-DISF_BUILDING_DLL" +AC_SUBST(ISF_BUILDING_DLL) + # Output All necessary Paths. SCIM_BINDIR="$prefix/bin" SCIM_DATADIR="$datadir/scim" diff --git a/ism/extras/efl_immodule/Makefile.am b/ism/extras/efl_immodule/Makefile.am index f94a4f5..95ecefa 100644 --- a/ism/extras/efl_immodule/Makefile.am +++ b/ism/extras/efl_immodule/Makefile.am @@ -15,7 +15,8 @@ INCLUDES = -I$(top_builddir) \ -DSCIM_ICONDIR=\"@SCIM_ICONDIR@\" \ -DSCIM_MODULE_PATH=\"@SCIM_MODULE_PATH@\" \ -DSCIM_TEMPDIR=\"@SCIM_TEMPDIR@\" \ - -DSCIM_KEYBOARD_ICON_FILE=\"@SCIM_ICONDIR@/keyboard.png\" + -DSCIM_KEYBOARD_ICON_FILE=\"@SCIM_ICONDIR@/keyboard.png\" \ + @ISF_BUILDING_DLL@ if ISF_BUILD_EFL_IMMODULE CONFIG_EFL_IMMODULE = libisf-imf-module.la diff --git a/ism/extras/efl_immodule/isf_imf_context.cpp b/ism/extras/efl_immodule/isf_imf_context.cpp index f0a1c7b..de96d5a 100644 --- a/ism/extras/efl_immodule/isf_imf_context.cpp +++ b/ism/extras/efl_immodule/isf_imf_context.cpp @@ -304,24 +304,24 @@ public: static FinalizeHandler _finalize_handler; -ConfigPointer isf_imf_context_get_config (void) +EAPI ConfigPointer isf_imf_context_get_config (void) { return _config; } -EcoreIMFContextISF * +EAPI EcoreIMFContextISF * get_focused_ic () { return _focused_ic; } -int +EAPI int get_panel_client_id (void) { return _panel_client_id; } -Eina_Bool +EAPI Eina_Bool get_desktop_mode () { return desktop_mode; @@ -496,7 +496,7 @@ _x_prop_change (void *data, int type, void *event) return ECORE_CALLBACK_PASS_ON; } -int +EAPI int register_key_handler () { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; @@ -512,7 +512,7 @@ register_key_handler () return EXIT_SUCCESS; } -int +EAPI int unregister_key_handler () { SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; @@ -688,7 +688,7 @@ done: return ret; } -Eina_Bool +EAPI Eina_Bool caps_mode_check (Ecore_IMF_Context *ctx, Eina_Bool force, Eina_Bool noti) { Eina_Bool uppercase; diff --git a/ism/extras/efl_immodule/isf_imf_context.h b/ism/extras/efl_immodule/isf_imf_context.h index 9091bd3..bbb849c 100644 --- a/ism/extras/efl_immodule/isf_imf_context.h +++ b/ism/extras/efl_immodule/isf_imf_context.h @@ -46,38 +46,38 @@ struct _EcoreIMFContextISF { struct _EcoreIMFContextISF *next; }; -int register_key_handler (); -int unregister_key_handler (); - -int get_panel_client_id (); -Eina_Bool get_desktop_mode (); -Eina_Bool caps_mode_check (Ecore_IMF_Context *ctx, Eina_Bool force, Eina_Bool noti); - -EcoreIMFContextISF *get_focused_ic (); - -void context_scim_imdata_get (Ecore_IMF_Context *ctx, void* data, int* length); - -void isf_imf_context_add (Ecore_IMF_Context *ctx); -void isf_imf_context_del (Ecore_IMF_Context *ctx); -void isf_imf_context_client_window_set (Ecore_IMF_Context *ctx, void *window); -void isf_imf_context_client_canvas_set (Ecore_IMF_Context *ctx, void *window); -void isf_imf_context_focus_in (Ecore_IMF_Context *ctx); -void isf_imf_context_focus_out (Ecore_IMF_Context *ctx); -void isf_imf_context_reset (Ecore_IMF_Context *ctx); -void isf_imf_context_cursor_position_set (Ecore_IMF_Context *ctx, int cursor_pos); -void isf_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int x, int y, int w, int h); -void isf_imf_context_input_mode_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode); -void isf_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char** str, int *cursor_pos); -void isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char** str, Eina_List **attrs, int *cursor_pos); -void isf_imf_context_use_preedit_set (Ecore_IMF_Context* ctx, Eina_Bool use_preedit); -Eina_Bool isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event); -void isf_imf_context_prediction_allow_set (Ecore_IMF_Context* ctx, Eina_Bool prediction); -void isf_imf_context_autocapital_type_set (Ecore_IMF_Context* ctx, Ecore_IMF_Autocapital_Type autocapital_type); -void isf_imf_context_imdata_set (Ecore_IMF_Context* ctx, const void *data, int len); -void isf_imf_context_imdata_get (Ecore_IMF_Context* ctx, void *data, int *len); - -EcoreIMFContextISF* isf_imf_context_new (void); -void isf_imf_context_shutdown (void); +EAPI int register_key_handler (); +EAPI int unregister_key_handler (); + +EAPI int get_panel_client_id (); +EAPI Eina_Bool get_desktop_mode (); +EAPI Eina_Bool caps_mode_check (Ecore_IMF_Context *ctx, Eina_Bool force, Eina_Bool noti); + +EAPI EcoreIMFContextISF *get_focused_ic (); + +EAPI void context_scim_imdata_get (Ecore_IMF_Context *ctx, void* data, int* length); + +EAPI void isf_imf_context_add (Ecore_IMF_Context *ctx); +EAPI void isf_imf_context_del (Ecore_IMF_Context *ctx); +EAPI void isf_imf_context_client_window_set (Ecore_IMF_Context *ctx, void *window); +EAPI void isf_imf_context_client_canvas_set (Ecore_IMF_Context *ctx, void *window); +EAPI void isf_imf_context_focus_in (Ecore_IMF_Context *ctx); +EAPI void isf_imf_context_focus_out (Ecore_IMF_Context *ctx); +EAPI void isf_imf_context_reset (Ecore_IMF_Context *ctx); +EAPI void isf_imf_context_cursor_position_set (Ecore_IMF_Context *ctx, int cursor_pos); +EAPI void isf_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int x, int y, int w, int h); +EAPI void isf_imf_context_input_mode_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode); +EAPI void isf_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char** str, int *cursor_pos); +EAPI void isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char** str, Eina_List **attrs, int *cursor_pos); +EAPI void isf_imf_context_use_preedit_set (Ecore_IMF_Context* ctx, Eina_Bool use_preedit); +EAPI Eina_Bool isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event); +EAPI void isf_imf_context_prediction_allow_set (Ecore_IMF_Context* ctx, Eina_Bool prediction); +EAPI void isf_imf_context_autocapital_type_set (Ecore_IMF_Context* ctx, Ecore_IMF_Autocapital_Type autocapital_type); +EAPI void isf_imf_context_imdata_set (Ecore_IMF_Context* ctx, const void *data, int len); +EAPI void isf_imf_context_imdata_get (Ecore_IMF_Context* ctx, void *data, int *len); + +EAPI EcoreIMFContextISF* isf_imf_context_new (void); +EAPI void isf_imf_context_shutdown (void); #endif /* __ISF_IMF_CONTEXT_H */ diff --git a/ism/extras/efl_immodule/isf_imf_control.cpp b/ism/extras/efl_immodule/isf_imf_control.cpp index 7aae068..2748827 100644 --- a/ism/extras/efl_immodule/isf_imf_control.cpp +++ b/ism/extras/efl_immodule/isf_imf_control.cpp @@ -141,7 +141,7 @@ static void connect_panel (void) } } -EAPI void _isf_imf_control_finalize (void) +void _isf_imf_control_finalize (void) { IMFCONTROLDBG ("%s ...\n", __FUNCTION__); @@ -153,7 +153,7 @@ EAPI void _isf_imf_control_finalize (void) } } -EAPI int _isf_imf_context_input_panel_show (int client_id, int context, void *data, int length, bool &input_panel_show) +int _isf_imf_context_input_panel_show (int client_id, int context, void *data, int length, bool &input_panel_show) { int temp = 0; connect_panel (); @@ -163,7 +163,7 @@ EAPI int _isf_imf_context_input_panel_show (int client_id, int context, void *da return 0; } -EAPI int _isf_imf_context_input_panel_hide (int client_id, int context) +int _isf_imf_context_input_panel_hide (int client_id, int context) { connect_panel (); _imcontrol_client.prepare (); @@ -172,7 +172,7 @@ EAPI int _isf_imf_context_input_panel_hide (int client_id, int context) return 0; } -EAPI int _isf_imf_context_control_panel_show (void) +int _isf_imf_context_control_panel_show (void) { connect_panel (); _imcontrol_client.prepare (); @@ -181,7 +181,7 @@ EAPI int _isf_imf_context_control_panel_show (void) return 0; } -EAPI int _isf_imf_context_control_panel_hide (void) +int _isf_imf_context_control_panel_hide (void) { connect_panel (); _imcontrol_client.prepare (); @@ -190,7 +190,7 @@ EAPI int _isf_imf_context_control_panel_hide (void) return 0; } -EAPI int _isf_imf_context_input_panel_language_set (Ecore_IMF_Input_Panel_Lang lang) +int _isf_imf_context_input_panel_language_set (Ecore_IMF_Input_Panel_Lang lang) { connect_panel (); _imcontrol_client.prepare (); @@ -199,7 +199,7 @@ EAPI int _isf_imf_context_input_panel_language_set (Ecore_IMF_Input_Panel_Lang l return 0; } -EAPI int _isf_imf_context_input_panel_language_locale_get (char **locale) +int _isf_imf_context_input_panel_language_locale_get (char **locale) { connect_panel (); _imcontrol_client.prepare (); @@ -207,7 +207,7 @@ EAPI int _isf_imf_context_input_panel_language_locale_get (char **locale) return 0; } -EAPI int _isf_imf_context_input_panel_imdata_set (const void *data, int len) +int _isf_imf_context_input_panel_imdata_set (const void *data, int len) { connect_panel (); _imcontrol_client.prepare (); @@ -216,7 +216,7 @@ EAPI int _isf_imf_context_input_panel_imdata_set (const void *data, int len) return 0; } -EAPI int _isf_imf_context_input_panel_imdata_get (void *data, int *len) +int _isf_imf_context_input_panel_imdata_get (void *data, int *len) { connect_panel (); _imcontrol_client.prepare (); @@ -224,7 +224,7 @@ EAPI int _isf_imf_context_input_panel_imdata_get (void *data, int *len) return 0; } -EAPI int _isf_imf_context_input_panel_geometry_get (int *x, int *y, int *w, int *h) +int _isf_imf_context_input_panel_geometry_get (int *x, int *y, int *w, int *h) { connect_panel (); _imcontrol_client.prepare (); @@ -232,7 +232,7 @@ EAPI int _isf_imf_context_input_panel_geometry_get (int *x, int *y, int *w, int return 0; } -EAPI int _isf_imf_context_input_panel_return_key_type_set (Ecore_IMF_Input_Panel_Return_Key_Type type) +int _isf_imf_context_input_panel_return_key_type_set (Ecore_IMF_Input_Panel_Return_Key_Type type) { connect_panel (); _imcontrol_client.prepare (); @@ -241,7 +241,7 @@ EAPI int _isf_imf_context_input_panel_return_key_type_set (Ecore_IMF_Input_Panel return 0; } -EAPI int _isf_imf_context_input_panel_return_key_type_get (Ecore_IMF_Input_Panel_Return_Key_Type &type) +int _isf_imf_context_input_panel_return_key_type_get (Ecore_IMF_Input_Panel_Return_Key_Type &type) { int temp = 0; connect_panel (); @@ -251,7 +251,7 @@ EAPI int _isf_imf_context_input_panel_return_key_type_get (Ecore_IMF_Input_Panel return 0; } -EAPI int _isf_imf_context_input_panel_return_key_disabled_set (Eina_Bool disabled) +int _isf_imf_context_input_panel_return_key_disabled_set (Eina_Bool disabled) { connect_panel (); _imcontrol_client.prepare (); @@ -260,7 +260,7 @@ EAPI int _isf_imf_context_input_panel_return_key_disabled_set (Eina_Bool disable return 0; } -EAPI int _isf_imf_context_input_panel_return_key_disabled_get (Eina_Bool &disabled) +int _isf_imf_context_input_panel_return_key_disabled_get (Eina_Bool &disabled) { int temp = 0; connect_panel (); @@ -270,7 +270,7 @@ EAPI int _isf_imf_context_input_panel_return_key_disabled_get (Eina_Bool &disabl return 0; } -EAPI int _isf_imf_context_input_panel_layout_set (Ecore_IMF_Input_Panel_Layout layout) +int _isf_imf_context_input_panel_layout_set (Ecore_IMF_Input_Panel_Layout layout) { int layout_temp = layout; @@ -281,7 +281,7 @@ EAPI int _isf_imf_context_input_panel_layout_set (Ecore_IMF_Input_Panel_Layout l return 0; } -EAPI int _isf_imf_context_input_panel_layout_get (Ecore_IMF_Input_Panel_Layout *layout) +int _isf_imf_context_input_panel_layout_get (Ecore_IMF_Input_Panel_Layout *layout) { int layout_temp; @@ -293,7 +293,7 @@ EAPI int _isf_imf_context_input_panel_layout_get (Ecore_IMF_Input_Panel_Layout * return 0; } -EAPI int _isf_imf_context_input_panel_caps_mode_set (unsigned int mode) +int _isf_imf_context_input_panel_caps_mode_set (unsigned int mode) { connect_panel (); @@ -303,7 +303,7 @@ EAPI int _isf_imf_context_input_panel_caps_mode_set (unsigned int mode) return 0; } -EAPI int _isf_imf_context_candidate_window_geometry_get (int *x, int *y, int *w, int *h) +int _isf_imf_context_candidate_window_geometry_get (int *x, int *y, int *w, int *h) { connect_panel (); _imcontrol_client.prepare (); @@ -311,7 +311,7 @@ EAPI int _isf_imf_context_candidate_window_geometry_get (int *x, int *y, int *w, return 0; } -EAPI int _isf_imf_context_control_focus_in (void) +int _isf_imf_context_control_focus_in (void) { connect_panel (); _imcontrol_client.prepare (); @@ -320,7 +320,7 @@ EAPI int _isf_imf_context_control_focus_in (void) return 0; } -EAPI int _isf_imf_context_control_focus_out (void) +int _isf_imf_context_control_focus_out (void) { connect_panel (); _imcontrol_client.prepare (); @@ -329,7 +329,7 @@ EAPI int _isf_imf_context_control_focus_out (void) return 0; } -EAPI int _isf_imf_context_input_panel_send_will_show_ack (void) +int _isf_imf_context_input_panel_send_will_show_ack (void) { connect_panel (); _imcontrol_client.prepare (); @@ -338,7 +338,7 @@ EAPI int _isf_imf_context_input_panel_send_will_show_ack (void) return 0; } -EAPI int _isf_imf_context_input_panel_send_will_hide_ack (void) +int _isf_imf_context_input_panel_send_will_hide_ack (void) { connect_panel (); _imcontrol_client.prepare (); diff --git a/ism/extras/efl_immodule/isf_imf_control_ui.cpp b/ism/extras/efl_immodule/isf_imf_control_ui.cpp index 5f00eb0..cacf196 100644 --- a/ism/extras/efl_immodule/isf_imf_control_ui.cpp +++ b/ism/extras/efl_immodule/isf_imf_control_ui.cpp @@ -340,12 +340,12 @@ static Eina_Bool _client_window_focus_out_cb (void *data, int ev_type, void *ev) return ECORE_CALLBACK_PASS_ON; } -EAPI void input_panel_event_callback_call (Ecore_IMF_Input_Panel_Event type, int value) +void input_panel_event_callback_call (Ecore_IMF_Input_Panel_Event type, int value) { _event_callback_call (type, value); } -EAPI Eina_Bool check_focus_out_by_lockscreen (Ecore_IMF_Context *ctx) +Eina_Bool check_focus_out_by_lockscreen (Ecore_IMF_Context *ctx) { Ecore_X_Window focus_win = ecore_x_window_focus_get (); Eina_Bool ret = EINA_FALSE; @@ -362,7 +362,7 @@ EAPI Eina_Bool check_focus_out_by_lockscreen (Ecore_IMF_Context *ctx) return ret; } -EAPI void isf_imf_context_control_panel_show (Ecore_IMF_Context *ctx) +void isf_imf_context_control_panel_show (Ecore_IMF_Context *ctx) { if (IfInitContext == false) { _isf_imf_context_init (); @@ -370,7 +370,7 @@ EAPI void isf_imf_context_control_panel_show (Ecore_IMF_Context *ctx) _isf_imf_context_control_panel_show (); } -EAPI void isf_imf_context_control_panel_hide (Ecore_IMF_Context *ctx) +void isf_imf_context_control_panel_hide (Ecore_IMF_Context *ctx) { if (IfInitContext == false) { _isf_imf_context_init (); @@ -378,7 +378,7 @@ EAPI void isf_imf_context_control_panel_hide (Ecore_IMF_Context *ctx) _isf_imf_context_control_panel_hide (); } -EAPI void isf_imf_input_panel_init (void) +void isf_imf_input_panel_init (void) { if (_prop_change_handler) return; @@ -398,7 +398,7 @@ EAPI void isf_imf_input_panel_init (void) LOGD ("The number of connected H/W keyboard : %d\n", hw_kbd_num); } -EAPI void isf_imf_input_panel_shutdown (void) +void isf_imf_input_panel_shutdown (void) { if (_prop_change_handler) { ecore_event_handler_del (_prop_change_handler); @@ -426,7 +426,7 @@ EAPI void isf_imf_input_panel_shutdown (void) _isf_imf_control_finalize (); } -EAPI void isf_imf_context_input_panel_show (Ecore_IMF_Context* ctx) +void isf_imf_context_input_panel_show (Ecore_IMF_Context* ctx) { int length = -1; void *packet = NULL; @@ -552,7 +552,7 @@ EAPI void isf_imf_context_input_panel_show (Ecore_IMF_Context* ctx) LOGD ("===============================================================\n"); } -EAPI void isf_imf_context_input_panel_hide (Ecore_IMF_Context *ctx) +void isf_imf_context_input_panel_hide (Ecore_IMF_Context *ctx) { LOGD ("ctx : %p\n", ctx); @@ -562,7 +562,7 @@ EAPI void isf_imf_context_input_panel_hide (Ecore_IMF_Context *ctx) _input_panel_hide (ctx, EINA_FALSE); } -EAPI void isf_imf_context_input_panel_instant_hide (Ecore_IMF_Context *ctx) +void isf_imf_context_input_panel_instant_hide (Ecore_IMF_Context *ctx) { if (get_desktop_mode ()) return; @@ -570,7 +570,7 @@ EAPI void isf_imf_context_input_panel_instant_hide (Ecore_IMF_Context *ctx) _input_panel_hide (ctx, EINA_TRUE); } -EAPI void isf_imf_context_input_panel_language_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang language) +void isf_imf_context_input_panel_language_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang language) { EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); @@ -582,14 +582,14 @@ EAPI void isf_imf_context_input_panel_language_set (Ecore_IMF_Context *ctx, Ecor _isf_imf_context_input_panel_language_set (language); } -EAPI Ecore_IMF_Input_Panel_Lang isf_imf_context_input_panel_language_get (Ecore_IMF_Context *ctx) +Ecore_IMF_Input_Panel_Lang isf_imf_context_input_panel_language_get (Ecore_IMF_Context *ctx) { if (!IfInitContext) _isf_imf_context_init (); return iseContext.language; } -EAPI void isf_imf_context_input_panel_language_locale_get (Ecore_IMF_Context *ctx, char **locale) +void isf_imf_context_input_panel_language_locale_get (Ecore_IMF_Context *ctx, char **locale) { if (!IfInitContext) _isf_imf_context_init (); @@ -598,14 +598,14 @@ EAPI void isf_imf_context_input_panel_language_locale_get (Ecore_IMF_Context *ct _isf_imf_context_input_panel_language_locale_get (locale); } -EAPI void isf_imf_context_input_panel_caps_mode_set (Ecore_IMF_Context *ctx, unsigned int mode) +void isf_imf_context_input_panel_caps_mode_set (Ecore_IMF_Context *ctx, unsigned int mode) { if (!IfInitContext) _isf_imf_context_init (); _isf_imf_context_input_panel_caps_mode_set (mode); } -EAPI void isf_imf_context_input_panel_caps_lock_mode_set (Ecore_IMF_Context *ctx, Eina_Bool mode) +void isf_imf_context_input_panel_caps_lock_mode_set (Ecore_IMF_Context *ctx, Eina_Bool mode) { EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); @@ -623,7 +623,7 @@ EAPI void isf_imf_context_input_panel_caps_lock_mode_set (Ecore_IMF_Context *ctx * @param[in] data pointer of data to sets up to ISE * @param[in] length length of data */ -EAPI void isf_imf_context_input_panel_imdata_set (Ecore_IMF_Context *ctx, const void* data, int length) +void isf_imf_context_input_panel_imdata_set (Ecore_IMF_Context *ctx, const void* data, int length) { EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); @@ -638,7 +638,7 @@ EAPI void isf_imf_context_input_panel_imdata_set (Ecore_IMF_Context *ctx, const * @param[out] data pointer of data to return * @param[out] length length of data */ -EAPI void isf_imf_context_input_panel_imdata_get (Ecore_IMF_Context *ctx, void* data, int* length) +void isf_imf_context_input_panel_imdata_get (Ecore_IMF_Context *ctx, void* data, int* length) { if (!IfInitContext) _isf_imf_context_init (); @@ -655,7 +655,7 @@ EAPI void isf_imf_context_input_panel_imdata_get (Ecore_IMF_Context *ctx, void* * @param[out] w the width of ISE window * @param[out] h the height of ISE window */ -EAPI void isf_imf_context_input_panel_geometry_get (Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h) +void isf_imf_context_input_panel_geometry_get (Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h) { if (!IfInitContext) _isf_imf_context_init (); @@ -670,7 +670,7 @@ EAPI void isf_imf_context_input_panel_geometry_get (Ecore_IMF_Context *ctx, int * @param[in] ctx a #Ecore_IMF_Context * @param[in] type the type of return key */ -EAPI void isf_imf_context_input_panel_return_key_type_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type type) +void isf_imf_context_input_panel_return_key_type_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type type) { EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); @@ -689,7 +689,7 @@ EAPI void isf_imf_context_input_panel_return_key_type_set (Ecore_IMF_Context *ct * * @return the type of return key. */ -EAPI Ecore_IMF_Input_Panel_Return_Key_Type isf_imf_context_input_panel_return_key_type_get (Ecore_IMF_Context *ctx) +Ecore_IMF_Input_Panel_Return_Key_Type isf_imf_context_input_panel_return_key_type_get (Ecore_IMF_Context *ctx) { EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); @@ -709,7 +709,7 @@ EAPI Ecore_IMF_Input_Panel_Return_Key_Type isf_imf_context_input_panel_return_ke * @param[in] ctx a #Ecore_IMF_Context * @param[in] disabled the state */ -EAPI void isf_imf_context_input_panel_return_key_disabled_set (Ecore_IMF_Context *ctx, Eina_Bool disabled) +void isf_imf_context_input_panel_return_key_disabled_set (Ecore_IMF_Context *ctx, Eina_Bool disabled) { EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); @@ -727,7 +727,7 @@ EAPI void isf_imf_context_input_panel_return_key_disabled_set (Ecore_IMF_Context * * @return the disable state of return key. */ -EAPI Eina_Bool isf_imf_context_input_panel_return_key_disabled_get (Ecore_IMF_Context *ctx) +Eina_Bool isf_imf_context_input_panel_return_key_disabled_get (Ecore_IMF_Context *ctx) { EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); @@ -747,7 +747,7 @@ EAPI Eina_Bool isf_imf_context_input_panel_return_key_disabled_get (Ecore_IMF_Co * @param[in] ctx a #Ecore_IMF_Context * @param[in] layout sets a layout ID to be shown. The layout ID will define by the configuration of selected ISE. */ -EAPI void +void isf_imf_context_input_panel_layout_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout) { EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); @@ -766,7 +766,7 @@ isf_imf_context_input_panel_layout_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_ * * @return the layout of current ISE. */ -EAPI Ecore_IMF_Input_Panel_Layout isf_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx) +Ecore_IMF_Input_Panel_Layout isf_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx) { Ecore_IMF_Input_Panel_Layout layout; if (!IfInitContext) @@ -783,14 +783,14 @@ EAPI Ecore_IMF_Input_Panel_Layout isf_imf_context_input_panel_layout_get (Ecore_ * * @return the state of current ISE. */ -EAPI Ecore_IMF_Input_Panel_State isf_imf_context_input_panel_state_get (Ecore_IMF_Context *ctx) +Ecore_IMF_Input_Panel_State isf_imf_context_input_panel_state_get (Ecore_IMF_Context *ctx) { if (!IfInitContext) _isf_imf_context_init (); return input_panel_state; } -EAPI void isf_imf_context_input_panel_event_callback_clear (Ecore_IMF_Context *ctx) +void isf_imf_context_input_panel_event_callback_clear (Ecore_IMF_Context *ctx) { ecore_imf_context_input_panel_event_callback_clear (ctx); @@ -808,7 +808,7 @@ EAPI void isf_imf_context_input_panel_event_callback_clear (Ecore_IMF_Context *c * @param[out] w the width of candidate window * @param[out] h the height of candidate window */ -EAPI void isf_imf_context_candidate_window_geometry_get (Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h) +void isf_imf_context_candidate_window_geometry_get (Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h) { if (!IfInitContext) _isf_imf_context_init (); @@ -822,7 +822,7 @@ EAPI void isf_imf_context_candidate_window_geometry_get (Ecore_IMF_Context *ctx, * * @param[in] ctx a #Ecore_IMF_Context */ -EAPI void isf_imf_context_control_focus_in (Ecore_IMF_Context *ctx) +void isf_imf_context_control_focus_in (Ecore_IMF_Context *ctx) { if (IfInitContext == false) { _isf_imf_context_init (); @@ -837,7 +837,7 @@ EAPI void isf_imf_context_control_focus_in (Ecore_IMF_Context *ctx) * * @param[in] ctx a #Ecore_IMF_Context */ -EAPI void isf_imf_context_control_focus_out (Ecore_IMF_Context *ctx) +void isf_imf_context_control_focus_out (Ecore_IMF_Context *ctx) { if (IfInitContext == false) { _isf_imf_context_init (); @@ -845,7 +845,7 @@ EAPI void isf_imf_context_control_focus_out (Ecore_IMF_Context *ctx) _isf_imf_context_control_focus_out (); } -EAPI void isf_imf_context_input_panel_send_will_show_ack () +void isf_imf_context_input_panel_send_will_show_ack () { if (IfInitContext == false) { _isf_imf_context_init (); @@ -854,7 +854,7 @@ EAPI void isf_imf_context_input_panel_send_will_show_ack () _isf_imf_context_input_panel_send_will_show_ack (); } -EAPI void isf_imf_context_input_panel_send_will_hide_ack () +void isf_imf_context_input_panel_send_will_hide_ack () { if (IfInitContext == false) { _isf_imf_context_init (); diff --git a/ism/extras/efl_panel/isf_panel_efl.cpp b/ism/extras/efl_panel/isf_panel_efl.cpp index 0f0978c..888cdb5 100644 --- a/ism/extras/efl_panel/isf_panel_efl.cpp +++ b/ism/extras/efl_panel/isf_panel_efl.cpp @@ -98,7 +98,7 @@ extern std::vector _icons; extern std::vector _options; extern std::vector _modes; -extern CommonLookupTable g_isf_candidate_table; +extern EAPI CommonLookupTable g_isf_candidate_table; ///////////////////////////////////////////////////////////////////////////// diff --git a/ism/extras/gtk2_immodule/Makefile.am b/ism/extras/gtk2_immodule/Makefile.am index 4e3c829..ecb1681 100644 --- a/ism/extras/gtk2_immodule/Makefile.am +++ b/ism/extras/gtk2_immodule/Makefile.am @@ -17,7 +17,8 @@ INCLUDES = -I$(top_builddir) \ -DSCIM_ICONDIR=\"@SCIM_ICONDIR@\" \ -DSCIM_MODULE_PATH=\"@SCIM_MODULE_PATH@\" \ -DSCIM_TEMPDIR=\"@SCIM_TEMPDIR@\" \ - -DSCIM_KEYBOARD_ICON_FILE=\"@SCIM_ICONDIR@/keyboard.png\" + -DSCIM_KEYBOARD_ICON_FILE=\"@SCIM_ICONDIR@/keyboard.png\" \ + @ISF_BUILDING_DLL@ if SCIM_BUILD_GTK2_IMMODULE CONFIG_GTK2_IMMODULE = im-scim.la diff --git a/ism/extras/gtk_panel/scim_panel_gtk.cpp b/ism/extras/gtk_panel/scim_panel_gtk.cpp index 2a9258c..3416676 100644 --- a/ism/extras/gtk_panel/scim_panel_gtk.cpp +++ b/ism/extras/gtk_panel/scim_panel_gtk.cpp @@ -145,7 +145,7 @@ extern std::vector < String > _isf_app_list; extern gboolean _ise_list_changed; extern gboolean _setup_enable_changed; -extern CommonLookupTable g_isf_candidate_table; +extern EAPI CommonLookupTable g_isf_candidate_table; ///////////////////////////////////////////////////////////////////////////// // Declaration of internal data types. diff --git a/ism/modules/config/Makefile.am b/ism/modules/config/Makefile.am index e7736b6..585e107 100644 --- a/ism/modules/config/Makefile.am +++ b/ism/modules/config/Makefile.am @@ -29,7 +29,8 @@ INCLUDES = -I$(top_builddir) \ -DSCIM_SYSCONFDIR=\"@SCIM_SYSCONFDIR@\" \ -DSCIM_LIBEXECDIR=\"@SCIM_LIBEXECDIR@\" \ -DSCIM_ICONDIR=\"@SCIM_ICONDIR@\" \ - -DSCIM_MODULE_PATH=\"@SCIM_MODULE_PATH@\" + -DSCIM_MODULE_PATH=\"@SCIM_MODULE_PATH@\" \ + @ISF_BUILDING_DLL@ moduledir = @SCIM_MODULE_PATH@/$(SCIM_BINARY_VERSION)/Config diff --git a/ism/modules/config/scim_simple_config.cpp b/ism/modules/config/scim_simple_config.cpp index 89a994c..db75bf6 100644 --- a/ism/modules/config/scim_simple_config.cpp +++ b/ism/modules/config/scim_simple_config.cpp @@ -52,22 +52,22 @@ using namespace scim; extern "C" { - void scim_module_init (void) + EAPI void scim_module_init (void) { SCIM_DEBUG_CONFIG(1) << "Initializing Simple Config module...\n"; } - void scim_module_exit (void) + EAPI void scim_module_exit (void) { SCIM_DEBUG_CONFIG(1) << "Exiting Simple Config module...\n"; } - void scim_config_module_init () + EAPI void scim_config_module_init () { SCIM_DEBUG_CONFIG(1) << "Initializing Simple Config module (more)...\n"; } - ConfigPointer scim_config_module_create_config () + EAPI ConfigPointer scim_config_module_create_config () { SCIM_DEBUG_CONFIG(1) << "Creating a Simple Config instance...\n"; return new SimpleConfig (); diff --git a/ism/modules/config/scim_simple_config.h b/ism/modules/config/scim_simple_config.h index 51126d5..bb897d1 100644 --- a/ism/modules/config/scim_simple_config.h +++ b/ism/modules/config/scim_simple_config.h @@ -36,7 +36,7 @@ namespace scim { const int SCIM_MAX_CONFIG_LINE_LENGTH = 16384; -class SimpleConfig : public ConfigBase +class EAPI SimpleConfig : public ConfigBase { #if SCIM_USE_STL_EXT_HASH_MAP typedef __gnu_cxx::hash_map KeyValueRepository; diff --git a/ism/modules/config/scim_socket_config.cpp b/ism/modules/config/scim_socket_config.cpp index e930a00..73675be 100644 --- a/ism/modules/config/scim_socket_config.cpp +++ b/ism/modules/config/scim_socket_config.cpp @@ -46,22 +46,22 @@ using namespace scim; extern "C" { - void scim_module_init (void) + EAPI void scim_module_init (void) { SCIM_DEBUG_CONFIG(1) << "Initializing Socket Config module...\n"; } - void scim_module_exit (void) + EAPI void scim_module_exit (void) { SCIM_DEBUG_CONFIG(1) << "Exiting Socket Config module...\n"; } - void scim_config_module_init () + EAPI void scim_config_module_init () { SCIM_DEBUG_CONFIG(1) << "Initializing Socket Config module (more)...\n"; } - ConfigPointer scim_config_module_create_config () + EAPI ConfigPointer scim_config_module_create_config () { SCIM_DEBUG_CONFIG(1) << "Creating a Socket Config instance...\n"; return new SocketConfig (); diff --git a/ism/modules/config/scim_socket_config.h b/ism/modules/config/scim_socket_config.h index 4f75134..efeb5bf 100644 --- a/ism/modules/config/scim_socket_config.h +++ b/ism/modules/config/scim_socket_config.h @@ -33,7 +33,7 @@ namespace scim { -class SocketConfig : public ConfigBase +class EAPI SocketConfig : public ConfigBase { String m_socket_address; int m_socket_timeout; diff --git a/ism/modules/filter/Makefile.am b/ism/modules/filter/Makefile.am index 7ff4179..49450b4 100644 --- a/ism/modules/filter/Makefile.am +++ b/ism/modules/filter/Makefile.am @@ -30,7 +30,8 @@ INCLUDES = -I$(top_builddir) \ -DSCIM_LIBEXECDIR=\"@SCIM_LIBEXECDIR@\" \ -DSCIM_ICONDIR=\"@SCIM_ICONDIR@\" \ -DSCIM_MODULE_PATH=\"@SCIM_MODULE_PATH@\" \ - -DSCIM_TEMPDIR=\"@SCIM_TEMPDIR@\" + -DSCIM_TEMPDIR=\"@SCIM_TEMPDIR@\" \ + @ISF_BUILDING_DLL@ if SCIM_BUILD_FILTER_SCTC CONFIG_FILTER_SCTC = sctc.la diff --git a/ism/modules/filter/scim_sctc_filter.cpp b/ism/modules/filter/scim_sctc_filter.cpp index a0b9552..5561909 100644 --- a/ism/modules/filter/scim_sctc_filter.cpp +++ b/ism/modules/filter/scim_sctc_filter.cpp @@ -100,7 +100,7 @@ static WideString __tc_to_sc (const WideString &tc); //Module Interface extern "C" { - void scim_module_init (void) + EAPI void scim_module_init (void) { //Initialize encoding information. __sc_encodings.push_back ("GB2312"); @@ -112,16 +112,16 @@ extern "C" { __tc_encodings.push_back ("EUC-TW"); } - void scim_module_exit (void) + EAPI void scim_module_exit (void) { } - unsigned int scim_filter_module_init (const ConfigPointer &config) + EAPI unsigned int scim_filter_module_init (const ConfigPointer &config) { return 1; } - FilterFactoryPointer scim_filter_module_create_filter (unsigned int index) + EAPI FilterFactoryPointer scim_filter_module_create_filter (unsigned int index) { if (index == 0) return new SCTCFilterFactory (); @@ -129,7 +129,7 @@ extern "C" { return FilterFactoryPointer (0); } - bool scim_filter_module_get_filter_info (unsigned int index, FilterInfo &info) + EAPI bool scim_filter_module_get_filter_info (unsigned int index, FilterInfo &info) { if (index == 0) { info = __filter_info; diff --git a/ism/modules/filter/scim_sctc_filter.h b/ism/modules/filter/scim_sctc_filter.h index 81994c1..79d7cbb 100644 --- a/ism/modules/filter/scim_sctc_filter.h +++ b/ism/modules/filter/scim_sctc_filter.h @@ -45,7 +45,7 @@ enum SCTCWorkMode SCTC_MODE_FORCE_TC_TO_SC }; -class SCTCFilterFactory : public FilterFactoryBase +class EAPI SCTCFilterFactory : public FilterFactoryBase { bool m_sc_ok; String m_sc_encoding; @@ -69,7 +69,7 @@ public: virtual IMEngineInstancePointer create_instance (const String& encoding, int id = -1); }; -class SCTCFilterInstance : public FilterInstanceBase +class EAPI SCTCFilterInstance : public FilterInstanceBase { SCTCFilterFactory *m_factory; diff --git a/ism/modules/frontend/Makefile.am b/ism/modules/frontend/Makefile.am index 885d6c4..1d75c9d 100644 --- a/ism/modules/frontend/Makefile.am +++ b/ism/modules/frontend/Makefile.am @@ -32,7 +32,8 @@ INCLUDES = -I$(top_builddir) \ -DSCIM_SYSCONFDIR=\"@SCIM_SYSCONFDIR@\" \ -DSCIM_LIBEXECDIR=\"@SCIM_LIBEXECDIR@\" \ -DSCIM_ICONDIR=\"@SCIM_ICONDIR@\" \ - -DSCIM_MODULE_PATH=\"@SCIM_MODULE_PATH@\" + -DSCIM_MODULE_PATH=\"@SCIM_MODULE_PATH@\" \ + @ISF_BUILDING_DLL@ if SCIM_BUILD_FRONTEND_X11 CONFIG_FRONTEND_X11_MODULE = x11.la diff --git a/ism/modules/frontend/scim_socket_frontend.cpp b/ism/modules/frontend/scim_socket_frontend.cpp index 7ca7ef5..9ceb919 100644 --- a/ism/modules/frontend/scim_socket_frontend.cpp +++ b/ism/modules/frontend/scim_socket_frontend.cpp @@ -85,18 +85,18 @@ static char **_argv = NULL; //Module Interface extern "C" { - void scim_module_init (void) + EAPI void scim_module_init (void) { SCIM_DEBUG_FRONTEND(1) << "Initializing Socket FrontEnd module...\n"; } - void scim_module_exit (void) + EAPI void scim_module_exit (void) { SCIM_DEBUG_FRONTEND(1) << "Exiting Socket FrontEnd module...\n"; _scim_frontend.reset (); } - void scim_frontend_module_init (const BackEndPointer &backend, + EAPI void scim_frontend_module_init (const BackEndPointer &backend, const ConfigPointer &config, int argc, char **argv) @@ -109,7 +109,7 @@ extern "C" { } } - void scim_frontend_module_run (void) + EAPI void scim_frontend_module_run (void) { struct tms tiks_buf; clock_t start = times (&tiks_buf); diff --git a/ism/modules/frontend/scim_socket_frontend.h b/ism/modules/frontend/scim_socket_frontend.h index cf5de4d..d279434 100644 --- a/ism/modules/frontend/scim_socket_frontend.h +++ b/ism/modules/frontend/scim_socket_frontend.h @@ -49,7 +49,7 @@ using namespace scim; -class SocketFrontEnd : public FrontEndBase +class EAPI SocketFrontEnd : public FrontEndBase { enum ClientType { UNKNOWN_CLIENT, diff --git a/ism/modules/frontend/scim_x11_frontend.cpp b/ism/modules/frontend/scim_x11_frontend.cpp index 1c01d4d..cb4b4fe 100644 --- a/ism/modules/frontend/scim_x11_frontend.cpp +++ b/ism/modules/frontend/scim_x11_frontend.cpp @@ -83,18 +83,18 @@ static Pointer _scim_frontend (0); //Module Interface extern "C" { - void scim_module_init (void) + EAPI void scim_module_init (void) { SCIM_DEBUG_FRONTEND(1) << "Initializing X11 FrontEnd module...\n"; } - void scim_module_exit (void) + EAPI void scim_module_exit (void) { SCIM_DEBUG_FRONTEND(1) << "Exiting X11 FrontEnd module...\n"; _scim_frontend.reset (); } - void scim_frontend_module_init (const BackEndPointer &backend, + EAPI void scim_frontend_module_init (const BackEndPointer &backend, const ConfigPointer &config, int argc, char **argv) @@ -109,7 +109,7 @@ extern "C" { } } - void scim_frontend_module_run (void) + EAPI void scim_frontend_module_run (void) { if (!_scim_frontend.null ()) { SCIM_DEBUG_FRONTEND(1) << "Starting X11 FrontEnd module...\n"; diff --git a/ism/modules/frontend/scim_x11_frontend.h b/ism/modules/frontend/scim_x11_frontend.h index 158c931..388f159 100644 --- a/ism/modules/frontend/scim_x11_frontend.h +++ b/ism/modules/frontend/scim_x11_frontend.h @@ -40,7 +40,7 @@ using namespace scim; -class X11FrontEnd : public FrontEndBase +class EAPI X11FrontEnd : public FrontEndBase { // first = UUID. // second= siid. diff --git a/ism/modules/imengine/Makefile.am b/ism/modules/imengine/Makefile.am index 062c413..c665722 100644 --- a/ism/modules/imengine/Makefile.am +++ b/ism/modules/imengine/Makefile.am @@ -31,7 +31,8 @@ INCLUDES = -I$(top_builddir) \ -DSCIM_LIBEXECDIR=\"@SCIM_LIBEXECDIR@\" \ -DSCIM_ICONDIR=\"@SCIM_ICONDIR@\" \ -DSCIM_MODULE_PATH=\"@SCIM_MODULE_PATH@\" \ - -DSCIM_TEMPDIR=\"@SCIM_TEMPDIR@\" + -DSCIM_TEMPDIR=\"@SCIM_TEMPDIR@\" \ + @ISF_BUILDING_DLL@ if SCIM_BUILD_IMENGINE_SOCKET CONFIG_IMENGINE_SOCKET_MODULE = socket.la diff --git a/ism/modules/imengine/scim_socket_imengine.cpp b/ism/modules/imengine/scim_socket_imengine.cpp index 0d35fc1..a2e43b4 100644 --- a/ism/modules/imengine/scim_socket_imengine.cpp +++ b/ism/modules/imengine/scim_socket_imengine.cpp @@ -123,13 +123,13 @@ static SocketIMEngineGlobal *global = 0; static std::map ise_info_repository; extern "C" { - void scim_module_init (void) + EAPI void scim_module_init (void) { if (!global) global = new SocketIMEngineGlobal; } - void scim_module_exit (void) + EAPI void scim_module_exit (void) { if (global) { delete global; @@ -137,14 +137,14 @@ extern "C" { } } - unsigned int scim_imengine_module_init (const ConfigPointer &config) + EAPI unsigned int scim_imengine_module_init (const ConfigPointer &config) { if (global) return global->number_of_factories (); return 0; } - IMEngineFactoryPointer scim_imengine_module_create_factory (unsigned int index) + EAPI IMEngineFactoryPointer scim_imengine_module_create_factory (unsigned int index) { if (!global) return 0; diff --git a/ism/modules/imengine/scim_socket_imengine.h b/ism/modules/imengine/scim_socket_imengine.h index b8e711a..1fd6610 100644 --- a/ism/modules/imengine/scim_socket_imengine.h +++ b/ism/modules/imengine/scim_socket_imengine.h @@ -45,7 +45,7 @@ namespace scim { class SocketFactory; -class SocketFactory : public IMEngineFactoryBase +class EAPI SocketFactory : public IMEngineFactoryBase { WideString m_name; @@ -83,7 +83,7 @@ private: int create_peer_instance (const String &encoding); }; -class SocketInstance : public IMEngineInstanceBase +class EAPI SocketInstance : public IMEngineInstanceBase { SocketFactory *m_factory; int m_peer_id; diff --git a/ism/src/Makefile.am b/ism/src/Makefile.am index 8f078c0..5dbd494 100644 --- a/ism/src/Makefile.am +++ b/ism/src/Makefile.am @@ -33,7 +33,8 @@ INCLUDES = -I$(top_builddir) \ -DSCIM_SYSCONFDIR=\"@SCIM_SYSCONFDIR@\" \ -DSCIM_LIBEXECDIR=\"@SCIM_LIBEXECDIR@\" \ -DSCIM_ICONDIR=\"@SCIM_ICONDIR@\" \ - -DSCIM_MODULE_PATH=\"@SCIM_MODULE_PATH@\" + -DSCIM_MODULE_PATH=\"@SCIM_MODULE_PATH@\" \ + @ISF_BUILDING_DLL@ noinst_HEADERS = ltdl.h \ @@ -88,7 +89,8 @@ libsciminclude_HEADERS = scim.h \ scim_utility.h \ isf_control.h \ isf_imcontrol_client.h \ - ise_context.h + ise_context.h \ + scim_visibility.h noinst_LTLIBRARIES = libltdlc.la diff --git a/ism/src/isf_control.cpp b/ism/src/isf_control.cpp index 17b3a28..e5507a2 100644 --- a/ism/src/isf_control.cpp +++ b/ism/src/isf_control.cpp @@ -35,7 +35,7 @@ using namespace scim; -int isf_control_set_active_ise_by_uuid (const char *uuid) +EAPI int isf_control_set_active_ise_by_uuid (const char *uuid) { if (uuid == NULL) return -1; @@ -48,7 +48,7 @@ int isf_control_set_active_ise_by_uuid (const char *uuid) return 0; } -int isf_control_get_active_ise (char **uuid) +EAPI int isf_control_get_active_ise (char **uuid) { if (uuid == NULL) return -1; @@ -65,7 +65,7 @@ int isf_control_get_active_ise (char **uuid) return strUuid.length (); } -int isf_control_get_ise_list (char ***uuid_list) +EAPI int isf_control_get_ise_list (char ***uuid_list) { if (uuid_list == NULL) return -1; @@ -79,7 +79,7 @@ int isf_control_get_ise_list (char ***uuid_list) return count; } -int isf_control_get_ise_info (const char *uuid, char **name, char **language, ISE_TYPE_T *type, int *option) +EAPI int isf_control_get_ise_info (const char *uuid, char **name, char **language, ISE_TYPE_T *type, int *option) { if (uuid == NULL || name == NULL || language == NULL) return -1; @@ -102,7 +102,7 @@ int isf_control_get_ise_info (const char *uuid, char **name, char **language, IS return 0; } -int isf_control_set_active_ise_to_default (void) +EAPI int isf_control_set_active_ise_to_default (void) { IMControlClient imcontrol_client; imcontrol_client.open_connection (); @@ -114,7 +114,7 @@ int isf_control_set_active_ise_to_default (void) return 0; } -int isf_control_reset_ise_option (void) +EAPI int isf_control_reset_ise_option (void) { IMControlClient imcontrol_client; imcontrol_client.open_connection (); diff --git a/ism/src/isf_control.h b/ism/src/isf_control.h index b5b280e..128a84f 100644 --- a/ism/src/isf_control.h +++ b/ism/src/isf_control.h @@ -38,7 +38,6 @@ typedef enum SOFTWARE_KEYBOARD_ISE /* Software keyboard ISE */ } ISE_TYPE_T; - ///////////////////////////////////////////////////////////////////////////// // Declaration of global functions. ///////////////////////////////////////////////////////////////////////////// @@ -49,7 +48,7 @@ typedef enum * * @return 0 if successfully, otherwise return -1; */ -int isf_control_set_active_ise_by_uuid (const char *uuid); +EAPI int isf_control_set_active_ise_by_uuid (const char *uuid); /** * @brief Get active ISE's UUID. @@ -59,7 +58,7 @@ int isf_control_set_active_ise_by_uuid (const char *uuid); * * @return the length of UUID if successfully, otherwise return -1; */ -int isf_control_get_active_ise (char **uuid); +EAPI int isf_control_get_active_ise (char **uuid); /** * @brief Get the list of all ISEs' UUID. @@ -69,7 +68,7 @@ int isf_control_get_active_ise (char **uuid); * * @return the count of UUID list if successfully, otherwise return -1; */ -int isf_control_get_ise_list (char ***uuid_list); +EAPI int isf_control_get_ise_list (char ***uuid_list); /** * @brief Get ISE's information according to ISE's UUID. @@ -82,21 +81,21 @@ int isf_control_get_ise_list (char ***uuid_list); * * @return 0 if successfully, otherwise return -1; */ -int isf_control_get_ise_info (const char *uuid, char **name, char **language, ISE_TYPE_T *type, int *option); +EAPI int isf_control_get_ise_info (const char *uuid, char **name, char **language, ISE_TYPE_T *type, int *option); /** * @brief Set active ISE to default ISE. * * @return 0 if successfully, otherwise return -1; */ -int isf_control_set_active_ise_to_default (void); +EAPI int isf_control_set_active_ise_to_default (void); /** * @brief Reset all ISEs' options. * * @return 0 if successfully, otherwise return -1; */ -int isf_control_reset_ise_option (void); +EAPI int isf_control_reset_ise_option (void); #ifdef __cplusplus } diff --git a/ism/src/isf_imcontrol_client.h b/ism/src/isf_imcontrol_client.h index 5a45d25..78bdea7 100644 --- a/ism/src/isf_imcontrol_client.h +++ b/ism/src/isf_imcontrol_client.h @@ -31,7 +31,7 @@ namespace scim typedef Slot1 IMControlClientSlotVoid; -class IMControlClient +class EAPI IMControlClient { class IMControlClientImpl; IMControlClientImpl *m_impl; diff --git a/ism/src/isf_query_utility.cpp b/ism/src/isf_query_utility.cpp index 9616e18..23180f9 100644 --- a/ism/src/isf_query_utility.cpp +++ b/ism/src/isf_query_utility.cpp @@ -53,7 +53,7 @@ using namespace scim; * * @return normalized language name. */ -String isf_get_normalized_language (String src_str) +EAPI String isf_get_normalized_language (String src_str) { std::vector str_list, dst_list; scim_split_string_list (str_list, src_str); @@ -66,7 +66,7 @@ String isf_get_normalized_language (String src_str) return dst_str; } -void isf_get_ise_info_from_string (const char *str, ISEINFO &info) +EAPI void isf_get_ise_info_from_string (const char *str, ISEINFO &info) { if (str == NULL || strlen (str) == 0) return; @@ -101,7 +101,7 @@ void isf_get_ise_info_from_string (const char *str, ISEINFO &info) free (buf); } -String isf_combine_ise_info_string (String name, String uuid, String module, String language, +EAPI String isf_combine_ise_info_string (String name, String uuid, String module, String language, String icon, String mode, String option, String locales) { String line = name + String (":") + uuid + String (":") + module + String (":") + language + String (":") + @@ -109,7 +109,7 @@ String isf_combine_ise_info_string (String name, String uuid, String module, Str return line; } -bool isf_read_ise_info_list (const char *filename, std::vector &info_list) +EAPI bool isf_read_ise_info_list (const char *filename, std::vector &info_list) { info_list.clear (); FILE *engine_list_file = fopen (filename, "r"); @@ -130,7 +130,7 @@ bool isf_read_ise_info_list (const char *filename, std::vector &info_li return true; } -bool isf_write_ise_info_list (const char *filename, std::vector &info_list) +EAPI bool isf_write_ise_info_list (const char *filename, std::vector &info_list) { if (info_list.size () <= 0) return false; @@ -242,7 +242,7 @@ static void remove_ise_info_from_list (std::vector &info_list, const ch } } -bool isf_add_keyboard_info_to_file (const char *filename, const char *module_name, const ConfigPointer &config) +EAPI bool isf_add_keyboard_info_to_file (const char *filename, const char *module_name, const ConfigPointer &config) { std::vector info_list; std::vector::iterator iter; @@ -256,7 +256,7 @@ bool isf_add_keyboard_info_to_file (const char *filename, const char *module_nam return isf_write_ise_info_list (filename, info_list); } -bool isf_add_helper_info_to_file (const char *filename, const char *module_name) +EAPI bool isf_add_helper_info_to_file (const char *filename, const char *module_name) { std::vector info_list; std::vector::iterator iter; @@ -270,7 +270,7 @@ bool isf_add_helper_info_to_file (const char *filename, const char *module_name) return isf_write_ise_info_list (filename, info_list); } -void isf_remove_ise_info_from_file (const char *filename, const char *module_name) +EAPI void isf_remove_ise_info_from_file (const char *filename, const char *module_name) { std::vector info_list; std::vector::iterator iter; @@ -281,7 +281,7 @@ void isf_remove_ise_info_from_file (const char *filename, const char *module_nam isf_write_ise_info_list (filename, info_list); } -void isf_update_ise_info_to_file (const char *filename, const ConfigPointer &config) +EAPI void isf_update_ise_info_to_file (const char *filename, const ConfigPointer &config) { if (filename == NULL) return; diff --git a/ism/src/isf_query_utility.h b/ism/src/isf_query_utility.h index 9c8452d..bc18008 100644 --- a/ism/src/isf_query_utility.h +++ b/ism/src/isf_query_utility.h @@ -53,16 +53,16 @@ typedef struct { String locales; } ISEINFO; -String isf_get_normalized_language (String src_str); -String isf_combine_ise_info_string (String name, String uuid, String module, String language, +EAPI String isf_get_normalized_language (String src_str); +EAPI String isf_combine_ise_info_string (String name, String uuid, String module, String language, String icon, String mode, String option, String locales); -void isf_get_ise_info_from_string (const char *str, ISEINFO &info); -bool isf_read_ise_info_list (const char *filename, std::vector &info_list); -bool isf_write_ise_info_list (const char *filename, std::vector &info_list); -bool isf_add_keyboard_info_to_file (const char *filename, const char *module_name, const ConfigPointer &config); -bool isf_add_helper_info_to_file (const char *filename, const char *module_name); -void isf_remove_ise_info_from_file (const char *filename, const char *module_name); -void isf_update_ise_info_to_file (const char *filename, const ConfigPointer &config); +EAPI void isf_get_ise_info_from_string (const char *str, ISEINFO &info); +EAPI bool isf_read_ise_info_list (const char *filename, std::vector &info_list); +EAPI bool isf_write_ise_info_list (const char *filename, std::vector &info_list); +EAPI bool isf_add_keyboard_info_to_file (const char *filename, const char *module_name, const ConfigPointer &config); +EAPI bool isf_add_helper_info_to_file (const char *filename, const char *module_name); +EAPI void isf_remove_ise_info_from_file (const char *filename, const char *module_name); +EAPI void isf_update_ise_info_to_file (const char *filename, const ConfigPointer &config); #endif /* __ISF_QUERY_UTILITY_H */ diff --git a/ism/src/scim.h b/ism/src/scim.h index 1fff6e2..13194f9 100644 --- a/ism/src/scim.h +++ b/ism/src/scim.h @@ -35,6 +35,7 @@ */ /* Define the macros */ +#define Uses_SCIM_VISIBILITY #define Uses_SCIM_TYPES #define Uses_SCIM_UTILITY #define Uses_SCIM_GLOBAL_CONFIG @@ -281,6 +282,10 @@ #endif /* Include SCIM Headers */ +#ifdef Uses_SCIM_VISIBILITY + #include +#endif + #ifdef Uses_SCIM_TYPES #include #endif diff --git a/ism/src/scim_attribute.h b/ism/src/scim_attribute.h index 995743a..ad79e49 100644 --- a/ism/src/scim_attribute.h +++ b/ism/src/scim_attribute.h @@ -94,7 +94,7 @@ const unsigned int SCIM_ATTR_DECORATE_BGCOLOR4 = 8; ///< Draw the text in u * You may use SCIM_RGB_COLOR_RED, SCIM_RGB_COLOR_GREEN and SCIM_RGB_COLOR_BLUE to extract * the RGB color later. */ -class Attribute +class EAPI Attribute { unsigned int m_start; unsigned int m_length; diff --git a/ism/src/scim_backend.h b/ism/src/scim_backend.h index 6ea2463..f71acd3 100644 --- a/ism/src/scim_backend.h +++ b/ism/src/scim_backend.h @@ -47,7 +47,7 @@ namespace scim { * scim::BackEndBase and its derived classes must throw * scim::BackEndError object when error. */ -class BackEndError: public Exception +class EAPI BackEndError: public Exception { public: BackEndError (const String& what_arg) @@ -65,7 +65,7 @@ public: * Most developer should just use the default implementation * scim::CommonBackEnd. */ -class BackEndBase : public ReferencedObject +class EAPI BackEndBase : public ReferencedObject { class BackEndBaseImpl; @@ -215,7 +215,7 @@ typedef Pointer BackEndPointer; /** * @brief The default implementation of scim::BackEndBase interface. */ -class CommonBackEnd : public BackEndBase +class EAPI CommonBackEnd : public BackEndBase { class CommonBackEndImpl; CommonBackEndImpl *m_impl; diff --git a/ism/src/scim_compose_key.h b/ism/src/scim_compose_key.h index 3acff00..b47eae6 100644 --- a/ism/src/scim_compose_key.h +++ b/ism/src/scim_compose_key.h @@ -44,7 +44,7 @@ namespace scim { /** * @brief A simple IMEngine to deal with the Compose keys. */ -class ComposeKeyFactory : public IMEngineFactoryBase +class EAPI ComposeKeyFactory : public IMEngineFactoryBase { public: ComposeKeyFactory (); @@ -63,7 +63,7 @@ public: virtual IMEngineInstancePointer create_instance (const String& encoding, int id = -1); }; -class ComposeKeyInstance : public IMEngineInstanceBase +class EAPI ComposeKeyInstance : public IMEngineInstanceBase { uint32 m_compose_buffer [8]; diff --git a/ism/src/scim_config_base.h b/ism/src/scim_config_base.h index 6988a1a..ec4ab6d 100644 --- a/ism/src/scim_config_base.h +++ b/ism/src/scim_config_base.h @@ -49,7 +49,7 @@ namespace scim { * scim::ConfigBase and its derived classes must throw * scim::ConfigError object when error. */ -class ConfigError: public Exception +class EAPI ConfigError: public Exception { public: ConfigError (const String& what_arg) @@ -85,7 +85,7 @@ typedef Signal1 ConfigSignalVoid; * All of the SCIM objects which have configuration data should * use this interface to store and load them. */ -class ConfigBase : public ReferencedObject +class EAPI ConfigBase : public ReferencedObject { ConfigSignalVoid m_signal_reload; @@ -373,7 +373,7 @@ public: * The read methods will just return false and the default value (if available). * The write methods will do nothing. */ -class DummyConfig : public ConfigBase +class EAPI DummyConfig : public ConfigBase { public: diff --git a/ism/src/scim_config_module.cpp b/ism/src/scim_config_module.cpp index c52c9c0..a834212 100644 --- a/ism/src/scim_config_module.cpp +++ b/ism/src/scim_config_module.cpp @@ -86,7 +86,7 @@ ConfigModule::create_config () const return ConfigPointer (); } -int scim_get_config_module_list (std::vector & mod_list) +EAPI int scim_get_config_module_list (std::vector & mod_list) { return scim_get_module_list (mod_list, "Config"); } diff --git a/ism/src/scim_config_module.h b/ism/src/scim_config_module.h index 3b674d3..353cb2e 100644 --- a/ism/src/scim_config_module.h +++ b/ism/src/scim_config_module.h @@ -67,7 +67,7 @@ typedef ConfigPointer (*ConfigModuleCreateConfigFunc) (); * This is a wrapper of scim::Module class, which is specially * for manipulating the config modules. */ -class ConfigModule +class EAPI ConfigModule { Module m_module; @@ -125,7 +125,7 @@ public: * @param mod_list - the result list will be stored here. * @return the number of the modules, equal to mod_list.size (). */ -int scim_get_config_module_list (std::vector & mod_list); +EAPI int scim_get_config_module_list (std::vector & mod_list); /** @} */ diff --git a/ism/src/scim_connection.h b/ism/src/scim_connection.h index a259145..320216c 100644 --- a/ism/src/scim_connection.h +++ b/ism/src/scim_connection.h @@ -52,7 +52,7 @@ class Slot; * from a signal's connect() method. */ -class Node : public ReferencedObject +class EAPI Node : public ReferencedObject { Pointer slot_; @@ -86,7 +86,7 @@ public: * a signal connection. */ -class Connection +class EAPI Connection { mutable Pointer node_; diff --git a/ism/src/scim_debug.h b/ism/src/scim_debug.h index 05963ff..3955d52 100644 --- a/ism/src/scim_debug.h +++ b/ism/src/scim_debug.h @@ -86,7 +86,7 @@ namespace scim { /** * @brief The class to filter and redirect the debug messages. */ -class DebugOutput +class EAPI DebugOutput { private: static uint32 current_verbose; diff --git a/ism/src/scim_event.cpp b/ism/src/scim_event.cpp index 889d60d..762ffb9 100644 --- a/ism/src/scim_event.cpp +++ b/ism/src/scim_event.cpp @@ -260,14 +260,14 @@ KeyEvent::map_to_layout (KeyboardLayout new_layout) const return evt; } -bool +EAPI bool scim_key_to_string (String &str, const KeyEvent & key) { str = key.get_key_string (); return str.length () != 0; } -bool +EAPI bool scim_string_to_key (KeyEvent &key, const String & str) { std::vector list; @@ -308,7 +308,7 @@ scim_string_to_key (KeyEvent &key, const String & str) return key.code != 0; } -bool +EAPI bool scim_key_list_to_string (String &str, const std::vector & keylist) { std::vector strlist; @@ -323,7 +323,7 @@ scim_key_list_to_string (String &str, const std::vector & keylist) return str.length () != 0; } -bool +EAPI bool scim_string_to_key_list (std::vector &keylist, const String &str) { std::vector strlist; @@ -340,7 +340,7 @@ scim_string_to_key_list (std::vector &keylist, const String &str) } -String +EAPI String scim_keyboard_layout_to_string (KeyboardLayout layout) { if (layout >= 0 && layout < SCIM_KEYBOARD_NUM_LAYOUTS) @@ -349,7 +349,7 @@ scim_keyboard_layout_to_string (KeyboardLayout layout) return String (__scim_keyboard_layout_ids_by_code [0].name); } -KeyboardLayout +EAPI KeyboardLayout scim_string_to_keyboard_layout (const String &str) { if (str == __scim_keyboard_layout_ids_by_code [0].name) return SCIM_KEYBOARD_Unknown; @@ -367,7 +367,7 @@ scim_string_to_keyboard_layout (const String &str) return SCIM_KEYBOARD_Unknown; } -String +EAPI String scim_keyboard_layout_get_display_name (KeyboardLayout layout) { if (layout >= 0 && layout < SCIM_KEYBOARD_NUM_LAYOUTS) @@ -376,7 +376,7 @@ scim_keyboard_layout_get_display_name (KeyboardLayout layout) return String (_(__scim_keyboard_layout_names [0])); } -KeyboardLayout +EAPI KeyboardLayout scim_get_default_keyboard_layout () { String layout_name (__scim_keyboard_layout_ids_by_code [0].name); @@ -385,7 +385,7 @@ scim_get_default_keyboard_layout () return scim_string_to_keyboard_layout (layout_name); } -void +EAPI void scim_set_default_keyboard_layout (KeyboardLayout layout) { String layout_name = scim_keyboard_layout_to_string (layout); diff --git a/ism/src/scim_event.h b/ism/src/scim_event.h index ad14e13..47d85e1 100644 --- a/ism/src/scim_event.h +++ b/ism/src/scim_event.h @@ -2009,7 +2009,7 @@ typedef std::vector KeyEventList; * @param key - the KeyEvent to be converted. * @return true if success. */ -bool scim_key_to_string (String &str, const KeyEvent & key); +EAPI bool scim_key_to_string (String &str, const KeyEvent & key); /** * @brief Convert a string to a KeyEvent. @@ -2017,7 +2017,7 @@ bool scim_key_to_string (String &str, const KeyEvent & key); * @param str - the string to be converted. * @return true if success. */ -bool scim_string_to_key (KeyEvent &key, const String & str); +EAPI bool scim_string_to_key (KeyEvent &key, const String & str); /** * @brief Convert a set of KeyEvents to a string. @@ -2025,7 +2025,7 @@ bool scim_string_to_key (KeyEvent &key, const String & str); * @param keylist - the keys to be converted. * @return true if success. */ -bool scim_key_list_to_string (String &str, const KeyEventList & keylist); +EAPI bool scim_key_list_to_string (String &str, const KeyEventList & keylist); /** * @brief Covnert a string to a set of KeyEvents. @@ -2033,28 +2033,28 @@ bool scim_key_list_to_string (String &str, const KeyEventList & keylist); * @param str - the string to be converted. * @return true if success. */ -bool scim_string_to_key_list (KeyEventList &keylist, const String &str); +EAPI bool scim_string_to_key_list (KeyEventList &keylist, const String &str); /** * @brief Convert a Keyboard Layout enum value to its String name. * @param layout The Keyboard Layout type. * @return The name of this layout. */ -String scim_keyboard_layout_to_string (KeyboardLayout layout); +EAPI String scim_keyboard_layout_to_string (KeyboardLayout layout); /** * @brief Convert a String name to the corresponding Keyboard Layout value. * @param str The Keyboard Layout name. * @return The Keyboard Layout type corresponding to this name, or SCIM_KEYBOARD_Unknown. */ -KeyboardLayout scim_string_to_keyboard_layout (const String &str); +EAPI KeyboardLayout scim_string_to_keyboard_layout (const String &str); /** * @brief Get the display name of a Keyboard Layout enum value. * @param layout The Keyboard Layout type. * @return The localized display name of this layout. */ -String scim_keyboard_layout_get_display_name (KeyboardLayout layout); +EAPI String scim_keyboard_layout_get_display_name (KeyboardLayout layout); /** * @brief Get default Keyboard Layout setting. @@ -2065,7 +2065,7 @@ String scim_keyboard_layout_get_display_name (KeyboardLayout layout); * This function is mainly used by FrontEnds and Setup tools. * IMEngines should not use it. */ -KeyboardLayout scim_get_default_keyboard_layout (); +EAPI KeyboardLayout scim_get_default_keyboard_layout (); /** * @brief Change the default Keyboard Layout setting. @@ -2076,7 +2076,7 @@ KeyboardLayout scim_get_default_keyboard_layout (); * This function is mainly used by FrontEnds and Setup tools. * IMEngines should not use it. */ -void scim_set_default_keyboard_layout (KeyboardLayout layout); +EAPI void scim_set_default_keyboard_layout (KeyboardLayout layout); /** * @brief The class to store a keyboard event. @@ -2088,7 +2088,7 @@ void scim_set_default_keyboard_layout (KeyboardLayout layout); * It also contains the Keyboard Layout information. IMEngines can * map a KeyEvent to another layout by calling method #map_to_layout(). */ -struct KeyEvent +struct EAPI KeyEvent { uint32 code; /**< key code */ uint16 mask; /**< modifier keys' mask */ diff --git a/ism/src/scim_exception.h b/ism/src/scim_exception.h index 77e1b0f..83b32ff 100644 --- a/ism/src/scim_exception.h +++ b/ism/src/scim_exception.h @@ -45,7 +45,7 @@ namespace scim { * All other exception classes in namespace scim * should be derived from this class. */ -class Exception: public std::exception +class EAPI Exception: public std::exception { String m_what; public: diff --git a/ism/src/scim_filter.h b/ism/src/scim_filter.h index be0300f..cc7d4ea 100644 --- a/ism/src/scim_filter.h +++ b/ism/src/scim_filter.h @@ -50,7 +50,7 @@ namespace scim { * scim::FilterFactoryBase, scim::FilterInstanceBase * and their derived classes must throw scim::FilterError object when error. */ -class FilterError: public Exception +class EAPI FilterError: public Exception { public: FilterError (const String& what_arg) @@ -84,7 +84,7 @@ struct FilterInfo * Because multiple objects of one FilterFactory class maybe used at the same time * to filter several real IMEngineFactory objects. */ -class FilterFactoryBase : public IMEngineFactoryBase +class EAPI FilterFactoryBase : public IMEngineFactoryBase { IMEngineFactoryPointer m_orig; @@ -272,7 +272,7 @@ typedef Pointer FilterFactoryPointer; * All FilterInstance classes should derive from this base class, * and some base methods should be override in the derived classes. */ -class FilterInstanceBase : public IMEngineInstanceBase +class EAPI FilterInstanceBase : public IMEngineInstanceBase { class FilterInstanceBaseImpl; diff --git a/ism/src/scim_filter_manager.h b/ism/src/scim_filter_manager.h index 90fe802..c658da6 100644 --- a/ism/src/scim_filter_manager.h +++ b/ism/src/scim_filter_manager.h @@ -43,7 +43,7 @@ namespace scim { * @{ */ -class FilterManager +class EAPI FilterManager { class FilterManagerImpl; FilterManagerImpl *m_impl; diff --git a/ism/src/scim_filter_module.cpp b/ism/src/scim_filter_module.cpp index 2d8ed91..408da99 100644 --- a/ism/src/scim_filter_module.cpp +++ b/ism/src/scim_filter_module.cpp @@ -119,7 +119,7 @@ FilterModule::number_of_filters () const } -int scim_get_filter_module_list (std::vector & engine_list) +EAPI int scim_get_filter_module_list (std::vector & engine_list) { return scim_get_module_list (engine_list, "Filter"); } diff --git a/ism/src/scim_filter_module.h b/ism/src/scim_filter_module.h index 07eeee3..202add3 100644 --- a/ism/src/scim_filter_module.h +++ b/ism/src/scim_filter_module.h @@ -104,7 +104,7 @@ typedef bool (*FilterModuleGetFilterInfoFunc) (unsigned int index, FilterInfo &i * This is a wrapper of scim::Module class, which is specially * for manipulating the Filter modules. */ -class FilterModule +class EAPI FilterModule { Module m_module; @@ -191,7 +191,7 @@ public: * @param mod_list - the result list will be stored here. * @return the number of the modules, equal to mod_list.size (). */ -int scim_get_filter_module_list (std::vector &mod_list); +EAPI int scim_get_filter_module_list (std::vector &mod_list); /** @} */ diff --git a/ism/src/scim_frontend.h b/ism/src/scim_frontend.h index c83eea1..110ee9f 100644 --- a/ism/src/scim_frontend.h +++ b/ism/src/scim_frontend.h @@ -57,7 +57,7 @@ namespace scim { * scim::FrontEndBase and its derived classes must throw * scim::FrontEndError object when error. */ -class FrontEndError: public Exception +class EAPI FrontEndError: public Exception { public: FrontEndError (const String& what_arg) @@ -80,7 +80,7 @@ typedef Pointer FrontEndPointer; * and the user applications. It forward the user requests to * IMEngineFactory/IMEngineInstance objects, and handle the requests sent back. */ -class FrontEndBase : public ReferencedObject +class EAPI FrontEndBase : public ReferencedObject { class FrontEndBaseImpl; diff --git a/ism/src/scim_frontend_module.cpp b/ism/src/scim_frontend_module.cpp index 1085aa6..511eedd 100644 --- a/ism/src/scim_frontend_module.cpp +++ b/ism/src/scim_frontend_module.cpp @@ -91,7 +91,7 @@ FrontEndModule::run () const m_frontend_run (); } -int scim_get_frontend_module_list (std::vector & mod_list) +EAPI int scim_get_frontend_module_list (std::vector & mod_list) { return scim_get_module_list (mod_list, "FrontEnd"); } diff --git a/ism/src/scim_frontend_module.h b/ism/src/scim_frontend_module.h index 544fe06..afe1841 100644 --- a/ism/src/scim_frontend_module.h +++ b/ism/src/scim_frontend_module.h @@ -71,7 +71,7 @@ typedef void (*FrontEndModuleRunFunc) (void); * This is a wrapper of scim::Module class, which is specially * for manipulating the frontend modules. */ -class FrontEndModule +class EAPI FrontEndModule { Module m_module; @@ -139,7 +139,7 @@ public: * @param mod_list - the result list will be stored here. * @return the number of the modules, equal to mod_list.size (). */ -int scim_get_frontend_module_list (std::vector & mod_list); +EAPI int scim_get_frontend_module_list (std::vector & mod_list); /** @} */ diff --git a/ism/src/scim_global_config.cpp b/ism/src/scim_global_config.cpp index 58571b7..4e75466 100644 --- a/ism/src/scim_global_config.cpp +++ b/ism/src/scim_global_config.cpp @@ -175,7 +175,7 @@ __initialize_config () } } -String +EAPI String scim_global_config_read (const String &key, const String &defVal) { if (!__config_repository.initialized) __initialize_config (); @@ -195,7 +195,7 @@ scim_global_config_read (const String &key, const String &defVal) return defVal; } -int +EAPI int scim_global_config_read (const String &key, int defVal) { if (!__config_repository.initialized) __initialize_config (); @@ -216,7 +216,7 @@ scim_global_config_read (const String &key, int defVal) return defVal; } -bool +EAPI bool scim_global_config_read (const String &key, bool defVal) { if (!__config_repository.initialized) __initialize_config (); @@ -241,7 +241,7 @@ scim_global_config_read (const String &key, bool defVal) return defVal; } -double +EAPI double scim_global_config_read (const String &key, double defVal) { if (!__config_repository.initialized) __initialize_config (); @@ -262,7 +262,7 @@ scim_global_config_read (const String &key, double defVal) return defVal; } -std::vector +EAPI std::vector scim_global_config_read (const String &key, const std::vector &defVal) { if (!__config_repository.initialized) __initialize_config (); @@ -286,7 +286,7 @@ scim_global_config_read (const String &key, const std::vector &defVal) return defVal; } -std::vector +EAPI std::vector scim_global_config_read (const String &key, const std::vector &defVal) { if (!__config_repository.initialized) __initialize_config (); @@ -316,7 +316,7 @@ scim_global_config_read (const String &key, const std::vector &defVal) return defVal; } -void +EAPI void scim_global_config_write (const String &key, const String &val) { if (!__config_repository.initialized) __initialize_config (); @@ -327,7 +327,7 @@ scim_global_config_write (const String &key, const String &val) } } -void +EAPI void scim_global_config_write (const String &key, int val) { if (!__config_repository.initialized) __initialize_config (); @@ -340,7 +340,7 @@ scim_global_config_write (const String &key, int val) } } -void +EAPI void scim_global_config_write (const String &key, bool val) { if (!__config_repository.initialized) __initialize_config (); @@ -351,7 +351,7 @@ scim_global_config_write (const String &key, bool val) } } -void +EAPI void scim_global_config_write (const String &key, double val) { if (!__config_repository.initialized) __initialize_config (); @@ -364,7 +364,7 @@ scim_global_config_write (const String &key, double val) } } -void +EAPI void scim_global_config_write (const String &key, const std::vector &val) { if (!__config_repository.initialized) __initialize_config (); @@ -375,7 +375,7 @@ scim_global_config_write (const String &key, const std::vector &val) } } -void +EAPI void scim_global_config_write (const String &key, const std::vector &val) { if (!__config_repository.initialized) __initialize_config (); @@ -392,7 +392,7 @@ scim_global_config_write (const String &key, const std::vector &val) } } -void +EAPI void scim_global_config_reset (const String &key) { if (!__config_repository.initialized) __initialize_config (); @@ -403,7 +403,7 @@ scim_global_config_reset (const String &key) } } -bool +EAPI bool scim_global_config_flush () { if (!__config_repository.initialized) diff --git a/ism/src/scim_global_config.h b/ism/src/scim_global_config.h index 29816b5..0152dc7 100644 --- a/ism/src/scim_global_config.h +++ b/ism/src/scim_global_config.h @@ -54,7 +54,7 @@ namespace scim { * * @return the value string of the key. */ -String scim_global_config_read (const String &key, const String &defVal = String ()); +EAPI String scim_global_config_read (const String &key, const String &defVal = String ()); /** * @brief Read an int value from the global configuration file. @@ -64,7 +64,7 @@ String scim_global_config_read (const String &key, const String &defVal = String * * @return the value of the key. */ -int scim_global_config_read (const String &key, int defVal); +EAPI int scim_global_config_read (const String &key, int defVal); /** * @brief Read a bool value from the global configuration file. @@ -74,7 +74,7 @@ int scim_global_config_read (const String &key, int defVal); * * @return the value of the key. */ -bool scim_global_config_read (const String &key, bool defVal); +EAPI bool scim_global_config_read (const String &key, bool defVal); /** * @brief Read a double value from the global configuration file. @@ -84,7 +84,7 @@ bool scim_global_config_read (const String &key, bool defVal); * * @return the value of the key. */ -double scim_global_config_read (const String &key, double defVal); +EAPI double scim_global_config_read (const String &key, double defVal); /** * @brief Read a string list from the global configuration file. @@ -94,7 +94,7 @@ double scim_global_config_read (const String &key, double defVal); * * @return the value of the key. */ -std::vector scim_global_config_read (const String &key, const std::vector &defVal); +EAPI std::vector scim_global_config_read (const String &key, const std::vector &defVal); /** * @brief Read an int list from the global configuration file. @@ -104,7 +104,7 @@ std::vector scim_global_config_read (const String &key, const std::vect * * @return the value of the key. */ -std::vector scim_global_config_read (const String &key, const std::vector &defVal); +EAPI std::vector scim_global_config_read (const String &key, const std::vector &defVal); /** * @brief Write a string value into the user global config. @@ -112,7 +112,7 @@ std::vector scim_global_config_read (const String &key, const std::vect * @param key The key to be associated. * @param val The string value to be written. */ -void scim_global_config_write (const String &key, const String &val); +EAPI void scim_global_config_write (const String &key, const String &val); /** * @brief Write an int value into the user global config. @@ -120,7 +120,7 @@ void scim_global_config_write (const String &key, const String &val); * @param key The key to be associated. * @param val The int value to be written. */ -void scim_global_config_write (const String &key, int val); +EAPI void scim_global_config_write (const String &key, int val); /** * @brief Write a bool value into the user global config. @@ -128,7 +128,7 @@ void scim_global_config_write (const String &key, int val); * @param key The key to be associated. * @param val The bool value to be written. */ -void scim_global_config_write (const String &key, bool val); +EAPI void scim_global_config_write (const String &key, bool val); /** * @brief Write a double value into the user global config. @@ -136,7 +136,7 @@ void scim_global_config_write (const String &key, bool val); * @param key The key to be associated. * @param val The double value to be written. */ -void scim_global_config_write (const String &key, double val); +EAPI void scim_global_config_write (const String &key, double val); /** * @brief Write a string list into the user global config. @@ -144,7 +144,7 @@ void scim_global_config_write (const String &key, double val); * @param key The key to be associated. * @param val The string list to be written. */ -void scim_global_config_write (const String &key, const std::vector &val); +EAPI void scim_global_config_write (const String &key, const std::vector &val); /** * @brief Write an int list into the user global config. @@ -152,20 +152,20 @@ void scim_global_config_write (const String &key, const std::vector &va * @param key The key to be associated. * @param val The int list to be written. */ -void scim_global_config_write (const String &key, const std::vector &val); +EAPI void scim_global_config_write (const String &key, const std::vector &val); /** * @brief Reset the value associated to the specified key to its default value. * * @param key The key to be reset. */ -void scim_global_config_reset (const String &key); +EAPI void scim_global_config_reset (const String &key); /** * @brief Flush the updated global config into user global config file. * @return true if success. */ -bool scim_global_config_flush (); +EAPI bool scim_global_config_flush (); /** @} */ } // namespace scim diff --git a/ism/src/scim_helper.h b/ism/src/scim_helper.h index 328592c..8e68a78 100644 --- a/ism/src/scim_helper.h +++ b/ism/src/scim_helper.h @@ -54,7 +54,7 @@ namespace scim { * The accessory classes to help develop and manage Client Helper objects. * @{ */ -class HelperError: public Exception +class EAPI HelperError: public Exception { public: HelperError (const String& what_arg) @@ -205,7 +205,7 @@ typedef Slot2 &> * This class implements all Socket Transaction protocol between * Helper object and Panel. */ -class HelperAgent +class EAPI HelperAgent { class HelperAgentImpl; HelperAgentImpl *m_impl; diff --git a/ism/src/scim_helper_manager.h b/ism/src/scim_helper_manager.h index 35358e5..bd85ce4 100644 --- a/ism/src/scim_helper_manager.h +++ b/ism/src/scim_helper_manager.h @@ -53,7 +53,7 @@ namespace scim { * @brief This class is used to manage all helper objects. * */ -class HelperManager +class EAPI HelperManager { class HelperManagerImpl; HelperManagerImpl *m_impl; diff --git a/ism/src/scim_helper_module.cpp b/ism/src/scim_helper_module.cpp index 91cc809..85b5e44 100644 --- a/ism/src/scim_helper_module.cpp +++ b/ism/src/scim_helper_module.cpp @@ -165,7 +165,7 @@ HelperModule::set_arg_info (int argc, char *argv []) const m_set_arg_info (argc, argv); } -int scim_get_helper_module_list (std::vector &mod_list) +EAPI int scim_get_helper_module_list (std::vector &mod_list) { return scim_get_module_list (mod_list, "Helper"); } diff --git a/ism/src/scim_helper_module.h b/ism/src/scim_helper_module.h index f02ac72..1ad682a 100644 --- a/ism/src/scim_helper_module.h +++ b/ism/src/scim_helper_module.h @@ -137,7 +137,7 @@ typedef void (*HelperModuleSetPathInfoFunc) (const char *path); * * This class should not be used directly. HelperManager should be used instead. */ -class HelperModule +class EAPI HelperModule { Module m_module; @@ -233,7 +233,7 @@ public: * @param mod_list - the result list will be stored here. * @return the number of the modules, equal to mod_list.size (). */ -int scim_get_helper_module_list (std::vector &mod_list); +EAPI int scim_get_helper_module_list (std::vector &mod_list); /** @} */ } // namespace scim diff --git a/ism/src/scim_hotkey.h b/ism/src/scim_hotkey.h index 39bddf7..98f0a9b 100644 --- a/ism/src/scim_hotkey.h +++ b/ism/src/scim_hotkey.h @@ -48,7 +48,7 @@ namespace scim { * If there are large amount of hotkeys to be matched, this class can provide * very good performance. */ -class HotkeyMatcher +class EAPI HotkeyMatcher { class HotkeyMatcherImpl; @@ -158,7 +158,7 @@ typedef struct { /** * @brief This class hold all Hotkeys for each IMEngines. */ -class IMEngineHotkeyMatcher +class EAPI IMEngineHotkeyMatcher { class IMEngineHotkeyMatcherImpl; @@ -273,7 +273,7 @@ enum FrontEndHotkeyAction /** * @brief This class hold all FrontEnd specific Hotkeys, such as trigger keys, on/off keys, etc. */ -class FrontEndHotkeyMatcher +class EAPI FrontEndHotkeyMatcher { class FrontEndHotkeyMatcherImpl; diff --git a/ism/src/scim_iconv.h b/ism/src/scim_iconv.h index 985c2e0..a7f63af 100644 --- a/ism/src/scim_iconv.h +++ b/ism/src/scim_iconv.h @@ -44,7 +44,7 @@ namespace scim { /** * @brief A class to convert strings between UCS-4 and local encodings. */ -class IConvert +class EAPI IConvert { class IConvertImpl; diff --git a/ism/src/scim_imengine.h b/ism/src/scim_imengine.h index 06fc975..1c2ae62 100644 --- a/ism/src/scim_imengine.h +++ b/ism/src/scim_imengine.h @@ -88,7 +88,7 @@ enum IMEngineOption * scim::IMEngineBase and its derived classes must throw * scim::IMEngineError object when error. */ -class IMEngineError: public Exception +class EAPI IMEngineError: public Exception { public: IMEngineError (const String& what_arg) @@ -160,7 +160,7 @@ typedef Slot3& engine_list) +EAPI int scim_get_imengine_module_list (std::vector & engine_list) { return scim_get_module_list (engine_list, "IMEngine"); } diff --git a/ism/src/scim_imengine_module.h b/ism/src/scim_imengine_module.h index dd36567..452c6d9 100644 --- a/ism/src/scim_imengine_module.h +++ b/ism/src/scim_imengine_module.h @@ -74,7 +74,7 @@ typedef IMEngineFactoryPointer (*IMEngineModuleCreateFactoryFunc) (unsigned int * This is a wrapper of scim::Module class, which is specially * for manipulating the IMEngine modules. */ -class IMEngineModule +class EAPI IMEngineModule { Module m_module; String m_module_name; @@ -152,7 +152,7 @@ public: * @param mod_list - the result list will be stored here. * @return the number of the modules, equal to mod_list.size (). */ -int scim_get_imengine_module_list (std::vector &mod_list); +EAPI int scim_get_imengine_module_list (std::vector &mod_list); /** @} */ diff --git a/ism/src/scim_lookup_table.h b/ism/src/scim_lookup_table.h index 1a48c0b..5165705 100644 --- a/ism/src/scim_lookup_table.h +++ b/ism/src/scim_lookup_table.h @@ -56,7 +56,7 @@ namespace scim { * IMEngine should use its derivation class. * This class is the interface that uses within FrontEnd class. */ -class LookupTable +class EAPI LookupTable { class LookupTableImpl; @@ -251,7 +251,7 @@ public: * This class implements the LookupTable interface in a common way. * */ -class CommonLookupTable : public LookupTable +class EAPI CommonLookupTable : public LookupTable { class CommonLookupTableImpl; diff --git a/ism/src/scim_module.cpp b/ism/src/scim_module.cpp index 72c79c8..f1f7ef7 100644 --- a/ism/src/scim_module.cpp +++ b/ism/src/scim_module.cpp @@ -86,7 +86,7 @@ _scim_get_module_paths (std::vector &paths, const String &type) } } -int +EAPI int scim_get_module_list (std::vector & mod_list, const String& type) { std::vector paths; diff --git a/ism/src/scim_module.h b/ism/src/scim_module.h index d47e129..4a22100 100644 --- a/ism/src/scim_module.h +++ b/ism/src/scim_module.h @@ -39,14 +39,14 @@ namespace scim { * @{ */ -class ModuleError: public Exception +class EAPI ModuleError: public Exception { public: ModuleError (const String& what_arg) : Exception (String("scim::Module: ") + what_arg) { } }; -class Module +class EAPI Module { class ModuleImpl; ModuleImpl *m_impl; @@ -72,7 +72,7 @@ public: void * symbol (const String & sym) const; }; -int scim_get_module_list (std::vector & mod_list, const String& type = ""); +EAPI int scim_get_module_list (std::vector & mod_list, const String& type = ""); /** @} */ diff --git a/ism/src/scim_object.h b/ism/src/scim_object.h index 5843948..925ea7f 100644 --- a/ism/src/scim_object.h +++ b/ism/src/scim_object.h @@ -58,7 +58,7 @@ namespace scim { * on the heap, you free the memory and destroy the object by * calling unref(), not delete. */ -class ReferencedObject +class EAPI ReferencedObject { template friend class Pointer; diff --git a/ism/src/scim_panel_agent.cpp b/ism/src/scim_panel_agent.cpp index 5efd176..485f730 100644 --- a/ism/src/scim_panel_agent.cpp +++ b/ism/src/scim_panel_agent.cpp @@ -67,7 +67,7 @@ #include "scim_stl_map.h" -scim::CommonLookupTable g_isf_candidate_table; +EAPI scim::CommonLookupTable g_isf_candidate_table; namespace scim { diff --git a/ism/src/scim_panel_agent.h b/ism/src/scim_panel_agent.h index d94ea2a..327d02a 100644 --- a/ism/src/scim_panel_agent.h +++ b/ism/src/scim_panel_agent.h @@ -184,7 +184,7 @@ typedef struct DefaultIse * two signals are used to provide a thread lock to PanelAgent, so that PanelAgent * can run correctly within a multi-threading Panel program. */ -class PanelAgent +class EAPI PanelAgent { class PanelAgentImpl; PanelAgentImpl *m_impl; diff --git a/ism/src/scim_panel_client.h b/ism/src/scim_panel_client.h index a7fdb72..f040cac 100644 --- a/ism/src/scim_panel_client.h +++ b/ism/src/scim_panel_client.h @@ -93,7 +93,7 @@ typedef Slot2 &> * FrontEnd may just register some slots to the corresponding signals to handle * the events sent from Panel. */ -class PanelClient +class EAPI PanelClient { class PanelClientImpl; PanelClientImpl *m_impl; diff --git a/ism/src/scim_panel_common.h b/ism/src/scim_panel_common.h index 10dc246..f49ae50 100644 --- a/ism/src/scim_panel_common.h +++ b/ism/src/scim_panel_common.h @@ -42,7 +42,7 @@ namespace scim { * @{ */ -class PanelError: public Exception +class EAPI PanelError: public Exception { public: PanelError (const String& what_arg) diff --git a/ism/src/scim_property.h b/ism/src/scim_property.h index 6e36711..21b723f 100644 --- a/ism/src/scim_property.h +++ b/ism/src/scim_property.h @@ -69,7 +69,7 @@ namespace scim { * * All strings should be encoded into UTF-8. */ -class Property +class EAPI Property { String m_key; String m_label; diff --git a/ism/src/scim_signals.h b/ism/src/scim_signals.h index 1437b7e..83a4911 100644 --- a/ism/src/scim_signals.h +++ b/ism/src/scim_signals.h @@ -56,7 +56,7 @@ class Signal; //! @class SlotNode //! @brief A node class for managing slots connected to scim::Signal's. -class SlotNode : public Node +class EAPI SlotNode : public Node { friend class Signal; @@ -131,7 +131,7 @@ public: //! @class Signal //! @brief Base class for the C++ signal interface. -class Signal +class EAPI Signal { Signal(const Signal&); Signal& operator=(const Signal&); diff --git a/ism/src/scim_slot.h b/ism/src/scim_slot.h index 37523ff..94ddef0 100644 --- a/ism/src/scim_slot.h +++ b/ism/src/scim_slot.h @@ -54,7 +54,7 @@ namespace scim { //! @class Slot //! @brief Base class for slots that can connect to scim::Signals. -class Slot : public ReferencedObject +class EAPI Slot : public ReferencedObject { Slot(const Slot&); Slot& operator=(const Slot&); diff --git a/ism/src/scim_socket.h b/ism/src/scim_socket.h index 1a628ec..8ba937d 100644 --- a/ism/src/scim_socket.h +++ b/ism/src/scim_socket.h @@ -62,7 +62,7 @@ typedef Signal2 * scim::Socket and its derived classes must throw * scim::SocketError object when error. */ -class SocketError: public Exception +class EAPI SocketError: public Exception { public: SocketError (const String& what_arg) @@ -99,7 +99,7 @@ enum SocketFamily * A unix or local socket address. It's a full path of a socket file. * For example: local:/tmp/scim-socket-frontend */ -class SocketAddress +class EAPI SocketAddress { class SocketAddressImpl; SocketAddressImpl *m_impl; @@ -183,7 +183,7 @@ public: * Only the object of its derived classes SocketServer and SocketClient * can be created directly. */ -class Socket +class EAPI Socket { class SocketImpl; @@ -339,7 +339,7 @@ protected: * Class SocketServer provides basic operations to create a Socket Server, * such as create, run etc. */ -class SocketServer : public Socket +class EAPI SocketServer : public Socket { class SocketServerImpl; @@ -504,7 +504,7 @@ public: * Class SocketClient provides basic operations to create a Socket Client, * such as connect, read, write, etc. */ -class SocketClient : public Socket +class EAPI SocketClient : public Socket { bool m_connected; @@ -553,21 +553,21 @@ public: * * SocketFrontEnd should listen on this address by default. */ -String scim_get_default_socket_frontend_address (); +EAPI String scim_get_default_socket_frontend_address (); /** * @brief Get the default socket address of SocketIMEngine * * SocketIMEngine should connect to this address by default. */ -String scim_get_default_socket_imengine_address (); +EAPI String scim_get_default_socket_imengine_address (); /** * @brief Get the default socket address of SocketConfig * * SocketConfig should connect to this address by default. */ -String scim_get_default_socket_config_address (); +EAPI String scim_get_default_socket_config_address (); /** * @brief Get the default socket address of the Panel running on localhost. @@ -575,19 +575,19 @@ String scim_get_default_socket_config_address (); * The panel running on local host should listen on this address by default. * All FrontEnds which need panel should connect to this address by default. */ -String scim_get_default_panel_socket_address (const String &display); +EAPI String scim_get_default_panel_socket_address (const String &display); /** * @brief Get the default socket address of Helper Manager Server running on localhost. */ -String scim_get_default_helper_manager_socket_address (); +EAPI String scim_get_default_helper_manager_socket_address (); /** * @brief Get the default socket timeout value. * * All socket connection should use this timeout value. */ -int scim_get_default_socket_timeout (); +EAPI int scim_get_default_socket_timeout (); /** * @brief Helper function to open a connection to a socket server @@ -615,7 +615,7 @@ int scim_get_default_socket_timeout (); * @return true if the connection was established successfully, otherwise * return false, and the client should close the socket. */ -bool scim_socket_open_connection (uint32 &key, +EAPI bool scim_socket_open_connection (uint32 &key, const String &client_type, const String &server_type, const Socket &socket, @@ -645,7 +645,7 @@ bool scim_socket_open_connection (uint32 &key, * @return The type of the accepted socket client, or an empty string if the * connection could not be established. */ -String scim_socket_accept_connection (uint32 &key, +EAPI String scim_socket_accept_connection (uint32 &key, const String &server_types, const String &client_types, const Socket &socket, diff --git a/ism/src/scim_transaction.h b/ism/src/scim_transaction.h index 3835a52..e28c777 100644 --- a/ism/src/scim_transaction.h +++ b/ism/src/scim_transaction.h @@ -72,7 +72,7 @@ enum TransactionDataType * scim::Transaction and its related classes must throw * scim::TransactionError object when error. */ -class TransactionError: public Exception +class EAPI TransactionError: public Exception { public: TransactionError (const String& what_arg) @@ -86,7 +86,7 @@ class TransactionReader; * @brief This class is used to pack up many data and commands into one package * and send them via socket. */ -class Transaction +class EAPI Transaction { friend class TransactionReader; @@ -338,7 +338,7 @@ public: /** * @brief This class is used to read data from a transaction without changing it. */ -class TransactionReader +class EAPI TransactionReader { class TransactionReaderImpl; diff --git a/ism/src/scim_utility.cpp b/ism/src/scim_utility.cpp index 2254cbd..d261b74 100644 --- a/ism/src/scim_utility.cpp +++ b/ism/src/scim_utility.cpp @@ -54,7 +54,7 @@ namespace scim { -int +EAPI int utf8_mbtowc (ucs4_t *pwc, const unsigned char *src, int src_len) { if (!pwc) @@ -129,7 +129,7 @@ utf8_mbtowc (ucs4_t *pwc, const unsigned char *src, int src_len) return RET_ILSEQ; } -int +EAPI int utf8_wctomb (unsigned char *dest, ucs4_t wc, int dest_size) { if (!dest) @@ -163,7 +163,7 @@ utf8_wctomb (unsigned char *dest, ucs4_t wc, int dest_size) return count; } -ucs4_t +EAPI ucs4_t utf8_read_wchar (std::istream &is) { unsigned char utf8[6]; @@ -181,7 +181,7 @@ utf8_read_wchar (std::istream &is) return 0; } -WideString +EAPI WideString utf8_read_wstring (std::istream &is, ucs4_t delim, bool rm_delim) { WideString str; @@ -198,7 +198,7 @@ utf8_read_wstring (std::istream &is, ucs4_t delim, bool rm_delim) return str; } -std::ostream & +EAPI std::ostream & utf8_write_wchar (std::ostream &os, ucs4_t wc) { unsigned char utf8[6]; @@ -210,7 +210,7 @@ utf8_write_wchar (std::ostream &os, ucs4_t wc) return os; } -std::ostream & +EAPI std::ostream & utf8_write_wstring (std::ostream &os, const WideString & wstr) { for (unsigned int i=0; i& vec, const String& str, char delim) { int count = 0; @@ -401,7 +401,7 @@ scim_split_string_list (std::vector& vec, const String& str, char delim) return count; } -String +EAPI String scim_combine_string_list (const std::vector& vec, char delim) { String result; @@ -413,7 +413,7 @@ scim_combine_string_list (const std::vector& vec, char delim) return result; } -bool +EAPI bool scim_if_wchar_ucs4_equal () { if (sizeof (wchar_t) != sizeof (ucs4_t)) @@ -520,7 +520,7 @@ static struct { /** * convert a half width unicode char to full width char */ -ucs4_t +EAPI ucs4_t scim_wchar_to_full_width (ucs4_t code) { int i=0; @@ -538,7 +538,7 @@ scim_wchar_to_full_width (ucs4_t code) /** * convert a full width unicode char to half width char */ -ucs4_t +EAPI ucs4_t scim_wchar_to_half_width (ucs4_t code) { int i=0; @@ -553,7 +553,7 @@ scim_wchar_to_half_width (ucs4_t code) return code; } -String +EAPI String scim_get_home_dir () { const char * home_dir = 0; @@ -575,7 +575,7 @@ scim_get_home_dir () return String (home_dir); } -String +EAPI String scim_get_user_name () { struct passwd *pw; @@ -597,7 +597,7 @@ scim_get_user_name () return String (uid_str); } -String +EAPI String scim_get_user_data_dir () { String dir = scim_get_home_dir () + String ("/.scim"); @@ -605,7 +605,7 @@ scim_get_user_data_dir () return dir; } -String +EAPI String scim_get_current_locale () { char *locale = setlocale (LC_CTYPE, 0); @@ -614,19 +614,19 @@ scim_get_current_locale () return String (); } -String scim_get_current_language () +EAPI String scim_get_current_language () { return scim_get_locale_language (scim_get_current_locale ()); } -bool +EAPI bool scim_is_little_endian () { short endian = 1; return (*((char *)&endian) != 0); } -size_t +EAPI size_t scim_load_file (const String &filename, char **bufptr) { if (!filename.length ()) @@ -673,7 +673,7 @@ scim_load_file (const String &filename, char **bufptr) return size; } -bool +EAPI bool scim_make_dir (const String &dir) { std::vector paths; @@ -1000,13 +1000,13 @@ __find_language (const String &lang) return NULL; } -String +EAPI String scim_get_language_name (const String &lang) { return String (_(scim_get_language_name_english (lang).c_str ())); } -String +EAPI String scim_get_language_name_english (const String &lang) { __Language *result = __find_language (lang); @@ -1017,7 +1017,7 @@ scim_get_language_name_english (const String &lang) return String ("Other"); } -String +EAPI String scim_get_language_name_untranslated (const String &lang) { __Language *result = __find_language (lang); @@ -1032,7 +1032,7 @@ scim_get_language_name_untranslated (const String &lang) return String (_("Other")); } -String +EAPI String scim_get_language_locales (const String &lang) { __Language *result = __find_language (lang); @@ -1069,7 +1069,7 @@ scim_get_language_locales (const String &lang) return scim_combine_string_list (locales, ','); } -String +EAPI String scim_get_locale_language (const String &locale) { if (locale.length () == 0) return String (); @@ -1078,7 +1078,7 @@ scim_get_locale_language (const String &locale) return scim_validate_language (str.substr (0, str.find ('@'))); } -String +EAPI String scim_validate_language (const String &lang) { __Language *result = __find_language (lang); @@ -1090,7 +1090,7 @@ scim_validate_language (const String &lang) return String ("~other"); } -String +EAPI String scim_get_normalized_language (const String &lang) { __Language *result = __find_language (lang); @@ -1109,7 +1109,7 @@ scim_get_normalized_language (const String &lang) #define SCIM_LAUNCHER (SCIM_LIBEXECDIR "/scim-launcher") #endif -int scim_launch (bool daemon, +EAPI int scim_launch (bool daemon, const String &config, const String &imengines, const String &frontend, @@ -1172,7 +1172,7 @@ int scim_launch (bool daemon, #define SCIM_PANEL_PROGRAM (SCIM_BINDIR "/scim-panel-gtk") #endif -int scim_launch_panel (bool daemon, +EAPI int scim_launch_panel (bool daemon, const String &config, const String &display, char * const argv []) @@ -1244,7 +1244,7 @@ int scim_launch_panel (bool daemon, return -1; } -void +EAPI void scim_usleep (unsigned int usec) { if (usec == 0) return; @@ -1272,7 +1272,7 @@ scim_usleep (unsigned int usec) #endif } -void scim_daemon () +EAPI void scim_daemon () { #if HAVE_DAEMON if (daemon (0, 0) == -1) @@ -1367,7 +1367,7 @@ void ISF_PROF_DEBUG_TIME (char const* func, int line, char const* str) return; } -void gettime (clock_t clock_start, const char* str) +EAPI void gettime (clock_t clock_start, const char* str) { #ifdef ISF_PROF struct tms tiks_buf; diff --git a/ism/src/scim_utility.h b/ism/src/scim_utility.h index bd13535..a4e067e 100644 --- a/ism/src/scim_utility.h +++ b/ism/src/scim_utility.h @@ -73,7 +73,7 @@ namespace scim { * * @return number of chars in s actually converted. */ -int utf8_mbtowc (ucs4_t *pwc, const unsigned char *src, int src_len); +EAPI int utf8_mbtowc (ucs4_t *pwc, const unsigned char *src, int src_len); /** * @brief Convert an ucs4 code to utf8 char sequence. @@ -84,7 +84,7 @@ int utf8_mbtowc (ucs4_t *pwc, const unsigned char *src, int src_len); * * @return the number of bytes actually written into dest. */ -int utf8_wctomb (unsigned char *dest, ucs4_t wc, int dest_size); +EAPI int utf8_wctomb (unsigned char *dest, ucs4_t wc, int dest_size); /** * @brief Convert an utf8 string to an ucs4 string. @@ -92,7 +92,7 @@ int utf8_wctomb (unsigned char *dest, ucs4_t wc, int dest_size); * @param str source utf8 string. * @return the destination widestring. */ -WideString utf8_mbstowcs (const String & str); +EAPI WideString utf8_mbstowcs (const String & str); /** * @brief Convert an utf8 string to an ucs4 string. @@ -101,7 +101,7 @@ WideString utf8_mbstowcs (const String & str); * @param len length of the source string. * @return the destination widestring. */ -WideString utf8_mbstowcs (const char *str, int len = -1); +EAPI WideString utf8_mbstowcs (const char *str, int len = -1); /** * @brief Convert an ucs4 string to an utf8 string. @@ -110,7 +110,7 @@ WideString utf8_mbstowcs (const char *str, int len = -1); * * @return the destination utf8 string. */ -String utf8_wcstombs (const WideString & wstr); +EAPI String utf8_wcstombs (const WideString & wstr); /** * @brief Convert an ucs4 string to an utf8 string. @@ -120,7 +120,7 @@ String utf8_wcstombs (const WideString & wstr); * * @return the destination utf8 string. */ -String utf8_wcstombs (const ucs4_t *wstr, int len = -1); +EAPI String utf8_wcstombs (const ucs4_t *wstr, int len = -1); /** * @brief Read a wide char from istream. @@ -131,7 +131,7 @@ String utf8_wcstombs (const ucs4_t *wstr, int len = -1); * * @return if equal to 0 then got the end of the stream or error occurred. */ -ucs4_t utf8_read_wchar (std::istream &is); +EAPI ucs4_t utf8_read_wchar (std::istream &is); /** * @brief Write a wide char to ostream. @@ -142,7 +142,7 @@ ucs4_t utf8_read_wchar (std::istream &is); * @param wc the wide char to be written to the stream. * @return the same stream object reference. */ -std::ostream & utf8_write_wchar (std::ostream &os, ucs4_t wc); +EAPI std::ostream & utf8_write_wchar (std::ostream &os, ucs4_t wc); /** * @brief Read a wide string from istream. @@ -154,7 +154,7 @@ std::ostream & utf8_write_wchar (std::ostream &os, ucs4_t wc); * @param rm_delim if the delim should be removed from the destination string. * @return the wide string read from the given stream. */ -WideString utf8_read_wstring (std::istream &is, ucs4_t delim = (ucs4_t) '\n', bool rm_delim = true); +EAPI WideString utf8_read_wstring (std::istream &is, ucs4_t delim = (ucs4_t) '\n', bool rm_delim = true); /** * @brief Write a wide string to ostream. @@ -165,7 +165,7 @@ WideString utf8_read_wstring (std::istream &is, ucs4_t delim = (ucs4_t) '\n', bo * @param wstr the wide string to be written into the stream. * @return the same stream object reference. */ -std::ostream & utf8_write_wstring (std::ostream &os, const WideString & wstr); +EAPI std::ostream & utf8_write_wstring (std::ostream &os, const WideString & wstr); /** * @brief Convert an uint32 variable into a sequence of bytes. @@ -173,7 +173,7 @@ std::ostream & utf8_write_wstring (std::ostream &os, const WideString & wstr); * @param bytes the buffer to store the result. * @param n the variable to be converted. */ -inline +EAPI inline void scim_uint32tobytes (unsigned char *bytes, uint32 n) { bytes [0] = (unsigned char) ((n & 0xFF)); @@ -188,7 +188,7 @@ void scim_uint32tobytes (unsigned char *bytes, uint32 n) * @param bytes the buffer contains the bytes to be converted. * @return the result uint32 value. */ -inline +EAPI inline uint32 scim_bytestouint32 (const unsigned char *bytes) { return ((uint32) bytes [0]) @@ -203,7 +203,7 @@ uint32 scim_bytestouint32 (const unsigned char *bytes) * @param bytes the buffer to store the result. * @param n the variable to be converted. */ -inline +EAPI inline void scim_uint16tobytes (unsigned char *bytes, uint16 n) { bytes [0] = (unsigned char) ((n & 0xFF)); @@ -216,7 +216,7 @@ void scim_uint16tobytes (unsigned char *bytes, uint16 n) * @param bytes the buffer contains the bytes to be converted. * @return the result uint16 value. */ -inline +EAPI inline uint16 scim_bytestouint16 (const unsigned char *bytes) { return ((uint16) bytes [0]) | (((uint16) bytes [1]) << 8); @@ -228,7 +228,7 @@ uint16 scim_bytestouint16 (const unsigned char *bytes) * @param locale the locale to be tested. * @return If the locale is valid, it's the good locale name, otherwise empty. */ -String scim_validate_locale (const String& locale); +EAPI String scim_validate_locale (const String& locale); /** * @brief Get the encoding for a locale. @@ -236,19 +236,19 @@ String scim_validate_locale (const String& locale); * @param locale the name of the locale. * @return The encoding used by the given locale. */ -String scim_get_locale_encoding (const String& locale); +EAPI String scim_get_locale_encoding (const String& locale); /** * @brief Get current system locale. * @return The current system locale. */ -String scim_get_current_locale (); +EAPI String scim_get_current_locale (); /** * @brief Get current system language. * @return The current system language. */ -String scim_get_current_language (); +EAPI String scim_get_current_language (); /** * @brief Get the max length of the multibyte char of a locale. @@ -256,7 +256,7 @@ String scim_get_current_language (); * @param locale the name of the locale. * @return the maxlen of this locale. */ -int scim_get_locale_maxlen (const String& locale); +EAPI int scim_get_locale_maxlen (const String& locale); /** * @brief Split string list into a string vector according to the delim char. @@ -266,7 +266,7 @@ int scim_get_locale_maxlen (const String& locale); * @param delim the delimiter to split the strings. * @return the number of the strings in the result list. */ -int scim_split_string_list (std::vector& vec, const String& str, char delim = ','); +EAPI int scim_split_string_list (std::vector& vec, const String& str, char delim = ','); /** * @brief Combine a string vector into one string list, separated by char delim. @@ -275,43 +275,43 @@ int scim_split_string_list (std::vector& vec, const String& str, char de * @param delim the delimiter which should be put between two strings. * @return the result string. */ -String scim_combine_string_list (const std::vector& vec, char delim = ','); +EAPI String scim_combine_string_list (const std::vector& vec, char delim = ','); /** * @brief Get machine endian type * @return 1 little endian, 0 big endian */ -bool scim_is_little_endian (); +EAPI bool scim_is_little_endian (); /** * @brief Test if wchar_t is using UCS4 encoding. */ -bool scim_if_wchar_ucs4_equal (); +EAPI bool scim_if_wchar_ucs4_equal (); /** * @brief Convert a half width unicode char to its full width counterpart. */ -ucs4_t scim_wchar_to_full_width (ucs4_t code); +EAPI ucs4_t scim_wchar_to_full_width (ucs4_t code); /** * @brief Convert a full width unicode char to its half width counterpart. */ -ucs4_t scim_wchar_to_half_width (ucs4_t code); +EAPI ucs4_t scim_wchar_to_half_width (ucs4_t code); /** * @brief Get the home dir of current user. */ -String scim_get_home_dir (); +EAPI String scim_get_home_dir (); /** * @brief Get the name of current user. */ -String scim_get_user_name (); +EAPI String scim_get_user_name (); /** * @brief Get SCIM data dir of current user. */ -String scim_get_user_data_dir (); +EAPI String scim_get_user_data_dir (); /** * @brief Load a file into memory. @@ -324,7 +324,7 @@ String scim_get_user_data_dir (); * @return the size of the data actually loaded (mostly, it's the file size), * zero means load failed. */ -size_t scim_load_file (const String &filename, char **bufptr); +EAPI size_t scim_load_file (const String &filename, char **bufptr); /** * @brief Make a directory. @@ -333,28 +333,28 @@ size_t scim_load_file (const String &filename, char **bufptr); * * @return true if sucess. */ -bool scim_make_dir (const String &dir); +EAPI bool scim_make_dir (const String &dir); /** * @brief Get the localized name of a language id. * @param lang the language id. * @return the localized name of this language, in utf8 encoding. */ -String scim_get_language_name (const String &lang); +EAPI String scim_get_language_name (const String &lang); /** * @brief Get the English name of a language id. * @param lang the language id. * @return the English name of this language, in utf8 encoding. */ -String scim_get_language_name_english (const String &lang); +EAPI String scim_get_language_name_english (const String &lang); /** * @brief Get the untranslated name of a language id. * @param lang the language id. * @return the untranslated name of this language, in utf8 encoding. */ -String scim_get_language_name_untranslated (const String &lang); +EAPI String scim_get_language_name_untranslated (const String &lang); /** * @brief Get the supported locales for a language. @@ -364,21 +364,21 @@ String scim_get_language_name_untranslated (const String &lang); * @param lang the language id. * @return the supported locales separated by comma. */ -String scim_get_language_locales (const String &lang); +EAPI String scim_get_language_locales (const String &lang); /** * @brief Get the language id for a locale. * @param locale the locale name * @return the language id for this locale. */ -String scim_get_locale_language (const String &locale); +EAPI String scim_get_locale_language (const String &locale); /** * @brief Test if the language is valid, and return the good language code. * @param lang the language to be tested. * @return If the language is valid, return the good language id, otherwise return "~other". */ -String scim_validate_language (const String &lang); +EAPI String scim_validate_language (const String &lang); /** * @brief Get the normalized language id of a language. @@ -393,7 +393,7 @@ String scim_validate_language (const String &lang); * @param lang the original language * @return the normalized language code. */ -String scim_get_normalized_language (const String &lang); +EAPI String scim_get_normalized_language (const String &lang); /** * @brief Launch a SCIM process with specific options. @@ -410,7 +410,7 @@ String scim_get_normalized_language (const String &lang); * @return Return 0 means the process started/exited without any problem, otherwise * means an error occurred. */ -int scim_launch (bool daemon, +EAPI int scim_launch (bool daemon, const String &config, const String &imengines, const String &frontend, @@ -431,7 +431,7 @@ int scim_launch (bool daemon, * @return Return 0 means the process started/exited without any problem, otherwise * means an error occurred. */ -int scim_launch_panel (bool daemon, +EAPI int scim_launch_panel (bool daemon, const String &config, const String &display, char * const argv [] = 0); @@ -441,12 +441,12 @@ int scim_launch_panel (bool daemon, * * @param usec The amount of microseconds to be sleeped. */ -void scim_usleep (unsigned int usec); +EAPI void scim_usleep (unsigned int usec); /** * @brief Switch process into daemon mode. */ -void scim_daemon (); +EAPI void scim_daemon (); /** * @brief Save string to ISF log file. @@ -489,7 +489,7 @@ void ISF_PROF_DEBUG_TIME_END (char const* format, char const* func, int line); #define ISF_LOG(fmt, ...) #endif -void gettime (clock_t clock_start, const char* str); +EAPI void gettime (clock_t clock_start, const char* str); typedef struct rectinfo { diff --git a/ism/src/scim_visibility.h b/ism/src/scim_visibility.h new file mode 100644 index 0000000..819c7ec --- /dev/null +++ b/ism/src/scim_visibility.h @@ -0,0 +1,61 @@ +/* + * ISF(Input Service Framework) + * + * ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. + * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. + * + * Contact: Haifeng Deng , Li Zhang + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#ifndef __SCIM_VISIBILITY_H +#define __SCIM_VISIBILITY_H + +#ifdef EAPI +# undef EAPI +#endif + +#ifdef IAPI +# undef IAPI +#endif + +#if defined _WIN32 || defined __CYGWIN__ +# ifdef ISF_BUILDING_DLL +# ifdef __GNUC__ +# define EAPI __attribute__ ((dllexport)) +# else +# define EAPI __declspec(dllexport) // Note: actually gcc seems to also supports this syntax. +# endif +# else +# ifdef __GNUC__ +# define EAPI __attribute__ ((dllimport)) +# else +# define EAPI __declspec(dllimport) // Note: actually gcc seems to also supports this syntax. +# endif +# endif +# define IAPI +#else +# if __GNUC__ >= 4 +# define EAPI __attribute__ ((visibility ("default"))) +# define IAPI __attribute__ ((visibility ("hidden"))) +# else +# define EAPI +# define IAPI +# endif +#endif + +#endif diff --git a/ism/utils/scim_x11_utils.cpp b/ism/utils/scim_x11_utils.cpp index 2f07856..9146c19 100644 --- a/ism/utils/scim_x11_utils.cpp +++ b/ism/utils/scim_x11_utils.cpp @@ -125,7 +125,7 @@ initialize_modifier_bits (Display *display) XFreeModifiermap (mods); } -KeyEvent +EAPI KeyEvent scim_x11_keyevent_x11_to_scim (Display *display, const XKeyEvent &xkey) { KeyEvent scimkey; @@ -157,7 +157,7 @@ scim_x11_keyevent_x11_to_scim (Display *display, const XKeyEvent &xkey) return scimkey; } -XKeyEvent +EAPI XKeyEvent scim_x11_keyevent_scim_to_x11 (Display *display, const KeyEvent &scimkey) { XKeyEvent xkey; @@ -187,7 +187,7 @@ scim_x11_keyevent_scim_to_x11 (Display *display, const KeyEvent &scimkey) return xkey; } -uint16 +EAPI uint16 scim_x11_keymask_x11_to_scim (Display *display, unsigned int xkeystate) { uint16 mask = 0; @@ -237,7 +237,7 @@ scim_x11_keymask_x11_to_scim (Display *display, unsigned int xkeystate) return mask; } -unsigned int scim_x11_keymask_scim_to_x11 (Display *display, uint16 scimkeymask) +EAPI unsigned int scim_x11_keymask_scim_to_x11 (Display *display, uint16 scimkeymask) { unsigned int state = 0; diff --git a/ism/utils/scim_x11_utils.h b/ism/utils/scim_x11_utils.h index c4fb75e..57fb07a 100644 --- a/ism/utils/scim_x11_utils.h +++ b/ism/utils/scim_x11_utils.h @@ -32,21 +32,21 @@ /** * @brief Translate a X11 KeyEvent to a scim KeyEvent according to the given Display */ -scim::KeyEvent scim_x11_keyevent_x11_to_scim (Display *display, const XKeyEvent &xkey); +EAPI scim::KeyEvent scim_x11_keyevent_x11_to_scim (Display *display, const XKeyEvent &xkey); /** * @brief Translate a scim KeyEvent to a X11 KeyEvent according to the given Display */ -XKeyEvent scim_x11_keyevent_scim_to_x11 (Display *display, const scim::KeyEvent &scimkey); +EAPI XKeyEvent scim_x11_keyevent_scim_to_x11 (Display *display, const scim::KeyEvent &scimkey); /** * @brief Translate X11 key state to scim key mask. */ -scim::uint16 scim_x11_keymask_x11_to_scim (Display *display, unsigned int xkeystate); +EAPI scim::uint16 scim_x11_keymask_x11_to_scim (Display *display, unsigned int xkeystate); /** * @brief Translate scim key mask to X11 key state. */ -unsigned int scim_x11_keymask_scim_to_x11 (Display *display, scim::uint16 scimkeymask); +EAPI unsigned int scim_x11_keymask_scim_to_x11 (Display *display, scim::uint16 scimkeymask); #endif diff --git a/packaging/isf.spec b/packaging/isf.spec index 076dc30..83c5bcc 100755 --- a/packaging/isf.spec +++ b/packaging/isf.spec @@ -3,7 +3,7 @@ Name: isf Summary: Input Service Framework -Version: 2.4.6319 +Version: 2.4.6322 Release: 1 Group: System Environment/Libraries License: LGPL @@ -44,6 +44,8 @@ This package contains ISF header files for ISE development. %setup -q %build +CFLAGS+=" -fvisibility=hidden "; export CFLAGS +CXXFLAGS+=" -fvisibility=hidden -fvisibility-inlines-hidden ";export CXXFLAGS %autogen %configure --disable-static \ diff --git a/releasenote.txt b/releasenote.txt index 93a58a4..25d3f23 100644 --- a/releasenote.txt +++ b/releasenote.txt @@ -1,3 +1,7 @@ +ISF 2.4.6322 : + 1. Add visibility gcc options + + ISF 2.4.6319 : 1. [isf-panel-efl] Update aux style 2. Fix path for 3rd ISE development