#ifndef _LE_AUX_PROTOCOL_H_
#define _LE_AUX_PROTOCOL_H_

#define AUX_OBJECT_CLASS_NAME     "com.sun.iiim.cle.aux.object"
#define PALETTE_AUX_CLASS_NAME    "com.sun.iiim.cle.aux.palette"
#define SELECT_AUX_CLASS_NAME     "com.sun.iiim.cle.aux.select"
#define PROPERTIES_AUX_CLASS_NAME "com.sun.iiim.cle.aux.properties"
#define COMPOSITE_AUX_CLASS_NAME  "com.sun.iiim.cle.aux.composite"

#define XAUX_OBJECT_CLASS_NAME          "com.sun.iiim.cle.aux.object"
#define XAUX_MANAGER_GTK2_CLASS_NAME    "com.sun.iiim.cle.aux.manager.gtk2"
#define XAUX_MODULE_PALETTE_CLASS_NAME  "com.sun.iiim.cle.aux.palette"
#define XAUX_MODULE_SELECT_CLASS_NAME   "com.sun.iiim.cle.aux.select"
#define XAUX_MODULE_PROPERTY_CLASS_NAME "com.sun.iiim.cle.aux.properties"
#define XAUX_MODULE_COMPOSITE_CLASS_NAME "com.sun.iiim.cle.aux.composite"

/* Protocol Number between Auxiliary Window and Language Engine */

/* For PaletteAux */
#define PALETTEAUX_CONNECT                      1
#define PALETTEAUX_SWITCH_CONVERSION            2
#define PALETTEAUX_SWITCH_IME                   3
#define PALETTEAUX_SWITCH_QJBJ                  4
#define PALETTEAUX_SWITCH_PUNCT                 5
#define PALETTEAUX_CHANGE_POSITION              6
#define PALETTEAUX_UPDATE_PROPERTY              7
#define PALETTEAUX_SHOW_SELECTAUX               8
#define PALETTEAUX_SHOW_KEYBOARDAUX             9
#define PALETTEAUX_SHOW_LOOKUPAUX               10

#define PALETTEAUX_UPDATE_IMEINFO_NOTIFY        12
#define PALETTEAUX_SWITCH_CONVERSION_NOTIFY     13
#define PALETTEAUX_SWITCH_IME_NOTIFY            14
#define PALETTEAUX_SWITCH_QJBJ_NOTIFY           15
#define PALETTEAUX_SWITCH_PUNCT_NOTIFY          16
#define PALETTEAUX_BEEP_NOTIFY                  17

/* For Common used protocol */
#define COMMONAUX_COMMIT_KEY                    20
#define COMMONAUX_COMMIT_STRING                 21
#define COMMONAUX_UPDATE_OPTIONSINFO            22
#define COMMONAUX_LOST_FOCUS                    23

#define COMMONAUX_CHANGE_FOCUS_NOTIFY           24
#define COMMONAUX_UPDATE_KEYMAPINFO_NOTIFY      25
#define COMMONAUX_IME_INFO_NOTIFY               26
#define COMMONAUX_SHOW_NOTIFY                   27
#define COMMONAUX_HIDE_NOTIFY                   28

#define COMMONAUX_CONNECT			50
#define COMMONAUX_SHOW_PREEDIT_NOTIFY	        51
#define COMMONAUX_HIDE_PREEDIT_NOTIFY	        52
#define COMMONAUX_UPDATE_PREEDIT_NOTIFY	        53
#define COMMONAUX_SHOW_CANDIDATES_NOTIFY	54
#define COMMONAUX_HIDE_CANDIDATES_NOTIFY	55
#define COMMONAUX_UPDATE_CANDIDATES_NOTIFY	56

/* For OptionAux */
#define OPTIONAUX_CONNECT                       30
#define OPTIONAUX_CHANGE_STATUS                 31

/* For SelectAux */
#define SELECTAUX_CONNECT                       40
#define SELECTAUX_SAVE_IMEINFO		        41

/*For PropertiesAux */
#define PALETTEAUX_SHOW_PROPERTIESAUX		42

/* For composite preedit/candidate aux used protocol */
#define COMPOSITE_PC_FIRST_EVENTID              1000
#define COMPOSITE_PC_OPTION                     (COMPOSITE_PC_FIRST_EVENTID+1)
#define COMPOSITE_PC_PREEDIT_SELECTION          (COMPOSITE_PC_FIRST_EVENTID+2)
#define COMPOSITE_PC_CANDIDATE_SELECTION        (COMPOSITE_PC_FIRST_EVENTID+3)
#define COMPOSITE_PC_CANDIDATE_FOCUS            (COMPOSITE_PC_FIRST_EVENTID+4)
#define COMPOSITE_PC_CANDIDATE_PAGE             (COMPOSITE_PC_FIRST_EVENTID+5)
#define COMPOSITE_PC_MOVE             		(COMPOSITE_PC_FIRST_EVENTID+6)

#endif /* _LE_AUX_PROTOCOL_H_ */
