INTERFACE IDLInterchange IMPORTS CosPropertyService FROM "CosPropertyService.isl" END; TYPE TString = ilu.CString; TYPE TOptionalSize = INTEGER; TYPE TCookie = CosPropertyService.Any; TYPE TCookies = SEQUENCE OF TCookie; TYPE TMessageID = TCookie; TYPE TItemClass = TString; TYPE EStatus = ENUMERATION IN-PROGRESS, UNKNOWN-MESSAGE-ID, COMPLETED END; TYPE TAccessOption = RECORD aTarget : CItem, aCookie : TCookie, anItemClass : TItemClass, aHints : CosPropertyService.Properties END; 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; TYPE TItemsCookieState = RECORD aClientCookies : TCookies, aStates : TItemsState END; TYPE TItemsACState = RECORD aACs : TAccessCapabilities, aState : TItemsState END; TYPE R-InvalidRequest = RECORD aReason : TString END; EXCEPTION InvalidRequest : R-InvalidRequest; TYPE R-InvalidQuery = RECORD aReason : TString END; EXCEPTION InvalidQuery : R-InvalidQuery; TYPE R-InvalidAuthenication = RECORD aReason : TString END; EXCEPTION InvalidAuthenication : R-InvalidAuthenication; TYPE R-InvalidPayment = RECORD aReason : TString END; EXCEPTION InvalidPayment : R-InvalidPayment; TYPE R-UnableToCompleteRequest = RECORD aReason : TString END; EXCEPTION UnableToCompleteRequest : R-UnableToCompleteRequest; TYPE R-InvalidProperties = RECORD aPropertyNames : CosPropertyService.PropertyNames END; EXCEPTION InvalidProperties : R-InvalidProperties; EXCEPTION InvalidMoreCookie; TYPE R-InvalidCookies = RECORD aCookies : TCookies END; EXCEPTION InvalidCookies : R-InvalidCookies; TYPE R-InvalidMessageID = RECORD aReason : TString END; EXCEPTION InvalidMessageID : R-InvalidMessageID; TYPE EExceptionReason = ENUMERATION kInvalidRequest, kInvalidQuery, kInvalidAuthenication, kInvalidPayment, kInvalidProperties, kInvalidMoreCookie, kInvalidCookies, kUnableToCompleteRequest, kInvalidMessageID END; TYPE TException = EExceptionReason UNION aRequestReason : TString = 0 END, aQueryReason : TString = 1 END, aAuthenicationReason : TString = 2 END, aPaymentReason : TString = 3 END, aProperties : CosPropertyService.PropertyNames = 4 END, aCookies : TCookies = 6 END, aUnableReason : TString = 7 END, aMessageIDReason : TString = 8 END END OTHERS; TYPE TExceptions = SEQUENCE OF TException; TYPE R-MultipleExceptions = RECORD aExceptions : TExceptions END; EXCEPTION MultipleExceptions : R-MultipleExceptions; TYPE CItem = OBJECT OPTIONAL SUPERCLASS CosPropertyService.PropertySet 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 SUPERCLASS CItem 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; TYPE CServicePreferences = OBJECT OPTIONAL SUPERCLASS CosPropertyService.PropertySet 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; 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; TYPE RPNProximityOperator = RECORD exclusion : BOOLEAN, distance : SHORT INTEGER, ordered : BOOLEAN, relationType : RPNNumericRelationType, unitcode : RPNProximityUnitCode END; TYPE RPNAttributeElement = RECORD aAttributeSet : CARDINAL, aType : CARDINAL, aValue : CARDINAL END; 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; TYPE RPNBooleanOperator = ENUMERATION kRPN-AND, kRPN-OR, kRPN-NOT END; TYPE RPNOperatorKey = ENUMERATION kRPN-BOOLEAN, kRPN-PROXIMITY, kRPN-RELATION END; TYPE RPNOperator = RPNOperatorKey UNION bool-oper : RPNBooleanOperator = 0 END, prox : RPNProximityOperator = 1 END, rel-oper : RPNRelationOperator = 2 END END; TYPE RPNTermValueKey = ENUMERATION kRPN-STRING, kRPN-NUMERIC, kRPN-REAL END; TYPE RPNTermValue = RPNTermValueKey UNION string-term : TString = 0 END, int-term : INTEGER = 1 END, real-term : REAL = 2 END END; TYPE RPNTerm = RECORD term : RPNTermValue, attributes : RPNAttributeList END; TYPE RPNOperandKey = ENUMERATION kRPNTERM, kRPNCOLLECTION, kRPNATTRIBUTE END; TYPE RPNOperand = RPNOperandKey UNION term : RPNTerm = 0 END, coll : CCollection = 1 END, attrs : RPNAttributeList = 2 END END; TYPE RPNStructureKey = ENUMERATION kRPNTREE, kRPNLEAF END; TYPE AnonType-1- = SEQUENCE OF RPNStructure; TYPE RPNStructure-RPNNode = RECORD op : RPNOperator, operands : AnonType-1- END; TYPE RPNStructure = RPNStructureKey UNION op : RPNOperand = 1 END, rpnRpnOp : RPNStructure-RPNNode = 0 END END; TYPE RPNQuery101 = RECORD attributeSetId : CARDINAL, rpn : RPNStructure END; TYPE RPNQuery0 = RECORD querytype : INTEGER, query : CosPropertyService.Any END; TYPE QueryType = ENUMERATION kQTYPE0, kQTYPE101 END; TYPE TQueryDescription = QueryType UNION QueryType0 : RPNQuery0 = 0 END, QueryType101 : RPNQuery101 = 1 END END; TYPE TQuerySummary = RECORD aQueryObject : CQuery, aQueryDescription : TQueryDescription, aItemPropertyNames : CosPropertyService.PropertyNames, aMoreSummary : CosPropertyService.Properties END; TYPE CQuery = OBJECT OPTIONAL SUPERCLASS CosPropertyService.PropertySet METHODS GetSummary () : TQuerySummary, GetQueryDescription () : TQueryDescription, SetQueryDescription (pQueryDescription : TQueryDescription), GetItemPropertyNames () : CosPropertyService.PropertyNames, SetItemPropertyNames (pItemPropertyNames : CosPropertyService.PropertyNames) END; TYPE CConstrainCollection = OBJECT OPTIONAL SUPERCLASS CCollection 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) END;