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

Last change on this file since 1068 was 1068, checked in by cs025, 24 years ago

First corba additions: new files

  • Property svn:keywords set to Author Date Id Revision
File size: 4.6 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 languages;
52 unsigned long numDocs;
53 unsigned long numWords;
54 unsigned long numBytes;
55 corbatext_tmap collectionMeta;
56 corbatext_tmap format;
57 corbatext_tmap building;
58 corbatext_t receptionist;
59};
60
61//
62// getDocument request
63//
64
65struct corbaDocRequest
66{
67 corbatext_t OID;
68 corbatext_t docType;
69 corbatext_t docFormat;
70};
71
72//
73// getDocument response
74//
75
76struct corbaDocResponse
77{
78 corbatext_t doc;
79};
80
81enum corbaFilterType
82{
83 booleanType,
84 integerType,
85 enumeratedType,
86 stringType
87};
88
89enum corbaFilterRepeatable
90{
91 onePerQuery,
92 onePerTerm,
93 nPerTerm
94};
95
96struct corbaFilterOption
97{
98 corbatext_t name;
99 corbaFilterType type;
100 corbaFilterRepeatable repeatable;
101 corbatext_t defaultValue;
102 corbatext_tarray validValues;
103};
104
105typedef sequence<corbaFilterOption> corbaFilterOptionList;
106
107struct corbaFilterOptionsResponse
108{
109 corbaFilterOptionList options;
110 corbatext_tarray names;
111};
112
113//
114// structures for filter call
115//
116
117struct corbaOptionValue
118{
119 corbatext_t name;
120 corbatext_t value;
121};
122
123typedef sequence<corbaOptionValue> corbaOptionValue_array;
124
125struct corbaFilterRequest
126{
127 corbatext_t filter;
128 corbaOptionValue_array filterOptions;
129 corbatext_tarray docSet;
130 long filterResultOptions;
131 corbatext_t requestParams;
132 corbatext_t refParams;
133 corbatext_tset fields;
134 boolean getParents;
135};
136
137struct corbaTermInfo
138{
139 corbatext_t term;
140 long frequency;
141 corbatext_tarray matchTerms;
142};
143
144typedef sequence<corbaTermInfo> corbaTermInfo_array;
145
146struct corbaMetadataInfo
147{
148 corbatext_t params;
149 boolean isRef;
150 corbatext_tarray values;
151 long id;
152 long parentid; // dodge for avoiding pointers for the moment
153};
154
155typedef sequence<corbaMetadataInfo> corbaMetadataInfo_array;
156
157struct corbaMetadataInfo_map
158{
159 corbatext_tarray names;
160 corbaMetadataInfo_array values;
161};
162
163typedef sequence<long> corbaDocFreq_array;
164
165struct corbaResultDocInfo
166{
167 corbatext_t OID;
168 long resultNum;
169 long ranking;
170 long termsMatched;
171 long phraseMatched;
172 corbaDocFreq_array docFreq;
173 corbaMetadataInfo_map metadata;
174 corbaMetadataInfo_array metaparents;
175};
176
177typedef sequence<corbaResultDocInfo> corbaResultDocInfo_array;
178
179enum corbaIsApprox
180{
181 resultExact,
182 resultApprox,
183 resultMany
184};
185
186struct corbaFilterResponse
187{
188 long numDocs;
189 corbaIsApprox isApprox;
190 corbaTermInfo_array termInfo;
191 corbaResultDocInfo_array docInfo;
192};
193
194interface corbaiface
195{
196 boolean _init();
197 void configure(in corbatext_t key, in corbatext_tarray cfgline);
198 void collectionList(inout corbatext_tarray collist);
199 void hasCollection(in corbatext_t corbaCollection, inout boolean has,
200 inout corbaComError error);
201 boolean ping(in corbatext_t collection, inout corbaComError error);
202 void getDocument(in corbatext_t collection,
203 inout corbaDocRequest request, inout corbaDocResponse response,
204 inout corbaComError error);
205 void getCollectInfo(in corbatext_t collection,
206 inout corbaColInfoResponse response,
207 inout corbaComError error);
208 void getFilterInfo(in corbatext_t collection,
209 inout corbatext_tarray filterNames,
210 inout corbaComError error);
211 void getFilterOptions(in corbatext_t collection,
212 in corbatext_t option,
213 inout corbaFilterOptionsResponse response,
214 inout corbaComError error);
215 void filter(in corbatext_t collection,
216 in corbaFilterRequest request,
217 inout corbaFilterResponse response,
218 inout corbaComError error);
219};
Note: See TracBrowser for help on using the repository browser.