//Source file: policy_interfaces.idl //Date: 13 October 2004 //Policy Management Interfaces for ES 203 915-13 V1.1.1, DES/TISPAN-01005-13-OSA, Parlay 5.0 #ifndef __POLICY_INTERFACES_DEFINED #define __POLICY_INTERFACES_DEFINED #include "osa.idl" #include "policy_data.idl" module org { module csapi { module policy { module provisioning { interface IpPolicyCondition ; interface IpPolicyAction ; }; struct TpPolicyConditionListElement { provisioning::IpPolicyCondition Condition; TpInt32 GroupNumber; TpBoolean Negated; }; typedef sequence TpPolicyConditionList; struct TpPolicyActionListElement { provisioning::IpPolicyAction Action; TpInt32 SequenceNumber; }; typedef sequence TpPolicyActionList; module evaluation { interface IpAppPolicyDomain : IpInterface { void reportNotification ( in TpAssignmentID assignmentID , in TpPolicyEvent event ); void evalPolicyRes ( in TpAssignmentID assignmentID, in TpPolicyNameValueList outputVariables ); void evalPolicyErr ( in TpAssignmentID assignmentID, in TpPolicyError error ); }; interface IpPolicyEvalManager : IpService { TpPolicyNameValueList evalPolicy ( in TpString domainName, in TpString signatureName, in TpPolicyNameValueList inputVariables ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); TpAssignmentID evalPolicyReq ( in TpString domainName, in TpString signatureName, in TpPolicyNameValueList inputVariables, in IpAppPolicyDomain appPolicyDomain ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void abortEvalPolicyReq ( in TpString domainName, in TpAssignmentID assignmentID ) raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID); void generateEvent ( in TpString domainName, in TpString eventDefinitionName, in TpAttributeSet attributes ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); TpAssignmentID createNotification ( in TpString domainName, in IpAppPolicyDomain appPolicyDomain, in TpStringSet events ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void destroyNotification ( in TpAssignmentID assignmentID, in TpStringSet events ) raises (TpCommonExceptions,P_SYNTAX_ERROR); }; }; module provisioning { interface IpPolicyRepository ; interface IpPolicyManager ; interface IpPolicyEventDefinition ; interface IpPolicyCondition ; interface IpPolicyAction ; interface IpPolicyTimePeriodCondition ; interface IpPolicyGroup ; interface IpPolicyDomain ; interface IpPolicyEventAction ; interface IpPolicy : IpInterface { TpAttribute getAttribute ( in TpString attributeName ) raises (TpCommonExceptions,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void setAttribute ( in TpAttribute targetAttribute ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_NO_TRANSACTION_IN_PROCESS); TpAttributeSet getAttributes ( in TpStringList attributeNames ) raises (TpCommonExceptions); void setAttributes ( in TpAttributeSet targetAttributes ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_NO_TRANSACTION_IN_PROCESS); }; interface IpPolicyIterator : IpPolicy { TpStringSet getList ( in TpInt32 startIndex, in TpInt32 numberRequested ) raises (TpCommonExceptions); }; interface IpPolicyRepository : IpPolicy { IpPolicyRepository getParentRepository () raises (TpCommonExceptions); IpPolicyRepository createRepository ( in TpString repositoryName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyRepository getRepository ( in TpString repositoryName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeRepository ( in TpString repositoryName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getRepositoryCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getRepositoryIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyCondition createCondition ( in TpString conditionName, in TpPolicyConditionType conditionType, in TpAttributeSet conditionAttributes ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyCondition getCondition ( in TpString conditionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeCondition ( in TpString conditionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getConditionCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getConditionIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyAction createAction ( in TpString actionName, in TpPolicyActionType actionType, in TpAttributeSet actionAttributes ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyAction getAction ( in TpString actionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeAction ( in TpString actionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getActionCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getActionIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); }; interface IpPolicyRule : IpPolicy { IpPolicyGroup getParentGroup () raises (TpCommonExceptions); IpPolicyDomain getParentDomain () raises (TpCommonExceptions); IpPolicyCondition createCondition ( in TpString conditionName, in TpPolicyConditionType conditionType, in TpAttributeSet conditionAttributes ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyCondition getCondition ( in TpString conditionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeCondition ( in TpString conditionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getConditionCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getConditionIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyAction createAction ( in TpString actionName, in TpPolicyActionType actionType, in TpAttributeSet actionAttributes ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyAction getAction ( in TpString actionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeAction ( in TpString actionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getActionCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getActionIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); void setValidityPeriodConditionByName ( in TpString conditionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); void setValidityPeriodCondition ( in IpPolicyTimePeriodCondition conditionReference ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_NO_TRANSACTION_IN_PROCESS); IpPolicyTimePeriodCondition getValidityPeriodCondition () raises (TpCommonExceptions); void unsetValidityPeriodCondition () raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_NO_TRANSACTION_IN_PROCESS); void setConditionList ( in TpPolicyConditionList conditionList ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpPolicyConditionList getConditionList () raises (TpCommonExceptions,P_ACCESS_VIOLATION); void setActionList ( in TpPolicyActionList actionList ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpPolicyActionList getActionList () raises (TpCommonExceptions,P_ACCESS_VIOLATION); }; interface IpPolicyManager : IpService { IpPolicyDomain createDomain ( in TpString domainName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyDomain getDomain ( in TpString domainName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeDomain ( in TpString domainName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getDomainCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getDomainIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); TpStringSet findMatchingDomains ( in TpAttributeSet matchingAttributes ) raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyRepository createRepository ( in TpString repositoryName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyRepository getRepository ( in TpString repositoryName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeRepository ( in TpString repositoryName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getRepositoryCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getRepositoryIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); void startTransaction () raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_TRANSACTION_IN_PROCESS); TpBoolean commitTransaction () raises (TpCommonExceptions,P_NO_TRANSACTION_IN_PROCESS); void abortTransaction () raises (TpCommonExceptions,P_NO_TRANSACTION_IN_PROCESS); }; interface IpPolicyGroup : IpPolicy { IpPolicyDomain getParentDomain () raises (TpCommonExceptions); IpPolicyGroup getParentGroup () raises (TpCommonExceptions); IpPolicyGroup createGroup ( in TpString groupName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyGroup getGroup ( in TpString groupName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeGroup ( in TpString groupName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getGroupCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getGroupIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyRule createRule ( in TpString ruleName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyRule getRule ( in TpString ruleName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeRule ( in TpString ruleName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getRuleCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getRuleIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); }; interface IpPolicyEventDefinition : IpPolicy { void setRequiredAttributes ( in TpAttributeSet requiredAttributes ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_NO_TRANSACTION_IN_PROCESS); void setOptionalAttributes ( in TpAttributeSet optionalAttributes ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_NO_TRANSACTION_IN_PROCESS); TpAttributeSet getRequiredAttributes () raises (TpCommonExceptions); TpAttributeSet getOptionalAttributes () raises (TpCommonExceptions); IpPolicyDomain getParentDomain () raises (TpCommonExceptions); }; interface IpPolicyCondition : IpPolicy { IpPolicyRepository getParentRepository () raises (TpCommonExceptions); IpPolicyRule getParentRule () raises (TpCommonExceptions); }; interface IpPolicyTimePeriodCondition : IpPolicyCondition { }; interface IpPolicyExpressionCondition : IpPolicyCondition { }; interface IpPolicyEventCondition : IpPolicyCondition { }; interface IpPolicyAction : IpPolicy { IpPolicyRepository getParentRepository () raises (TpCommonExceptions); IpPolicyRule getParentRule () raises (TpCommonExceptions); }; interface IpPolicyExpressionAction : IpPolicyAction { }; interface IpPolicyEventAction : IpPolicyAction { }; interface IpPolicySignature : IpPolicy { void setInputVariables ( in TpStringSet inputVariables ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); void setOutputVariables ( in TpStringSet outputVariables ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpStringSet getInputVariables () raises (TpCommonExceptions); TpStringSet getOutputVariables () raises (TpCommonExceptions); void setGroupNames ( in TpStringSet groupNames ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); void setPolicyRoles ( in TpStringSet roleNames ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpStringSet getGroupNames () raises (TpCommonExceptions); TpStringSet getPolicyRoles () raises (TpCommonExceptions); IpPolicyDomain getParentDomain () raises (TpCommonExceptions); }; interface IpPolicyDomain : IpPolicy { IpPolicyDomain getParentDomain () raises (TpCommonExceptions); IpPolicyDomain createDomain ( in TpString domainName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyDomain getDomain ( in TpString domainName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeDomain ( in TpString domainName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getDomainCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getDomainIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyGroup createGroup ( in TpString groupName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyGroup getGroup ( in TpString groupName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeGroup ( in TpString groupName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getGroupCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getGroupIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyRule createRule ( in TpString ruleName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyRule getRule ( in TpString ruleName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeRule ( in TpString ruleName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getRuleCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getRuleIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyEventDefinition createEventDefinition ( in TpString eventDefinitionName, in TpStringSet requiredAttributes, in TpStringSet optionalAttributes ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicyEventDefinition getEventDefinition ( in TpString eventDefinitionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeEventDefinition ( in TpString eventDefinitionName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getEventDefinitionCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getEventDefinitionIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); void createVariableSet ( in TpString variableSetName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpPolicyVarSet getVariableSet ( in TpString variableSetName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeVariableSet ( in TpString variableSetName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getVariableSetCount () raises (TpCommonExceptions,P_ACCESS_VIOLATION); IpPolicyIterator getVariableSetIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); void createVariable ( in TpString variableSetName, in TpString variableName, in TpPolicyType variableType ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); void setVariableValue ( in TpString variableSetName, in TpString variableName, in TpAny variableValue ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpPolicyType getVariableType ( in TpString variableSetName, in TpString variableName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); TpAny getVariableValue ( in TpString variableSetName, in TpString variableName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); TpPolicyVar getVariable ( in TpString variableSetName, in TpString variableName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeVariable ( in TpString variablSetName, in TpString variableName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicySignature createSignature ( in TpString signatureName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); IpPolicySignature getSignature ( in TpString signatureName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR); void removeSignature ( in TpString signatureName ) raises (TpCommonExceptions,P_ACCESS_VIOLATION,P_SYNTAX_ERROR,P_NAME_SPACE_ERROR,P_NO_TRANSACTION_IN_PROCESS); TpInt32 getSignatureCount () raises (TpCommonExceptions); IpPolicyIterator getSignatureIterator () raises (TpCommonExceptions,P_ACCESS_VIOLATION); }; }; }; }; }; #endif