00001
00007 #ifndef zes_pquery_H
00008 #define zes_pquery_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_PQueryPersistentQueryEsRequest Z_PQueryPersistentQueryEsRequest;
00017 YAZ_EXPORT int z_PQueryPersistentQueryEsRequest (ODR o, Z_PQueryPersistentQueryEsRequest **p, int opt, const char *name);
00018
00019 typedef struct Z_PQueryPersistentQueryTaskPackage Z_PQueryPersistentQueryTaskPackage;
00020 YAZ_EXPORT int z_PQueryPersistentQueryTaskPackage (ODR o, Z_PQueryPersistentQueryTaskPackage **p, int opt, const char *name);
00021
00022 typedef struct Z_PQueryPersistentQuery Z_PQueryPersistentQuery;
00023 YAZ_EXPORT int z_PQueryPersistentQuery (ODR o, Z_PQueryPersistentQuery **p, int opt, const char *name);
00024
00025 typedef struct Z_PQueryOriginPartToKeep Z_PQueryOriginPartToKeep;
00026 YAZ_EXPORT int z_PQueryOriginPartToKeep (ODR o, Z_PQueryOriginPartToKeep **p, int opt, const char *name);
00027
00028 typedef struct Z_PQueryOriginPartNotToKeep Z_PQueryOriginPartNotToKeep;
00029 YAZ_EXPORT int z_PQueryOriginPartNotToKeep (ODR o, Z_PQueryOriginPartNotToKeep **p, int opt, const char *name);
00030
00031 typedef Z_Query Z_PQueryTargetPart;
00032 YAZ_EXPORT int z_PQueryTargetPart (ODR o, Z_PQueryTargetPart **p, int opt, const char *name);
00033 #ifdef __cplusplus
00034 }
00035 #endif
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039 struct Z_PQueryPersistentQueryEsRequest {
00040 Z_PQueryOriginPartToKeep *toKeep;
00041 Z_PQueryOriginPartNotToKeep *notToKeep;
00042 };
00043
00044 struct Z_PQueryPersistentQueryTaskPackage {
00045 Z_PQueryOriginPartToKeep *originPart;
00046 Z_PQueryTargetPart *targetPart;
00047 };
00048
00049 struct Z_PQueryPersistentQuery {
00050 int which;
00051 union {
00052 Z_PQueryPersistentQueryEsRequest *esRequest;
00053 Z_PQueryPersistentQueryTaskPackage *taskPackage;
00054 #define Z_PQueryPersistentQuery_esRequest 1
00055 #define Z_PQueryPersistentQuery_taskPackage 2
00056 } u;
00057 };
00058
00059 struct Z_PQueryOriginPartToKeep {
00060 int num_dbNames;
00061 Z_InternationalString **dbNames;
00062 Z_OtherInformation *additionalSearchInfo;
00063 };
00064
00065 struct Z_PQueryOriginPartNotToKeep {
00066 int which;
00067 union {
00068 Z_InternationalString *package;
00069 Z_Query *query;
00070 #define Z_PQueryOriginPartNotToKeep_package 1
00071 #define Z_PQueryOriginPartNotToKeep_query 2
00072 } u;
00073 };
00074
00075
00076
00077 #ifdef __cplusplus
00078 }
00079 #endif
00080 #endif