00001
00007 #ifndef zes_expi_H
00008 #define zes_expi_H
00009
00010 #include <yaz/odr.h>
00011 #include <yaz/z-core.h>
00012 #include <yaz/zes-exps.h>
00013 #ifdef __cplusplus
00014 extern "C" {
00015 #endif
00016
00017 typedef struct Z_EIExportInvocationEsRequest Z_EIExportInvocationEsRequest;
00018 YAZ_EXPORT int z_EIExportInvocationEsRequest (ODR o, Z_EIExportInvocationEsRequest **p, int opt, const char *name);
00019
00020 typedef struct Z_EIExportInvocationTaskPackage Z_EIExportInvocationTaskPackage;
00021 YAZ_EXPORT int z_EIExportInvocationTaskPackage (ODR o, Z_EIExportInvocationTaskPackage **p, int opt, const char *name);
00022
00023 typedef struct Z_EIExportInvocation Z_EIExportInvocation;
00024 YAZ_EXPORT int z_EIExportInvocation (ODR o, Z_EIExportInvocation **p, int opt, const char *name);
00025
00026 typedef struct Z_EIOriginPartToKeep Z_EIOriginPartToKeep;
00027 YAZ_EXPORT int z_EIOriginPartToKeep (ODR o, Z_EIOriginPartToKeep **p, int opt, const char *name);
00028
00029 typedef struct Z_EIOriginPartNotToKeepRanges_s Z_EIOriginPartNotToKeepRanges_s;
00030 YAZ_EXPORT int z_EIOriginPartNotToKeepRanges_s (ODR o, Z_EIOriginPartNotToKeepRanges_s **p, int opt, const char *name);
00031
00032 typedef struct Z_EIOriginPartNotToKeepRanges Z_EIOriginPartNotToKeepRanges;
00033 YAZ_EXPORT int z_EIOriginPartNotToKeepRanges (ODR o, Z_EIOriginPartNotToKeepRanges **p, int opt, const char *name);
00034
00035 typedef struct Z_EIOriginPartNotToKeep Z_EIOriginPartNotToKeep;
00036 YAZ_EXPORT int z_EIOriginPartNotToKeep (ODR o, Z_EIOriginPartNotToKeep **p, int opt, const char *name);
00037
00038 typedef struct Z_EITargetPart Z_EITargetPart;
00039 YAZ_EXPORT int z_EITargetPart (ODR o, Z_EITargetPart **p, int opt, const char *name);
00040 #ifdef __cplusplus
00041 }
00042 #endif
00043 #ifdef __cplusplus
00044 extern "C" {
00045 #endif
00046 struct Z_EIExportInvocationEsRequest {
00047 Z_EIOriginPartToKeep *toKeep;
00048 Z_EIOriginPartNotToKeep *notToKeep;
00049 };
00050
00051 struct Z_EIExportInvocationTaskPackage {
00052 Z_EIOriginPartToKeep *originPart;
00053 Z_EITargetPart *targetPart;
00054 };
00055
00056 struct Z_EIExportInvocation {
00057 int which;
00058 union {
00059 Z_EIExportInvocationEsRequest *esRequest;
00060 Z_EIExportInvocationTaskPackage *taskPackage;
00061 #define Z_EIExportInvocation_esRequest 1
00062 #define Z_EIExportInvocation_taskPackage 2
00063 } u;
00064 };
00065
00066 struct Z_EIOriginPartToKeep {
00067 int which;
00068 union {
00069 Z_InternationalString *packageName;
00070 Z_ESExportSpecification *packageSpec;
00071 #define Z_EIOriginPartToKeep_packageName 1
00072 #define Z_EIOriginPartToKeep_packageSpec 2
00073 } u;
00074 int *numberOfCopies;
00075 };
00076
00077 struct Z_EIOriginPartNotToKeepRanges_s {
00078 int *start;
00079 int *count;
00080 };
00081
00082 struct Z_EIOriginPartNotToKeepRanges {
00083 int num;
00084 Z_EIOriginPartNotToKeepRanges_s **elements;
00085 };
00086
00087 struct Z_EIOriginPartNotToKeep {
00088 Z_InternationalString *resultSetId;
00089 int which;
00090 union {
00091 Odr_null *all;
00092 Z_EIOriginPartNotToKeepRanges *ranges;
00093 #define Z_EIOriginPartNotToKeep_all 1
00094 #define Z_EIOriginPartNotToKeep_ranges 2
00095 } u;
00096 };
00097
00098 struct Z_EITargetPart {
00099 Z_IntUnit *estimatedQuantity;
00100 Z_IntUnit *quantitySoFar;
00101 Z_IntUnit *estimatedCost;
00102 Z_IntUnit *costSoFar;
00103 };
00104
00105 #ifdef __cplusplus
00106 }
00107 #endif
00108 #endif