1 //Source file: policy_data.idl
2 //Date: 13 October 2004
3 //Policy Management Data Types for ES 203 915-13 V1.1.1, DES/TISPAN-01005-13-OSA, Parlay 5.0
5 #ifndef __POLICY_DATA_DEFINED
6 #define __POLICY_DATA_DEFINED
18 enum TpPolicyConditionListType
{
25 enum TpPolicyConditionType
{
27 P_PM_TIME_PERIOD_CONDITION
,
29 P_PM_EXPRESSION_CONDITION
33 enum TpPolicyActionType
{
36 P_PM_EXPRESSION_ACTION
40 struct TpPolicyEvent
{
42 TpDateAndTime TimeGenerated
;
43 TpAttributeSet Attributes
;
44 TpString EventDefinitionName
;
45 TpString EventDomainName
;
49 typedef TpString TpPolicyKeyword
;
52 typedef sequence
<TpPolicyKeyword
> TpPolicyKeywordSet
;
55 exception P_ACCESS_VIOLATION
{
56 TpString ExtraInformation
;
60 exception P_SYNTAX_ERROR
{
61 TpString ExtraInformation
;
65 exception P_NAME_SPACE_ERROR
{
66 TpString ExtraInformation
;
70 exception P_NO_TRANSACTION_IN_PROCESS
{
71 TpString ExtraInformation
;
75 exception P_TRANSACTION_IN_PROCESS
{
76 TpString ExtraInformation
;
80 typedef TpInt32 TpPolicyError
;
83 const TpPolicyError P_PM_ERROR_UNDEFINED
= 0;
85 const TpPolicyError P_PM_ERROR_INSUFFICIENT_INPUTS
= 1;
87 const TpPolicyError P_PM_ERROR_INVALID_INPUT_NAME
= 2;
89 const TpPolicyError P_PM_ERROR_INVALID_INPUT_VALUE
= 3;
91 const TpPolicyError P_PM_ERROR_EVALUATION_ERROR
= 5;
93 const TpPolicyError P_PM_ERROR_DB_ERROR
= 4;
95 enum TpPolicyTypeInfo
{
100 P_PM_STRUCTURED_TYPE
,
105 struct TpPolicyNameValue
{
111 typedef sequence
<TpPolicyNameValue
> TpPolicyNameValueList
;
114 union TpPolicyType
switch(TpPolicyTypeInfo
) {
115 case P_PM_SIMPLE_TYPE
: TpSimpleAttributeTypeInfo SimpleType
;
116 case P_PM_TYPE_RECORD
:
117 struct TpPolicyRecordType
{
118 sequence
<TpString
> Names
;
119 sequence
<TpPolicyType
> Types
;
122 struct TpPolicyListType
{
123 sequence
<TpPolicyType
,1> ElementType
;
125 case P_PM_STRUCTURED_TYPE
: TpStructuredAttributeType StructuredType
;
126 case P_PM_XML_TYPE
: TpXMLString XMLString
;
132 TpPolicyType VarType
;
137 typedef sequence
<TpPolicyVar
> TpPolicyVarSet
;