1053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/* 2053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd. 3053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 4053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * you may not use this file except in compliance with the License. 6053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * You may obtain a copy of the License at 7053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 8053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 10053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * See the License for the specific language governing permissions and 14053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * limitations under the License. 15053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 16053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#ifndef _OPENWNNJNI_H 17053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define _OPENWNNJNI_H 18053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 19053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/** 20053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Error codes 21053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 22053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_CONVERT_STR_TO_NJC (0x00FE) 23053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_CONVERT_NJC_TO_STR (0x00FD) 24053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_FREE_WNNWORK (0x00FC) 25053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_CLEAR_DICTIONARY_PARAMETERS (0x00FB) 26053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_SET_DICTIONARY_PARAMETERS (0x00FA) 27053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_SEARCH_WORD (0x00F9) 28053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_GET_WORD (0x00F8) 29053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_GET_FREQUENCY (0x00F7) 30053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_SET_APPROX_PATTERN (0x00F6) 31053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_GET_LEFT_PART_OF_SPEECH (0x00F5) 32053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_GET_RIGHT_PART_OF_SPEECH (0x00F4) 33053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_SET_LEFT_PART_OF_SPEECH (0x00F3) 34053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_SET_RIGHT_PART_OF_SPEECH (0x00F2) 35053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_SET_STROKE (0x00F1) 36053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_SET_CANDIDATE (0x00F0) 37053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_SELECT_WORD (0x00EF) 38053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_GET_LEFT_PART_OF_SPEECH_SPECIFIED_TYPE (0x00EE) 39053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_GET_RIGHT_PART_OF_SPEECH_SPECIFIED_TYPE (0x00ED) 40053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_GET_NUMBER_OF_LEFT_POS (0x00EC) 41053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_FUNC_JNI_GET_NUMBER_OF_RIGHT_POS (0x00EB) 42053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 43053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_ERR_JNI_FUNC_FAILED (0x7E00) 44053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_ERR_ALLOC_FAILED (0x7D00) 45053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_ERR_NOT_ALLOCATED (0x7C00) 46053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_ERR_INVALID_PARAM (0x7B00) 47053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_ERR_APPROX_PATTERN_IS_FULL (0x7A00) 48053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 49053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/** 50053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Structure of internal work area 51053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 52053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_MAX_CHARSET_FROM_LEN 1 53053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_MAX_CHARSET_TO_LEN 3 54053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_APPROXSTORE_SIZE (NJ_MAX_CHARSET_FROM_LEN + NJ_TERM_LEN + NJ_MAX_CHARSET_TO_LEN + NJ_TERM_LEN) 55053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 56053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 57053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_JNI_FLAG_NONE (0x00) 58053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_JNI_FLAG_ENABLE_CURSOR (0x01) 59053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#define NJ_JNI_FLAG_ENABLE_RESULT (0x02) 60053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 61053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projecttypedef struct { 62053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project void* dicLibHandle; 63053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_DIC_HANDLE dicHandle[ NJ_MAX_DIC ]; 64053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_UINT32 dicSize[ NJ_MAX_DIC ]; 65053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_UINT8 dicType[ NJ_MAX_DIC ]; 66053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_CHAR keyString[ NJ_MAX_LEN + NJ_TERM_LEN ]; 67053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_RESULT result; 68053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_CURSOR cursor; 69053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_SEARCH_CACHE srhCache[ NJ_MAX_DIC ]; 70053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_DIC_SET dicSet; 71053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_CLASS wnnClass; 72053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_CHARSET approxSet; 73053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_CHAR approxStr[ NJ_MAX_CHARSET * NJ_APPROXSTORE_SIZE ]; 74053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_CHAR previousStroke[ NJ_MAX_LEN + NJ_TERM_LEN ]; 75053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_CHAR previousCandidate[ NJ_MAX_RESULT_LEN + NJ_TERM_LEN ]; 76053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_UINT8 flag; 77053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project} NJ_JNIWORK; 78053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 79053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/** 80053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Predefined approx patterns 81053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 82053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projecttypedef struct { 83053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project int size; 84053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_UINT8* from; 85053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project NJ_UINT8* to; 86053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project} PREDEF_APPROX_PATTERN; 87053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 88053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project#endif /* _OPENWNNJNI_H */ 89