X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Ficu_I18N.h;h=91c356ac2e764e33fbff0b8cc4747a5b19faeb63;hb=831be38b860411592b0eefc5e14ec549f96b887c;hp=2746f07fafee46eea95c683aaed8380029eea3a1;hpb=4b646f979589d12e6ce2b009d95321a5e7caa815;p=pazpar2-moved-to-github.git diff --git a/src/icu_I18N.h b/src/icu_I18N.h index 2746f07..91c356a 100644 --- a/src/icu_I18N.h +++ b/src/icu_I18N.h @@ -1,4 +1,4 @@ -/* $Id: icu_I18N.h,v 1.12 2007-05-14 13:51:24 marc Exp $ +/* $Id: icu_I18N.h,v 1.14 2007-05-16 12:39:49 marc Exp $ Copyright (c) 2006-2007, Index Data. This file is part of Pazpar2. @@ -187,10 +187,23 @@ struct icu_chain_step } u; // temprary post-action utf16 buffer struct icu_buf_utf16 * buf16; - struct icu_chain_step * next; + struct icu_chain_step * previous; + int more_tokens; }; +struct icu_chain; + +struct icu_chain_step * icu_chain_step_create(struct icu_chain * chain, + enum icu_chain_step_type type, + const uint8_t * rule, + struct icu_buf_utf16 * buf16, + UErrorCode *status); + + +void icu_chain_step_destroy(struct icu_chain_step * step); + + struct icu_chain { uint8_t identifier[128]; @@ -213,14 +226,34 @@ struct icu_chain struct icu_chain * icu_chain_create(const uint8_t * identifier, const uint8_t * locale); - void icu_chain_destroy(struct icu_chain * chain); -struct icu_chain_step * icu_chain_append_step(struct icu_chain * chain, +struct icu_chain_step * icu_chain_insert_step(struct icu_chain * chain, enum icu_chain_step_type type, - const uint8_t * rule); + const uint8_t * rule, + UErrorCode *status); + + +int icu_chain_step_next_token(struct icu_chain * chain, + struct icu_chain_step * step, + UErrorCode *status); + +int icu_chain_assign_cstr(struct icu_chain * chain, + const char * src8cstr, + UErrorCode *status); + +int icu_chain_next_token(struct icu_chain * chain, + UErrorCode *status); + +int icu_chain_get_token_count(struct icu_chain * chain); + +const char * icu_chain_get_display(struct icu_chain * chain); + +const char * icu_chain_get_norm(struct icu_chain * chain); + +const char * icu_chain_get_sort(struct icu_chain * chain); + -void icu_chain_step_destroy(struct icu_chain_step * step);