source: trunk/gsdl/lib/corbaiface.idl@ 2173

Last change on this file since 2173 was 2173, checked in by cs025, 23 years ago

Improvements to configure scripts in their support of various MICO
environment considerations, particularly when MICO is on the system
paths.

Fixed CORBA version of ping to correspond with parameters etc. of the
native form.

Finally, improved PING action to be more than a simple call to
the HASCOLLECTION action in the null protocol.

  • Property svn:keywords set to Author Date Id Revision
File size: 5.1 KB
Line 
1// basic elements for text
2
3module gsdlInterface {
4
5typedef sequence<unsigned short> usString;
6
7typedef sequence<string> stringSeq;
8
9struct corbatext_t
10{
11 usString text;
12 unsigned short encoding;
13 unsigned long length;
14};
15
16typedef sequence<corbatext_t> corbatext_tarray;
17
18typedef corbatext_tarray corbatext_tset;
19
20struct corbatext_tmap
21{
22 corbatext_tarray names;
23 corbatext_tarray values;
24};
25
26// standard error values
27
28enum corbaComError
29{ corbaNoError,
30 corbaAuthenticationFailure,
31 corbaProtocolError,
32 corbaConfigurationError,
33 corbaSystemProblem
34};
35
36//
37// getColInfo response
38//
39
40struct corbaShortColInfo
41{
42 corbatext_t name;
43 corbatext_t host;
44 long response;
45};
46
47struct corbaColInfoResponse
48{
49 corbaShortColInfo shoftInfo;
50 boolean isPublic;
51 boolean isBeta;
52 unsigned long buildDate;
53 corbatext_tarray ccsCols; // Added 05/04/2000
54 corbatext_tarray languages;
55 unsigned long numDocs;
56 unsigned long numWords;
57 unsigned long numBytes;
58 corbatext_tmap collectionMeta;
59 corbatext_tmap format;
60 corbatext_tmap building;
61 corbatext_t httpdomain ; // Added 27/07/2000
62 corbatext_t httpprefix; // Added 27/07/2000
63 corbatext_t receptionist;
64};
65
66//
67// getDocument request
68//
69
70struct corbaDocRequest
71{
72 corbatext_t OID;
73 corbatext_t docType;
74 corbatext_t docFormat;
75};
76
77//
78// getDocument response
79//
80
81struct corbaDocResponse
82{
83 corbatext_t doc;
84};
85
86enum corbaFilterType
87{
88 booleanType,
89 integerType,
90 enumeratedType,
91 stringType
92};
93
94enum corbaFilterRepeatable
95{
96 onePerQuery,
97 onePerTerm,
98 nPerTerm
99};
100
101struct corbaFilterOption
102{
103 corbatext_t name;
104 corbaFilterType type;
105 corbaFilterRepeatable repeatable;
106 corbatext_t defaultValue;
107 corbatext_tarray validValues;
108};
109
110typedef sequence<corbaFilterOption> corbaFilterOptionList;
111
112struct corbaFilterOptionsResponse
113{
114 corbaFilterOptionList options;
115 corbatext_tarray names;
116};
117
118//
119// structures for filter call
120//
121
122struct corbaOptionValue
123{
124 corbatext_t name;
125 corbatext_t value;
126};
127
128typedef sequence<corbaOptionValue> corbaOptionValue_array;
129
130struct corbaFilterRequest
131{
132 corbatext_t filter;
133 corbaOptionValue_array filterOptions;
134 corbatext_tarray docSet;
135 long filterResultOptions;
136 corbatext_t requestParams;
137 corbatext_t refParams;
138 corbatext_tset fields;
139 boolean getParents;
140};
141
142struct corbaTermInfo
143{
144 corbatext_t term;
145 long frequency;
146 corbatext_tarray matchTerms;
147};
148
149typedef sequence<corbaTermInfo> corbaTermInfo_array;
150
151struct corbaMetadataInfo
152{
153 corbatext_t params;
154 boolean isRef;
155 corbatext_tarray values;
156 long id;
157 long parentid; // dodge for avoiding pointers for the moment
158};
159
160typedef sequence<corbaMetadataInfo> corbaMetadataInfo_array;
161
162struct corbaMetadataInfo_map
163{
164 corbatext_tarray names;
165 corbaMetadataInfo_array values;
166};
167
168typedef sequence<long> corbaDocFreq_array;
169
170struct corbaResultDocInfo
171{
172 corbatext_t OID;
173 long resultNum;
174 long ranking;
175 long termsMatched;
176 long phraseMatched;
177 corbaDocFreq_array docFreq;
178 corbaMetadataInfo_map metadata;
179 corbatext_t classifierMetadataType; // Added 05/04/2000
180 long classifierMetadataOffset; // Added 05/04/2000
181 corbaMetadataInfo_array metaparents;
182};
183
184typedef sequence<corbaResultDocInfo> corbaResultDocInfo_array;
185
186enum corbaIsApprox
187{
188 resultExact,
189 resultApprox,
190 resultMany
191};
192
193struct corbaFilterResponse
194{
195 long numDocs;
196 corbaIsApprox isApprox;
197 corbaTermInfo_array termInfo;
198 corbaResultDocInfo_array docInfo;
199};
200
201interface corbaiface
202{
203 boolean initialise(inout corbaComError error);
204 void configure(in corbatext_t key, in corbatext_tarray cfgline,
205 inout corbaComError error);
206 void collectionList(inout corbatext_tarray collist,
207 inout corbaComError error);
208 void hasCollection(in corbatext_t corbaCollection, inout boolean has,
209 inout corbaComError error);
210 void ping(in corbatext_t collection, inout boolean wasSuccess, inout corbaComError error);
211 void getDocument(in corbatext_t collection,
212 inout corbaDocRequest request, inout corbaDocResponse response,
213 inout corbaComError error);
214 void getCollectInfo(in corbatext_t collection,
215 inout corbaColInfoResponse response,
216 inout corbaComError error);
217 void getFilterInfo(in corbatext_t collection,
218 inout corbatext_tarray filterNames,
219 inout corbaComError error);
220 void getFilterOptions(in corbatext_t collection,
221 in corbatext_t option,
222 inout corbaFilterOptionsResponse response,
223 inout corbaComError error);
224 void filter(in corbatext_t collection,
225 in corbaFilterRequest request,
226 inout corbaFilterResponse response,
227 inout corbaComError error);
228};
229
230};
Note: See TracBrowser for help on using the repository browser.