00001
00007 #ifndef z_uifr1_H
00008 #define z_uifr1_H
00009
00010 #include <yaz/odr.h>
00011 #include <yaz/z-core.h>
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00016 typedef struct Z_SearchInfoReport_s Z_SearchInfoReport_s;
00017 YAZ_EXPORT int z_SearchInfoReport_s (ODR o, Z_SearchInfoReport_s **p, int opt, const char *name);
00018
00019 typedef struct Z_SearchInfoReport Z_SearchInfoReport;
00020 YAZ_EXPORT int z_SearchInfoReport (ODR o, Z_SearchInfoReport **p, int opt, const char *name);
00021
00022 typedef struct Z_ResultsByDB_sList Z_ResultsByDB_sList;
00023 YAZ_EXPORT int z_ResultsByDB_sList (ODR o, Z_ResultsByDB_sList **p, int opt, const char *name);
00024
00025 typedef struct Z_ResultsByDB_s Z_ResultsByDB_s;
00026 YAZ_EXPORT int z_ResultsByDB_s (ODR o, Z_ResultsByDB_s **p, int opt, const char *name);
00027
00028 typedef struct Z_ResultsByDB Z_ResultsByDB;
00029 YAZ_EXPORT int z_ResultsByDB (ODR o, Z_ResultsByDB **p, int opt, const char *name);
00030
00031 typedef struct Z_QueryExpressionTerm Z_QueryExpressionTerm;
00032 YAZ_EXPORT int z_QueryExpressionTerm (ODR o, Z_QueryExpressionTerm **p, int opt, const char *name);
00033
00034 typedef struct Z_QueryExpression Z_QueryExpression;
00035 YAZ_EXPORT int z_QueryExpression (ODR o, Z_QueryExpression **p, int opt, const char *name);
00036 #ifdef __cplusplus
00037 }
00038 #endif
00039 #ifdef __cplusplus
00040 extern "C" {
00041 #endif
00042 struct Z_SearchInfoReport_s {
00043 Z_InternationalString *subqueryId;
00044 bool_t *fullQuery;
00045 Z_QueryExpression *subqueryExpression;
00046 Z_QueryExpression *subqueryInterpretation;
00047 Z_QueryExpression *subqueryRecommendation;
00048 int *subqueryCount;
00049 Z_IntUnit *subqueryWeight;
00050 Z_ResultsByDB *resultsByDB;
00051 };
00052
00053 struct Z_SearchInfoReport {
00054 int num;
00055 Z_SearchInfoReport_s **elements;
00056 };
00057
00058 struct Z_ResultsByDB_sList {
00059 int num;
00060 Z_DatabaseName **elements;
00061 };
00062
00063 struct Z_ResultsByDB_s {
00064 int which;
00065 union {
00066 Odr_null *all;
00067 Z_ResultsByDB_sList *list;
00068 #define Z_ResultsByDB_s_all 1
00069 #define Z_ResultsByDB_s_list 2
00070 } u;
00071 int *count;
00072 Z_InternationalString *resultSetName;
00073 };
00074
00075 struct Z_ResultsByDB {
00076 int num;
00077 Z_ResultsByDB_s **elements;
00078 };
00079
00080 struct Z_QueryExpressionTerm {
00081 Z_Term *queryTerm;
00082 Z_InternationalString *termComment;
00083 };
00084
00085 struct Z_QueryExpression {
00086 int which;
00087 union {
00088 Z_QueryExpressionTerm *term;
00089 Z_Query *query;
00090 #define Z_QueryExpression_term 1
00091 #define Z_QueryExpression_query 2
00092 } u;
00093 };
00094
00095 #ifdef __cplusplus
00096 }
00097 #endif
00098 #endif