X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=OCamlDriver.cpp;h=e1ddf83c8fcf97758a6538e68752ddd3eb112304;hb=eda0e1062076c3343ab0cfdc10e4d19d6e23c570;hp=e20a7491da3c3540f5d3d88d03f54064dfeabdd2;hpb=5b4679e20761058f1e04c123da52631c0dd265cc;p=SXSI%2Fxpathcomp.git diff --git a/OCamlDriver.cpp b/OCamlDriver.cpp index e20a749..e1ddf83 100644 --- a/OCamlDriver.cpp +++ b/OCamlDriver.cpp @@ -132,6 +132,25 @@ extern "C" CAMLprim value caml_text_collection_get_text(value tree, value id){ delete (txt); CAMLreturn (str); } + +extern "C" CAMLprim value caml_text_collection_get_cached_text(value tree, value id){ + CAMLparam2(tree,id); + CAMLlocal1(str); + char* txt = (char*) XMLTREE(tree)->GetCachedText((DocID) Int_val(id)); + str = caml_copy_string(txt); + free(txt); + CAMLreturn (str); +} + +extern "C" CAMLprim value caml_text_collection_size(value tree){ + CAMLparam1(tree); + // CAMLreturn (Val_int( XMLTREE(tree)->CachedText.size())); + NOT_IMPLEMENTED("text_collection_size"); + CAMLreturn (Val_unit); +} + + + extern "C" CAMLprim value caml_text_collection_empty_text(value tree,value id){ CAMLparam2(tree,id); CAMLreturn ( Val_int((XMLTREE(tree))->EmptyText((DocID) Int_val(id)))); @@ -148,6 +167,13 @@ extern "C" CAMLprim value caml_text_collection_count_contains(value tree,value s uchar * cstr = (uchar *) String_val(str); CAMLreturn (Val_int((XMLTREE(tree)->CountContains(cstr)))); +} +extern "C" CAMLprim value caml_text_collection_count(value tree,value str){ + CAMLparam2(tree,str); + //uchar * cstr = (uchar *) String_val(str); + NOT_IMPLEMENTED("text_collection_count"); + CAMLreturn (Val_unit); + } extern "C" CAMLprim value caml_text_collection_contains(value tree,value str){ @@ -235,6 +261,11 @@ extern "C" CAMLprim value caml_xml_tree_next_sibling(value tree, value id){ CAMLreturn(Val_int (XMLTREE(tree)->NextSibling(TREENODEVAL(id)))); } +extern "C" CAMLprim value caml_xml_tree_prev_sibling(value tree, value id){ + CAMLparam2(tree,id); + CAMLreturn(Val_int (XMLTREE(tree)->PrevSibling(TREENODEVAL(id)))); +} + extern "C" CAMLprim value caml_xml_tree_prev_text(value tree, value id){ CAMLparam2(tree,id); CAMLlocal1(res);