// basic elements for text module gsdlInterface { typedef sequence usString; typedef sequence stringSeq; struct corbatext_t { usString text; unsigned short encoding; unsigned long length; }; typedef sequence corbatext_tarray; typedef corbatext_tarray corbatext_tset; struct corbatext_tmap { corbatext_tarray names; corbatext_tarray values; }; // standard error values enum corbaComError { corbaNoError, corbaAuthenticationFailure, corbaProtocolError, corbaConfigurationError, corbaSystemProblem }; // // getColInfo response // struct corbaShortColInfo { corbatext_t name; corbatext_t host; long response; }; struct corbaColInfoResponse { corbaShortColInfo shoftInfo; boolean isPublic; boolean isBeta; unsigned long buildDate; corbatext_tarray ccsCols; // Added 05/04/2000 corbatext_tarray languages; unsigned long numDocs; unsigned long numWords; unsigned long numBytes; corbatext_tmap collectionMeta; corbatext_tmap format; corbatext_tmap building; corbatext_t httpdomain ; // Added 27/07/2000 corbatext_t httpprefix; // Added 27/07/2000 corbatext_t receptionist; }; // // getDocument request // struct corbaDocRequest { corbatext_t OID; corbatext_t docType; corbatext_t docFormat; }; // // getDocument response // struct corbaDocResponse { corbatext_t doc; }; enum corbaFilterType { booleanType, integerType, enumeratedType, stringType }; enum corbaFilterRepeatable { onePerQuery, onePerTerm, nPerTerm }; struct corbaFilterOption { corbatext_t name; corbaFilterType type; corbaFilterRepeatable repeatable; corbatext_t defaultValue; corbatext_tarray validValues; }; typedef sequence corbaFilterOptionList; struct corbaFilterOptionsResponse { corbaFilterOptionList options; corbatext_tarray names; }; // // structures for filter call // struct corbaOptionValue { corbatext_t name; corbatext_t value; }; typedef sequence corbaOptionValue_array; struct corbaFilterRequest { corbatext_t filter; corbaOptionValue_array filterOptions; corbatext_tarray docSet; long filterResultOptions; corbatext_t requestParams; corbatext_t refParams; corbatext_tset fields; boolean getParents; }; struct corbaTermInfo { corbatext_t term; long frequency; corbatext_tarray matchTerms; }; typedef sequence corbaTermInfo_array; struct corbaMetadataInfo { corbatext_t params; boolean isRef; corbatext_tarray values; long id; long parentid; // dodge for avoiding pointers for the moment }; typedef sequence corbaMetadataInfo_array; struct corbaMetadataInfo_map { corbatext_tarray names; corbaMetadataInfo_array values; }; typedef sequence corbaDocFreq_array; struct corbaResultDocInfo { corbatext_t OID; long resultNum; long ranking; long termsMatched; long phraseMatched; corbaDocFreq_array docFreq; corbaMetadataInfo_map metadata; corbatext_t classifierMetadataType; // Added 05/04/2000 long classifierMetadataOffset; // Added 05/04/2000 corbaMetadataInfo_array metaparents; }; typedef sequence corbaResultDocInfo_array; enum corbaIsApprox { resultExact, resultApprox, resultMany }; struct corbaFilterResponse { long numDocs; corbaIsApprox isApprox; corbaTermInfo_array termInfo; corbaResultDocInfo_array docInfo; }; interface corbaiface { boolean initialise(inout corbaComError error); void configure(in corbatext_t key, in corbatext_tarray cfgline, inout corbaComError error); void collectionList(inout corbatext_tarray collist, inout corbaComError error); void hasCollection(in corbatext_t corbaCollection, inout boolean has, inout corbaComError error); void ping(in corbatext_t collection, inout boolean wasSuccess, inout corbaComError error); void getDocument(in corbatext_t collection, inout corbaDocRequest request, inout corbaDocResponse response, inout corbaComError error); void getCollectInfo(in corbatext_t collection, inout corbaColInfoResponse response, inout corbaComError error); void getFilterInfo(in corbatext_t collection, inout corbatext_tarray filterNames, inout corbaComError error); void getFilterOptions(in corbatext_t collection, in corbatext_t option, inout corbaFilterOptionsResponse response, inout corbaComError error); void filter(in corbatext_t collection, in corbaFilterRequest request, inout corbaFilterResponse response, inout corbaComError error); }; };