ICU test refactor. Hide icu_tokenizer struct.
[yaz-moved-to-github.git] / include / yaz / icu_I18N.h
index f50b60a..b330446 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2009 Index Data.
+ * Copyright (C) 1995-2010 Index Data.
  * All rights reserved.
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -120,25 +120,7 @@ void icu_sortkey8_from_utf16(UCollator *coll,
                              struct icu_buf_utf16 * src16,
                              UErrorCode * status);
 
-struct icu_tokenizer
-{
-    char action;
-    UBreakIterator* bi;
-    struct icu_buf_utf16 * buf16;
-    int32_t token_count;
-    int32_t token_id;
-    int32_t token_start;
-    int32_t token_end;
-/*
-  keep always invariant
-  0 <= token_start 
-  <= token_end 
-  <= buf16->utf16_len
-  and invariant
-  0 <= token_id <= token_count
-*/
-};
-
+struct icu_tokenizer;
 struct icu_tokenizer * icu_tokenizer_create(const char *locale, char action,
                                             UErrorCode *status);
 
@@ -163,7 +145,7 @@ void icu_transform_destroy(struct icu_transform * transform);
 
 int icu_transform_trans(struct icu_transform * transform,
                         struct icu_buf_utf16 * dest16,
-                        struct icu_buf_utf16 * src16,
+                        const struct icu_buf_utf16 * src16,
                         UErrorCode *status);
 
 struct icu_chain_step;
@@ -175,6 +157,14 @@ yaz_icu_chain_t icu_chain_create(const char * locale,
                                  UErrorCode * status);
 
 
+struct icu_iter;
+struct icu_iter *icu_iter_create(struct icu_chain *chain,
+                                 const char *src8cstr);
+void icu_iter_destroy(struct icu_iter *iter);
+int icu_iter_next(struct icu_iter *iter, struct icu_buf_utf8 *result);
+const char *icu_iter_get_sortkey(struct icu_iter *iter);
+const char *icu_iter_get_display(struct icu_iter *iter);
+
 #endif /* ICU_I18NL_H */
 
 /*