Back to index

im-sdk  12.3.91
le_info.h
Go to the documentation of this file.
00001 #ifndef _LE_INFO_H_
00002 #define _LE_INFO_H_
00003 
00004 #ifdef HAVE_CONFIG_H
00005 #include "config.h"
00006 #endif
00007 
00008 #include "SunIM.h"
00009 #include "ime_module.h"
00010 #include "le_keybinding.h"
00011 
00012 #include <time.h>
00013 
00014 typedef enum {
00015     LE_FAIL = 0,
00016     LE_OK,
00017 } LeResult;
00018 
00019 typedef enum {
00020     LE_FALSE = 0,
00021     LE_TRUE,
00022 } LeBoolean;
00023 
00024 /* define the status for conversion/qjbj/punctuation */
00025 typedef enum {
00026     CONVERSION_OFF = 0,
00027     CONVERSION_ON,
00028 } ConversionStatus;
00029 
00030 typedef enum {
00031     QJBJ_HALFWIDTH = 0,
00032     QJBJ_FULLWIDTH,
00033 } QjBjStatus;
00034 
00035 typedef struct {
00036     char ch;
00037     unsigned char *full_char;
00038 } FullCharItem;
00039 
00040 typedef struct {
00041     int num_fullchars;
00042     FullCharItem *fullchars;
00043 } FullChars;
00044 
00045 typedef enum {
00046     PUNCT_ENGLISH = 0,
00047     PUNCT_CHINESE,
00048 } PunctStatus;
00049 
00050 typedef struct {
00051     char ch;
00052     unsigned char *full_punct;
00053 } PunctCharItem;
00054 
00055 typedef struct {
00056     int num_puncts;
00057     PunctCharItem *puncts;
00058 } PunctChars;
00059 
00060 typedef struct {
00061 
00062     /* base info */
00063     char *base_dir;
00064     time_t time_stamp;
00065 
00066     /* ime info */
00067     int num_ime_modules;
00068     ImeModuleContextRec **ime_modules;
00069 
00070     /* keybinding info */
00071     int num_imm_keybindings;
00072     ImmKeybindingRec **imm_keybindings;
00073 
00074     FullChars full_chars;
00075     PunctChars punct_chars;
00076 
00077 } LeInfoRec;
00078 
00079 #endif /* _LE_INFO_H_ */