INTERFACE IDLInterchange IMPORTS SourceMetadata FROM "./SourceMetadata.idl", CosPropertyService FROM "./CosPropertyService.idl" END; TYPE TString = ilu.CString TYPEID "IDL:IDLInterchange/TString:1.0"; TYPE TOptionalSize = INTEGER TYPEID "IDL:IDLInterchange/TOptionalSize:1.0"; TYPE TCookie = CosPropertyService.Any TYPEID "IDL:IDLInterchange/TCookie:1.0"; TYPE TCookies = SEQUENCE OF TCookie; TYPE TMessageID = TCookie TYPEID "IDL:IDLInterchange/TMessageID:1.0"; TYPE TItemClass = TString TYPEID "IDL:IDLInterchange/TItemClass:1.0"; TYPE EStatus = ENUMERATION IN-PROGRESS, UNKNOWN-MESSAGE-ID, COMPLETED END TYPEID "IDL:IDLInterchange/EStatus:1.0"; TYPE TAccessOption = RECORD aTarget : CItem, aCookie : TCookie, anItemClass : TItemClass, aHints : CosPropertyService.Properties END TYPEID "IDL:IDLInterchange/TAccessOption:1.0"; TYPE TAccessCapability = SEQUENCE OF TAccessOption; TYPE TAccessCapabilities = SEQUENCE OF TAccessCapability; TYPE TPropertyValues = SEQUENCE OF CosPropertyService.Any; TYPE TPropertyValuesList = SEQUENCE OF TPropertyValues; TYPE PropertyNamesList = SEQUENCE OF CosPropertyService.PropertyNames; TYPE TItemsState = RECORD aNames : CosPropertyService.PropertyNames, anItemsState : TPropertyValuesList END TYPEID "IDL:IDLInterchange/TItemsState:1.0"; TYPE TItemsCookieState = RECORD aClientCookies : TCookies, aStates : TItemsState END TYPEID "IDL:IDLInterchange/TItemsCookieState:1.0"; TYPE TItemsACState = RECORD aACs : TAccessCapabilities, aState : TItemsState END TYPEID "IDL:IDLInterchange/TItemsACState:1.0"; TYPE R-InvalidRequest = RECORD aReason : TString END TYPEID "IDL:IDLInterchange/InvalidRequest:1.0"; EXCEPTION InvalidRequest : R-InvalidRequest; TYPE R-InvalidQuery = RECORD aReason : TString END TYPEID "IDL:IDLInterchange/InvalidQuery:1.0"; EXCEPTION InvalidQuery : R-InvalidQuery; TYPE R-InvalidAuthenication = RECORD aReason : TString END TYPEID "IDL:IDLInterchange/InvalidAuthenication:1.0"; EXCEPTION InvalidAuthenication : R-InvalidAuthenication; TYPE R-InvalidPayment = RECORD aReason : TString END TYPEID "IDL:IDLInterchange/InvalidPayment:1.0"; EXCEPTION InvalidPayment : R-InvalidPayment; TYPE R-UnableToCompleteRequest = RECORD aReason : TString END TYPEID "IDL:IDLInterchange/UnableToCompleteRequest:1.0"; EXCEPTION UnableToCompleteRequest : R-UnableToCompleteRequest; TYPE R-InvalidProperties = RECORD aPropertyNames : CosPropertyService.PropertyNames END TYPEID "IDL:IDLInterchange/InvalidProperties:1.0"; EXCEPTION InvalidProperties : R-InvalidProperties; EXCEPTION InvalidMoreCookie; TYPE R-InvalidCookies = RECORD aCookies : TCookies END TYPEID "IDL:IDLInterchange/InvalidCookies:1.0"; EXCEPTION InvalidCookies : R-InvalidCookies; TYPE R-InvalidMessageID = RECORD aReason : TString END TYPEID "IDL:IDLInterchange/InvalidMessageID:1.0"; EXCEPTION InvalidMessageID : R-InvalidMessageID; TYPE R-InvalidCollection = RECORD aReason : TString END TYPEID "IDL:IDLInterchange/InvalidCollection:1.0"; EXCEPTION InvalidCollection : R-InvalidCollection; TYPE EExceptionReason = ENUMERATION kInvalidRequest, kInvalidQuery, kInvalidAuthenication, kInvalidPayment, kInvalidProperties, kInvalidMoreCookie, kInvalidCookies, kUnableToCompleteRequest, kInvalidMessageID END TYPEID "IDL:IDLInterchange/EExceptionReason:1.0"; TYPE TException = EExceptionReason UNION aRequestReason : TString = kInvalidRequest END, aQueryReason : TString = kInvalidQuery END, aAuthenicationReason : TString = kInvalidAuthenication END, aPaymentReason : TString = kInvalidPayment END, aProperties : CosPropertyService.PropertyNames = kInvalidProperties END, aCookies : TCookies = kInvalidCookies END, aUnableReason : TString = kUnableToCompleteRequest END, aMessageIDReason : TString = kInvalidMessageID END END OTHERS TYPEID "IDL:IDLInterchange/TException:1.0"; TYPE TExceptions = SEQUENCE OF TException; TYPE R-MultipleExceptions = RECORD aExceptions : TExceptions END TYPEID "IDL:IDLInterchange/MultipleExceptions:1.0"; EXCEPTION MultipleExceptions : R-MultipleExceptions; TYPE CItem = OBJECT OPTIONAL SUPERTYPES CosPropertyService.PropertySet END TYPEID "IDL:IDLInterchange/CItem:1.0" METHODS GetAccessCapability () : TAccessCapability, AddAccessOptions (pOptions : TAccessCapability), RemoveAccessOptions (pOptions : TAccessCapability), ASYNCHRONOUS RequestItemProperties (pMessageID : TMessageID, pPropertyNames : CosPropertyService.PropertyNames, pResultTarget : CItem), ASYNCHRONOUS SetItemProperties (pMessageID : TMessageID, pItem : CosPropertyService.Properties), GetStatus (pMessageID : TMessageID) : EStatus, ASYNCHRONOUS CompletedRequest (pMessageID : TMessageID), ASYNCHRONOUS RaiseException (pMessageID : TMessageID, pException : TException), CancelRequest (pMessageID : TMessageID) RAISES InvalidMessageID END END; TYPE CCollection = OBJECT OPTIONAL SUPERTYPES CItem END TYPEID "IDL:IDLInterchange/CCollection:1.0" METHODS GetTotalItems () : TOptionalSize, ASYNCHRONOUS SetTotalItems (pTotalSize : TOptionalSize), GetItems (pPropertyNames : CosPropertyService.PropertyNames, pMoreCookie : TCookie, pNumberOfItems : TOptionalSize, OUT pNewMoreCookie : TAccessCapability) : TItemsACState RAISES InvalidRequest, InvalidProperties, InvalidAuthenication, InvalidPayment, InvalidMoreCookie, MultipleExceptions END, ASYNCHRONOUS RequestItems (pMessageID : TMessageID, pPropertyNames : CosPropertyService.PropertyNames, pMoreCookie : TCookie, pNumberItems : TOptionalSize, pResultTarget : CCollection), ASYNCHRONOUS AddItems (pMessageID : TMessageID, pItems : TItemsACState, pNewMoreCookie : TAccessCapability), GetItemsProperties (pPropertyNames : CosPropertyService.PropertyNames, pServerCookies : TCookies) : TItemsState RAISES InvalidRequest, InvalidAuthenication, InvalidPayment, InvalidCookies, InvalidProperties, MultipleExceptions END, ASYNCHRONOUS RequestItemsProperties (pMessageID : TMessageID, pPropertyNames : CosPropertyService.PropertyNames, pServerCookies : TCookies, pClientCookies : TCookies, pResultTarget : CCollection), ASYNCHRONOUS SetItemsProperties (pMessageID : TMessageID, pItems : TItemsCookieState), GetItemsPropertyNames (pCookies : TCookies) : PropertyNamesList RAISES InvalidRequest, InvalidCookies, InvalidAuthenication, InvalidPayment, MultipleExceptions END, ASYNCHRONOUS RequestItemsPropertyNames (pMessageID : TMessageID, pCookies : TCookies, pResultTarget : CCollection), ASYNCHRONOUS SetItemsPropertyNames (pMessageID : TMessageID, pNamesList : PropertyNamesList), ASYNCHRONOUS RaiseExceptions (pMessageID : TMessageID, pExceptions : TExceptions), RemoveItems (pCookies : TCookies) RAISES InvalidRequest, InvalidAuthenication, MultipleExceptions END END; TYPE TServicePrefSummary = RECORD aServicePreferences : CServicePreferences, aNumberOfItems : TOptionalSize, aMoreSummary : CosPropertyService.Properties END TYPEID "IDL:IDLInterchange/TServicePrefSummary:1.0"; TYPE CServicePreferences = OBJECT OPTIONAL SUPERTYPES CosPropertyService.PropertySet END TYPEID "IDL:IDLInterchange/CServicePreferences:1.0" METHODS GetSummary () : TServicePrefSummary, GetNumberOfItems () : TOptionalSize, SetNumberOfItems (pNumberOfItems : TOptionalSize) END; TYPE RPNNumericRelationType = ENUMERATION kRPN-PROX-LESSTHAN, kRPN-PROX-LESSTHANOREQUAL, kRPN-PROX-EQUAL, kRPN-PROX-GREATERTHANOREQUAL, kRPN-PROX-GREATERTHAN, kRPN-PROX-NOTEQUAL END TYPEID "IDL:IDLInterchange/RPNNumericRelationType:1.0"; TYPE RPNProximityUnitCode = ENUMERATION kRPN-CHARACTER, kRPN-WORD, kRPN-SENTENCE, kRPN-PARAGRAPH, kRPN-SECTION, kRPN-CHAPTER, kRPN-DOCUMENT, kRPN-ELEMENT, kELEMENT, kRPN-SUBELEMENT, kRPN-ELEMENTTYPE, kRPN-BYTE END TYPEID "IDL:IDLInterchange/RPNProximityUnitCode:1.0"; TYPE RPNProximityOperator = RECORD exclusion : BOOLEAN, distance : SHORT INTEGER, ordered : BOOLEAN, relationType : RPNNumericRelationType, unitcode : RPNProximityUnitCode END TYPEID "IDL:IDLInterchange/RPNProximityOperator:1.0"; TYPE RPNAttributeElement = RECORD aAttributeSet : CARDINAL, aType : CARDINAL, aValue : CARDINAL END TYPEID "IDL:IDLInterchange/RPNAttributeElement:1.0"; TYPE RPNAttributeList = SEQUENCE OF RPNAttributeElement; TYPE RPNRelationOperator = ENUMERATION kRPN-LESSTHAN, kRPN-LESSTHANOREQUAL, kRPN-EQUAL, kRPN-GREATERTHANOREQUAL, kRPN-GREATERTHAN, kRPN-NOTEQUAL, kRPN-PHONETIC, kRPN-STEM, kRPN-RELEVANCE, kRPN-ALWAYSMATCHES, kRPN-CONTAINS END TYPEID "IDL:IDLInterchange/RPNRelationOperator:1.0"; TYPE RPNBooleanOperator = ENUMERATION kRPN-AND, kRPN-OR, kRPN-NOT END TYPEID "IDL:IDLInterchange/RPNBooleanOperator:1.0"; TYPE RPNOperatorKey = ENUMERATION kRPN-BOOLEAN, kRPN-PROXIMITY, kRPN-RELATION END TYPEID "IDL:IDLInterchange/RPNOperatorKey:1.0"; TYPE RPNOperator = RPNOperatorKey UNION bool-oper : RPNBooleanOperator = kRPN-BOOLEAN END, prox : RPNProximityOperator = kRPN-PROXIMITY END, rel-oper : RPNRelationOperator = kRPN-RELATION END END TYPEID "IDL:IDLInterchange/RPNOperator:1.0"; TYPE RPNTermValueKey = ENUMERATION kRPN-STRING, kRPN-NUMERIC, kRPN-REAL END TYPEID "IDL:IDLInterchange/RPNTermValueKey:1.0"; TYPE RPNTermValue = RPNTermValueKey UNION string-term : TString = kRPN-STRING END, int-term : INTEGER = kRPN-NUMERIC END, real-term : REAL = kRPN-REAL END END TYPEID "IDL:IDLInterchange/RPNTermValue:1.0"; TYPE RPNTerm = RECORD term : RPNTermValue, attributes : RPNAttributeList END TYPEID "IDL:IDLInterchange/RPNTerm:1.0"; TYPE RPNOperandKey = ENUMERATION kRPNTERM, kRPNCOLLECTION, kRPNATTRIBUTE END TYPEID "IDL:IDLInterchange/RPNOperandKey:1.0"; TYPE RPNOperand = RPNOperandKey UNION term : RPNTerm = kRPNTERM END, coll : CCollection = kRPNCOLLECTION END, attrs : RPNAttributeList = kRPNATTRIBUTE END END TYPEID "IDL:IDLInterchange/RPNOperand:1.0"; TYPE RPNStructureKey = ENUMERATION kRPNTREE, kRPNLEAF END TYPEID "IDL:IDLInterchange/RPNStructureKey:1.0"; TYPE AnonType-1- = SEQUENCE OF RPNStructure; TYPE RPNStructure-RPNNode = RECORD op : RPNOperator, operands : AnonType-1- END TYPEID "IDL:IDLInterchange/RPNStructure/RPNNode:1.0"; TYPE RPNStructure = RPNStructureKey UNION op : RPNOperand = kRPNLEAF END, rpnRpnOp : RPNStructure-RPNNode = kRPNTREE END END TYPEID "IDL:IDLInterchange/RPNStructure:1.0"; TYPE RPNQuery101 = RECORD attributeSetId : CARDINAL, rpn : RPNStructure END TYPEID "IDL:IDLInterchange/RPNQuery101:1.0"; TYPE RPNQuery0 = RECORD querytype : INTEGER, query : CosPropertyService.Any END TYPEID "IDL:IDLInterchange/RPNQuery0:1.0"; TYPE QueryType = ENUMERATION kQTYPE0, kQTYPE101 END TYPEID "IDL:IDLInterchange/QueryType:1.0"; TYPE TQueryDescription = QueryType UNION QueryType0 : RPNQuery0 = kQTYPE0 END, QueryType101 : RPNQuery101 = kQTYPE101 END END TYPEID "IDL:IDLInterchange/TQueryDescription:1.0"; TYPE TQuerySummary = RECORD aQueryObject : CQuery, aQueryDescription : TQueryDescription, aItemPropertyNames : CosPropertyService.PropertyNames, aMoreSummary : CosPropertyService.Properties END TYPEID "IDL:IDLInterchange/TQuerySummary:1.0"; TYPE CQuery = OBJECT OPTIONAL SUPERTYPES CosPropertyService.PropertySet END TYPEID "IDL:IDLInterchange/CQuery:1.0" METHODS GetSummary () : TQuerySummary, GetQueryDescription () : TQueryDescription, SetQueryDescription (pQueryDescription : TQueryDescription), GetItemPropertyNames () : CosPropertyService.PropertyNames, SetItemPropertyNames (pItemPropertyNames : CosPropertyService.PropertyNames) END; TYPE AnonType-2- = SEQUENCE OF TString; TYPE CConstrainCollection = OBJECT OPTIONAL SUPERTYPES CCollection END TYPEID "IDL:IDLInterchange/CConstrainCollection:1.0" METHODS Constrain (pQuerySummary : TQuerySummary, pServicePrefSummary : TServicePrefSummary, OUT pTotalSize : TOptionalSize, OUT pMoreCookie : TAccessCapability) : TItemsACState RAISES InvalidRequest, InvalidQuery, InvalidAuthenication, InvalidPayment, MultipleExceptions END, ASYNCHRONOUS RequestConstrain (pMessageID : TMessageID, pQuerySummary : TQuerySummary, pServicePrefSummary : TServicePrefSummary, pResultTarget : CCollection), GetProxyMetadata (pSubCollPath : TString) : SourceMetadata.SourceMetadata RAISES InvalidCollection END, ASYNCHRONOUS ReloadProxyMetadata (), GetProxySubcollectionNames () : AnonType-2- END;