1 /* YC 0.2 Tue Feb 29 16:45:07 CET 2000 */
2 /* Module-C: ESFormat-PersistentQuery */
4 #include <yaz/zes-pquery.h>
6 int z_PQueryPersistentQueryEsRequest (ODR o, Z_PQueryPersistentQueryEsRequest **p, int opt, const char *name)
8 if (!odr_sequence_begin (o, p, sizeof(**p), name))
9 return opt && odr_ok (o);
11 odr_explicit_tag (o, z_PQueryOriginPartToKeep,
12 &(*p)->toKeep, ODR_CONTEXT, 1, 1, "toKeep") &&
13 odr_explicit_tag (o, z_PQueryOriginPartNotToKeep,
14 &(*p)->notToKeep, ODR_CONTEXT, 2, 0, "notToKeep") &&
18 int z_PQueryPersistentQueryTaskPackage (ODR o, Z_PQueryPersistentQueryTaskPackage **p, int opt, const char *name)
20 if (!odr_sequence_begin (o, p, sizeof(**p), name))
21 return opt && odr_ok (o);
23 odr_explicit_tag (o, z_PQueryOriginPartToKeep,
24 &(*p)->originPart, ODR_CONTEXT, 1, 1, "originPart") &&
25 odr_explicit_tag (o, z_PQueryTargetPart,
26 &(*p)->targetPart, ODR_CONTEXT, 2, 0, "targetPart") &&
30 int z_PQueryPersistentQuery (ODR o, Z_PQueryPersistentQuery **p, int opt, const char *name)
32 static Odr_arm arm[] = {
33 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_PQueryPersistentQuery_esRequest,
34 (Odr_fun) z_PQueryPersistentQueryEsRequest, "esRequest"},
35 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_PQueryPersistentQuery_taskPackage,
36 (Odr_fun) z_PQueryPersistentQueryTaskPackage, "taskPackage"},
37 {-1, -1, -1, -1, (Odr_fun) 0, 0}
39 if (!odr_initmember(o, p, sizeof(**p)))
40 return opt && odr_ok(o);
41 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
44 return opt && odr_ok(o);
47 int z_PQueryOriginPartToKeep (ODR o, Z_PQueryOriginPartToKeep **p, int opt, const char *name)
49 if (!odr_sequence_begin (o, p, sizeof(**p), name))
50 return opt && odr_ok (o);
52 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
53 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->dbNames,
54 &(*p)->num_dbNames, "dbNames") || odr_ok(o)) &&
55 odr_explicit_tag (o, z_OtherInformation,
56 &(*p)->additionalSearchInfo, ODR_CONTEXT, 3, 1, "additionalSearchInfo") &&
60 int z_PQueryOriginPartNotToKeep (ODR o, Z_PQueryOriginPartNotToKeep **p, int opt, const char *name)
62 static Odr_arm arm[] = {
63 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_PQueryOriginPartNotToKeep_package,
64 (Odr_fun) z_InternationalString, "package"},
65 {ODR_EXPLICIT, ODR_CONTEXT, 2, Z_PQueryOriginPartNotToKeep_query,
66 (Odr_fun) z_Query, "query"},
67 {-1, -1, -1, -1, (Odr_fun) 0, 0}
69 if (!odr_initmember(o, p, sizeof(**p)))
70 return opt && odr_ok(o);
71 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
74 return opt && odr_ok(o);
77 int z_PQueryTargetPart (ODR o, Z_PQueryTargetPart **p, int opt, const char *name)
79 return z_Query (o, p, opt, name);