module ValueTest { typedef any QueryAttributeValue; enum LogicOperation { LO_OR , LO_AND , LO_NOT }; enum AttributeTag { AT_NAME , AT_LEGAL_FORCE }; valuetype QueryDictData { // public LogicOperation operation; public long operation; }; typedef sequence QueryAttributeValueList; struct QueryAttribute { AttributeTag tag; QueryAttributeValueList value; }; typedef sequence QueryAttributeList; enum QueryType { QT_ATTRIBUTE , QT_KW , QT_PUBLISHED_SOURCE , QT_OLD_ATTRIBUTE , QT_OLD_FILTER , QT_COMMENTS , QT_REVIEW , QT_MAIL_LIST , QT_RUBRICATOR }; struct Query { QueryAttributeList attributes; QueryType type; }; interface SearchManager { long search (in Query search_query);//in GblDocList::DocListTree list_to_subsearch, in GCD::ProgressIndicator progress_ind, out long doc_count ); }; };