[1860] | 1 | // basic elements for text
|
---|
| 2 |
|
---|
| 3 | module gsdlInterface {
|
---|
| 4 |
|
---|
| 5 | typedef sequence<unsigned short> usString;
|
---|
| 6 |
|
---|
| 7 | typedef sequence<string> stringSeq;
|
---|
| 8 |
|
---|
| 9 | struct corbatext_t
|
---|
| 10 | {
|
---|
| 11 | usString text;
|
---|
| 12 | unsigned short encoding;
|
---|
| 13 | unsigned long length;
|
---|
| 14 | };
|
---|
| 15 |
|
---|
| 16 | typedef sequence<corbatext_t> corbatext_tarray;
|
---|
| 17 |
|
---|
| 18 | typedef corbatext_tarray corbatext_tset;
|
---|
| 19 |
|
---|
| 20 | struct corbatext_tmap
|
---|
| 21 | {
|
---|
| 22 | corbatext_tarray names;
|
---|
| 23 | corbatext_tarray values;
|
---|
| 24 | };
|
---|
| 25 |
|
---|
[25231] | 26 | // colserver/comtypes.h defines collectionmeta_map of collectionmeta
|
---|
| 27 | // as (sorted) tuples of: metadata name -> lang -> value
|
---|
| 28 | // However, the C++ definition is:
|
---|
| 29 | // typedef map<text_t, text_tmap, lttext_t> collectionmeta_map;
|
---|
| 30 | // Where lttext_t is defined to be a sorting function in text_t.h
|
---|
| 31 | // Each collectionmeta name maps to one or more (lang,value) pairs.
|
---|
| 32 | // The struct below defines the entry for one collectionmeta name.
|
---|
| 33 | struct corbatext_tcollectionmeta {
|
---|
| 34 | corbatext_t name;
|
---|
| 35 | corbatext_tmap tuples;
|
---|
| 36 | //corbatext_tarray languages;
|
---|
| 37 | //corbatext_tarray values;
|
---|
| 38 | };
|
---|
| 39 |
|
---|
| 40 | typedef sequence<corbatext_tcollectionmeta> corbatext_tcollectionmeta_map;
|
---|
| 41 |
|
---|
| 42 |
|
---|
[1860] | 43 | // standard error values
|
---|
| 44 |
|
---|
| 45 | enum corbaComError
|
---|
| 46 | { corbaNoError,
|
---|
| 47 | corbaAuthenticationFailure,
|
---|
| 48 | corbaProtocolError,
|
---|
| 49 | corbaConfigurationError,
|
---|
| 50 | corbaSystemProblem
|
---|
| 51 | };
|
---|
| 52 |
|
---|
| 53 | //
|
---|
| 54 | // getColInfo response
|
---|
| 55 | //
|
---|
| 56 |
|
---|
| 57 | struct corbaShortColInfo
|
---|
| 58 | {
|
---|
| 59 | corbatext_t name;
|
---|
| 60 | corbatext_t host;
|
---|
| 61 | long response;
|
---|
| 62 | };
|
---|
| 63 |
|
---|
| 64 | struct corbaColInfoResponse
|
---|
| 65 | {
|
---|
[25231] | 66 | corbaShortColInfo shortInfo;
|
---|
| 67 | boolean useBook;
|
---|
[1860] | 68 | boolean isPublic;
|
---|
| 69 | boolean isBeta;
|
---|
[25231] | 70 |
|
---|
[1860] | 71 | unsigned long buildDate;
|
---|
| 72 | corbatext_tarray ccsCols; // Added 05/04/2000
|
---|
| 73 | corbatext_tarray languages;
|
---|
| 74 | unsigned long numDocs;
|
---|
| 75 | unsigned long numWords;
|
---|
| 76 | unsigned long numBytes;
|
---|
[25231] | 77 | corbatext_tcollectionmeta_map collectionMeta; //corbatext_tmap collectionMeta;
|
---|
[1860] | 78 | corbatext_tmap format;
|
---|
| 79 | corbatext_tmap building;
|
---|
| 80 | corbatext_t httpdomain ; // Added 27/07/2000
|
---|
| 81 | corbatext_t httpprefix; // Added 27/07/2000
|
---|
| 82 | corbatext_t receptionist;
|
---|
[25231] | 83 |
|
---|
| 84 | // The following member fields were added 14/03/2011 to
|
---|
| 85 | // match up with ColInfoResponse_t definition in comtypes.h
|
---|
| 86 |
|
---|
| 87 | boolean isSegmented;
|
---|
| 88 | boolean isCollectGroup; // used to group a set of collections as one item on the home page
|
---|
| 89 | unsigned long ccsOptions; // uses CCS #defines from above
|
---|
| 90 | unsigned long stemIndexes; // uses SI #defines from above
|
---|
| 91 | unsigned long numSections; // 0 if not known
|
---|
| 92 | corbatext_tcollectionmeta_map collection_macros; // for collectionmacro config directive (> gsdl 2.53)
|
---|
| 93 | corbatext_t buildType; // 'mg' or 'mgpp' or 'lucene'
|
---|
| 94 | corbatext_t infodbType; // 'gdbm', 'sqlite', etc.
|
---|
| 95 | corbatext_t authenticate; // 'document' or 'collection'
|
---|
| 96 | corbatext_t auth_group; // 'mygroup' 'yourgroup'
|
---|
| 97 | corbatext_tmap public_documents; // the acl to allow access to listed documents
|
---|
| 98 | corbatext_tmap private_documents; // the acl to disallow access to listed documents
|
---|
| 99 | corbatext_tmap dynamic_classifiers;
|
---|
| 100 | corbatext_t earliestDatestamp; // For OAIserver validation. Time since linux Epoch, expressed as (long) integer value in string form
|
---|
| 101 |
|
---|
[1860] | 102 | };
|
---|
| 103 |
|
---|
| 104 | //
|
---|
| 105 | // getDocument request
|
---|
| 106 | //
|
---|
| 107 |
|
---|
| 108 | struct corbaDocRequest
|
---|
| 109 | {
|
---|
| 110 | corbatext_t OID;
|
---|
| 111 | corbatext_t docType;
|
---|
| 112 | corbatext_t docFormat;
|
---|
| 113 | };
|
---|
| 114 |
|
---|
| 115 | //
|
---|
| 116 | // getDocument response
|
---|
| 117 | //
|
---|
| 118 |
|
---|
| 119 | struct corbaDocResponse
|
---|
| 120 | {
|
---|
| 121 | corbatext_t doc;
|
---|
| 122 | };
|
---|
| 123 |
|
---|
| 124 | enum corbaFilterType
|
---|
| 125 | {
|
---|
| 126 | booleanType,
|
---|
| 127 | integerType,
|
---|
| 128 | enumeratedType,
|
---|
| 129 | stringType
|
---|
| 130 | };
|
---|
| 131 |
|
---|
| 132 | enum corbaFilterRepeatable
|
---|
| 133 | {
|
---|
| 134 | onePerQuery,
|
---|
| 135 | onePerTerm,
|
---|
| 136 | nPerTerm
|
---|
| 137 | };
|
---|
| 138 |
|
---|
| 139 | struct corbaFilterOption
|
---|
| 140 | {
|
---|
| 141 | corbatext_t name;
|
---|
| 142 | corbaFilterType type;
|
---|
| 143 | corbaFilterRepeatable repeatable;
|
---|
| 144 | corbatext_t defaultValue;
|
---|
| 145 | corbatext_tarray validValues;
|
---|
| 146 | };
|
---|
| 147 |
|
---|
| 148 | typedef sequence<corbaFilterOption> corbaFilterOptionList;
|
---|
| 149 |
|
---|
| 150 | struct corbaFilterOptionsResponse
|
---|
| 151 | {
|
---|
| 152 | corbaFilterOptionList options;
|
---|
| 153 | corbatext_tarray names;
|
---|
| 154 | };
|
---|
| 155 |
|
---|
| 156 | //
|
---|
| 157 | // structures for filter call
|
---|
| 158 | //
|
---|
| 159 |
|
---|
| 160 | struct corbaOptionValue
|
---|
| 161 | {
|
---|
| 162 | corbatext_t name;
|
---|
| 163 | corbatext_t value;
|
---|
| 164 | };
|
---|
| 165 |
|
---|
| 166 | typedef sequence<corbaOptionValue> corbaOptionValue_array;
|
---|
| 167 |
|
---|
| 168 | struct corbaFilterRequest
|
---|
| 169 | {
|
---|
| 170 | corbatext_t filter;
|
---|
| 171 | corbaOptionValue_array filterOptions;
|
---|
| 172 | corbatext_tarray docSet;
|
---|
| 173 | long filterResultOptions;
|
---|
| 174 | corbatext_t requestParams;
|
---|
| 175 | corbatext_t refParams;
|
---|
| 176 | corbatext_tset fields;
|
---|
| 177 | boolean getParents;
|
---|
| 178 | };
|
---|
| 179 |
|
---|
| 180 | struct corbaTermInfo
|
---|
| 181 | {
|
---|
| 182 | corbatext_t term;
|
---|
| 183 | long frequency;
|
---|
| 184 | corbatext_tarray matchTerms;
|
---|
| 185 | };
|
---|
| 186 |
|
---|
| 187 | typedef sequence<corbaTermInfo> corbaTermInfo_array;
|
---|
| 188 |
|
---|
| 189 | struct corbaMetadataInfo
|
---|
| 190 | {
|
---|
| 191 | corbatext_t params;
|
---|
| 192 | boolean isRef;
|
---|
| 193 | corbatext_tarray values;
|
---|
| 194 | long id;
|
---|
| 195 | long parentid; // dodge for avoiding pointers for the moment
|
---|
| 196 | };
|
---|
| 197 |
|
---|
| 198 | typedef sequence<corbaMetadataInfo> corbaMetadataInfo_array;
|
---|
| 199 |
|
---|
| 200 | struct corbaMetadataInfo_map
|
---|
| 201 | {
|
---|
| 202 | corbatext_tarray names;
|
---|
| 203 | corbaMetadataInfo_array values;
|
---|
| 204 | };
|
---|
| 205 |
|
---|
| 206 | typedef sequence<long> corbaDocFreq_array;
|
---|
| 207 |
|
---|
| 208 | struct corbaResultDocInfo
|
---|
| 209 | {
|
---|
| 210 | corbatext_t OID;
|
---|
| 211 | long resultNum;
|
---|
| 212 | long ranking;
|
---|
| 213 | long termsMatched;
|
---|
| 214 | long phraseMatched;
|
---|
| 215 | corbaDocFreq_array docFreq;
|
---|
| 216 | corbaMetadataInfo_map metadata;
|
---|
| 217 | corbatext_t classifierMetadataType; // Added 05/04/2000
|
---|
| 218 | long classifierMetadataOffset; // Added 05/04/2000
|
---|
| 219 | corbaMetadataInfo_array metaparents;
|
---|
| 220 | };
|
---|
| 221 |
|
---|
| 222 | typedef sequence<corbaResultDocInfo> corbaResultDocInfo_array;
|
---|
| 223 |
|
---|
| 224 | enum corbaIsApprox
|
---|
| 225 | {
|
---|
| 226 | resultExact,
|
---|
| 227 | resultApprox,
|
---|
| 228 | resultMany
|
---|
| 229 | };
|
---|
| 230 |
|
---|
| 231 | struct corbaFilterResponse
|
---|
| 232 | {
|
---|
| 233 | long numDocs;
|
---|
| 234 | corbaIsApprox isApprox;
|
---|
| 235 | corbaTermInfo_array termInfo;
|
---|
| 236 | corbaResultDocInfo_array docInfo;
|
---|
| 237 | };
|
---|
| 238 |
|
---|
| 239 | interface corbaiface
|
---|
| 240 | {
|
---|
[2113] | 241 | boolean initialise(inout corbaComError error);
|
---|
| 242 | void configure(in corbatext_t key, in corbatext_tarray cfgline,
|
---|
| 243 | inout corbaComError error);
|
---|
| 244 | void collectionList(inout corbatext_tarray collist,
|
---|
| 245 | inout corbaComError error);
|
---|
[1860] | 246 | void hasCollection(in corbatext_t corbaCollection, inout boolean has,
|
---|
| 247 | inout corbaComError error);
|
---|
[2173] | 248 | void ping(in corbatext_t collection, inout boolean wasSuccess, inout corbaComError error);
|
---|
[1860] | 249 | void getDocument(in corbatext_t collection,
|
---|
| 250 | inout corbaDocRequest request, inout corbaDocResponse response,
|
---|
| 251 | inout corbaComError error);
|
---|
| 252 | void getCollectInfo(in corbatext_t collection,
|
---|
| 253 | inout corbaColInfoResponse response,
|
---|
| 254 | inout corbaComError error);
|
---|
| 255 | void getFilterInfo(in corbatext_t collection,
|
---|
| 256 | inout corbatext_tarray filterNames,
|
---|
| 257 | inout corbaComError error);
|
---|
| 258 | void getFilterOptions(in corbatext_t collection,
|
---|
| 259 | in corbatext_t option,
|
---|
| 260 | inout corbaFilterOptionsResponse response,
|
---|
| 261 | inout corbaComError error);
|
---|
| 262 | void filter(in corbatext_t collection,
|
---|
| 263 | in corbaFilterRequest request,
|
---|
| 264 | inout corbaFilterResponse response,
|
---|
| 265 | inout corbaComError error);
|
---|
[25231] | 266 |
|
---|
| 267 | void getRssItems (in corbatext_t collection,
|
---|
| 268 | in corbatext_t gsdlhome,
|
---|
| 269 | inout corbatext_t rss_items,
|
---|
| 270 | inout corbaComError error);
|
---|
| 271 |
|
---|
[1860] | 272 | };
|
---|
| 273 |
|
---|
| 274 | };
|
---|