X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Frpn2cql.h;h=3c6691f1c95cea61bcc9425dd2a4a62cb98db1b1;hp=90798db44721743260edc4c10cc077615244f78c;hb=6b3366d135740d9ab37bdcd3f00b115fedf30a9d;hpb=b3d5a30f4d074053085693a8fc5381a4ebc41544 diff --git a/include/yaz/rpn2cql.h b/include/yaz/rpn2cql.h index 90798db..3c6691f 100644 --- a/include/yaz/rpn2cql.h +++ b/include/yaz/rpn2cql.h @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2008 Index Data. + * Copyright (C) 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: @@ -33,10 +33,11 @@ #define RPN2CQL_H_INCLUDED #include #include +#include YAZ_BEGIN_CDECL -/** \brief transforms PQF given a CQL tree (from FILE) +/** \brief transforms RPN query to CQL output stream \param ct CQL transform handle \param pr print function \param client_data opaque data to be passed to print handler @@ -45,10 +46,34 @@ YAZ_BEGIN_CDECL \retval !=0 failure (error code) */ YAZ_EXPORT -int cql_transform_rpn2cql(cql_transform_t ct, - void (*pr)(const char *buf, void *client_data), - void *client_data, - Z_RPNQuery *q); +int cql_transform_rpn2cql_stream(cql_transform_t ct, + void (*pr)(const char *buf, void *client_data), + void *client_data, + Z_RPNQuery *q); + + +/** \brief transforms RPN query to CQL WRBUF + \param ct CQL transform handle + \param w WRBUF handle for result + \param q RPN Query + \retval 0 success + \retval !=0 failure (error code) + */ +YAZ_EXPORT +int cql_transform_rpn2cql_wrbuf(cql_transform_t ct, + WRBUF w, + Z_RPNQuery *q); + +/** \brief find a pattern that has a subset of attributes + \param ct CQL transform handle + \param category pattern category + \param attributes RPN attributes + \returns pattern value or NULL if not found + */ +YAZ_EXPORT +const char *cql_lookup_reverse(cql_transform_t ct, + const char *category, + Z_AttributeList *attributes); YAZ_END_CDECL @@ -57,6 +82,7 @@ YAZ_END_CDECL /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab