source: branches/corba/gsdl/lib/corbaiface.idl@ 13242

Last change on this file since 13242 was 1513, checked in by davidb, 24 years ago

To correctly handle images using Corba the interface had to be changed
to additionaly store httpdomain and httpprefix. Extra code was also
added to text_t.

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