#![allow(unsafe_code)]
#![allow(non_camel_case_types)]
mod abi;
mod library;
mod options;
mod session;
#[cfg(test)]
mod tests;
pub use abi::{
msime_engine_candidate, msime_engine_paths, msime_engine_result, msime_engine_state,
msime_engine_str,
};
pub use library::*;
pub use session::*;
pub const MSIME_ENGINE_ABI_MAJOR: u32 = 1;
pub const MSIME_ENGINE_ABI_MINOR: u32 = 1;
pub const MSIME_ENGINE_OK: i32 = 0;
pub const MSIME_ENGINE_INVALID_ARGUMENT: i32 = 1;
pub const MSIME_ENGINE_FAILED: i32 = 2;
pub const MSIME_ENGINE_STORAGE: i32 = 3;
pub const MSIME_ENGINE_UNSUPPORTED: i32 = 4;
pub const MSIME_ENGINE_STALE: i32 = 5;
pub const MSIME_ENGINE_BUSY: i32 = 6;
pub const MSIME_ENGINE_PANIC: i32 = 7;
pub const MSIME_ENGINE_NULL: i32 = 8;
const _: () = {
use msime_engine::ErrorCode;
assert!(ErrorCode::InvalidArgument.value() == MSIME_ENGINE_INVALID_ARGUMENT as u32);
assert!(ErrorCode::Failed.value() == MSIME_ENGINE_FAILED as u32);
assert!(ErrorCode::Storage.value() == MSIME_ENGINE_STORAGE as u32);
assert!(ErrorCode::Busy.value() == MSIME_ENGINE_BUSY as u32);
};
pub const MSIME_ENGINE_SCHEME_QUANPIN: u32 = 0;
pub const MSIME_ENGINE_SCHEME_SHUANGPIN: u32 = 1;
pub const MSIME_ENGINE_SCHEME_WUBI: u32 = 2;
pub const MSIME_ENGINE_SCHEME_JAPANESE: u32 = 3;
pub const MSIME_ENGINE_SCHEME_KOREAN: u32 = 4;
pub const MSIME_ENGINE_SCHEME_CANTONESE: u32 = 5;
pub const MSIME_ENGINE_SCHEME_ZHUYIN: u32 = 6;
pub const MSIME_ENGINE_SCHEME_VIETNAMESE: u32 = 7;
pub const MSIME_ENGINE_SCHEME_TIBETAN: u32 = 8;
pub const MSIME_ENGINE_SCHEME_STROKE: u32 = 9;
pub const MSIME_ENGINE_COMMAND_BACKSPACE: u32 = 0;
pub const MSIME_ENGINE_COMMAND_COMMIT_CANDIDATE: u32 = 1;
pub const MSIME_ENGINE_COMMAND_COMMIT_RAW: u32 = 2;
pub const MSIME_ENGINE_COMMAND_CANCEL: u32 = 3;
pub const MSIME_ENGINE_COMMAND_MOVE_LEFT: u32 = 4;
pub const MSIME_ENGINE_COMMAND_MOVE_RIGHT: u32 = 5;
pub const MSIME_ENGINE_COMMAND_MOVE_HOME: u32 = 6;
pub const MSIME_ENGINE_COMMAND_MOVE_END: u32 = 7;
pub const MSIME_ENGINE_COMMAND_DELETE_FORWARD: u32 = 8;
pub const MSIME_ENGINE_COMMAND_CYCLE_KANA_VARIANT: u32 = 9;
pub const MSIME_ENGINE_COMMAND_COMMIT_READING: u32 = 10;
pub const MSIME_ENGINE_COMMAND_OPEN_CANDIDATE_LIST: u32 = 11;
pub const MSIME_ENGINE_COMMAND_CONVERSION_LEFT: u32 = 12;
pub const MSIME_ENGINE_COMMAND_CONVERSION_RIGHT: u32 = 13;
pub const MSIME_ENGINE_COMMAND_COMMIT_RAW_WITHOUT_LEARNING: u32 = 14;
pub const MSIME_ENGINE_SOURCE_DATABASE: u32 = 0;
pub const MSIME_ENGINE_SOURCE_USER_DATABASE: u32 = 1;
pub const MSIME_ENGINE_SOURCE_CLOUD_SUGGESTION: u32 = 2;
pub const MSIME_ENGINE_SOURCE_AI_SUGGESTION: u32 = 3;
pub const MSIME_ENGINE_SOURCE_ENGLISH_DICTIONARY: u32 = 4;
pub const MSIME_ENGINE_SOURCE_QUICK_PHRASE: u32 = 5;
pub const MSIME_ENGINE_SOURCE_EMOJI: u32 = 6;
pub const MSIME_ENGINE_SOURCE_KAOMOJI: u32 = 7;
pub const MSIME_ENGINE_SOURCE_GENERATED: u32 = 8;
pub const MSIME_ENGINE_SOURCE_FALLBACK: u32 = 9;
pub const MSIME_ENGINE_SOURCE_NEURAL_KEYBOARD: u32 = 11;
pub const MSIME_ENGINE_SOURCE_AI_PENDING: u32 = 12;
pub const MSIME_ENGINE_SOURCE_MIXED_JAPANESE: u32 = 13;
pub const MSIME_ENGINE_SOURCE_PLUGIN: u32 = 14;
pub const MSIME_ENGINE_SOURCE_CLOUD_PENDING: u32 = 15;
pub const MSIME_ENGINE_SOURCE_CONTACT: u32 = 16;
pub const MSIME_ENGINE_SOURCE_COLLOCATION: u32 = 17;
pub const MSIME_ENGINE_SOURCE_MULTILINGUAL: u32 = 18;
pub const MSIME_ENGINE_LOCAL_MODE_NONE: u32 = 0;
pub const MSIME_ENGINE_LOCAL_MODE_UNICODE: u32 = 1;
pub const MSIME_ENGINE_LOCAL_MODE_DATE_TIME: u32 = 2;
pub const MSIME_ENGINE_LOCAL_MODE_QUICK_PHRASE: u32 = 3;
pub const MSIME_ENGINE_LOCAL_MODE_EMOJI: u32 = 4;
pub const MSIME_ENGINE_LOCAL_MODE_KAOMOJI: u32 = 5;
pub const MSIME_ENGINE_LOCAL_MODE_SUPER_JIANPIN: u32 = 6;
pub const MSIME_ENGINE_LOCAL_MODE_TEMPORARY_ENGLISH: u32 = 7;
pub const MSIME_ENGINE_LOCAL_MODE_TEMPORARY_JAPANESE: u32 = 8;
pub const MSIME_ENGINE_LOCAL_MODE_EXPRESSION: u32 = 9;
pub const MSIME_ENGINE_LOCAL_MODE_COMMAND: u32 = 10;
pub const MSIME_ENGINE_LOCAL_MODE_MENTION: u32 = 11;
pub const MSIME_ENGINE_LOCAL_MODE_URL: u32 = 12;
pub const MSIME_ENGINE_LOCAL_MODE_CHAIZI: u32 = 13;
pub const MSIME_ENGINE_LOCAL_MODE_SYMBOL: u32 = 14;
pub const MSIME_ENGINE_KEY_SHIFT_ONLY: u32 = 1 << 0;
pub const MSIME_ENGINE_STATE_PREDICTION: u32 = 1 << 0;
pub const MSIME_ENGINE_STATE_DEDICATED_ENGLISH: u32 = 1 << 1;
pub const MSIME_ENGINE_STATE_CANDIDATE_LIST_OPEN: u32 = 1 << 2;
pub const MSIME_ENGINE_STATE_TAKES_SEPARATOR: u32 = 1 << 3;
pub const MSIME_ENGINE_CANDIDATE_FUZZY: u32 = 1 << 0;
pub const MSIME_ENGINE_CANDIDATE_ANSWERS_KEY: u32 = 1 << 1;
pub const MSIME_ENGINE_CANDIDATE_SENTENCE: u32 = 1 << 2;
pub const MSIME_ENGINE_EDGE_FIRST_HAN: u32 = 0;
pub const MSIME_ENGINE_EDGE_LAST_HAN: u32 = 1;
pub const MSIME_ENGINE_FLUSH_STOP_THREAD: u32 = 1 << 0;
pub const MSIME_ENGINE_USER_DICT_INCLUDE_LEARNED: u32 = 1 << 0;
pub const MSIME_ENGINE_MODEL_JAPANESE: u32 = 1;
pub const MSIME_ENGINE_CARET_END: i64 = -1;
pub const MSIME_ENGINE_OPTION_CHINESE_PUNCT: u32 = 1;
pub const MSIME_ENGINE_OPTION_PAIRED_PUNCT: u32 = 2;
pub const MSIME_ENGINE_OPTION_PUNCT_LOCK: u32 = 3;
pub const MSIME_ENGINE_OPTION_DEDICATED_ENGLISH: u32 = 4;
pub const MSIME_ENGINE_OPTION_HELPCODE_ENABLED: u32 = 5;
pub const MSIME_ENGINE_OPTION_HELPCODE_SCHEMA: u32 = 6;
pub const MSIME_ENGINE_OPTION_PERSONAL_CONTEXT: u32 = 7;
pub const MSIME_ENGINE_OPTION_PREDICTION_ALLOWED: u32 = 8;
pub const MSIME_ENGINE_OPTION_FIRST_PAGE_ROWS: u32 = 9;
pub const MSIME_ENGINE_OPTION_RESCORING_CONTEXT: u32 = 10;
pub const MSIME_ENGINE_OPTION_FREQUENCY_MODE: u32 = 11;
pub const MSIME_ENGINE_OPTION_FREQUENCY_TRIGGER_COUNT: u32 = 12;
pub const MSIME_ENGINE_OPTION_FREQUENCY_LINEAR_STEP: u32 = 13;
pub const MSIME_ENGINE_OPTION_WUBI_MIXED_PINYIN: u32 = 14;
pub const MSIME_ENGINE_FREQUENCY_DISABLED: u32 = 0;
pub const MSIME_ENGINE_FREQUENCY_PIN: u32 = 1;
pub const MSIME_ENGINE_FREQUENCY_HALVE: u32 = 2;
pub const MSIME_ENGINE_FREQUENCY_LINEAR: u32 = 3;
pub const MSIME_ENGINE_FREQUENCY_PROMOTE: u32 = 4;