20002016 Ericsson AB. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. CosNotifyFilter_MappingFilter 2000-02-01 1.0
CosNotifyFilter_MappingFilter This module implements the OMG CosNotifyFilter::MappingFilter interface.

The main purpose of this module is to match events against associated constraints and return the value for the first constraint that returns true for the given event. If all constraints return false the default value will be returned.

To get access to the record definitions for the structures use:

-include_lib("cosNotification/include/*.hrl").

_get_constraint_grammar(MappingFilter) -> Grammar Return which type of Grammar the MappingFilter uses MappingFilter = #objref Grammar = string()

This operation returns which type of Grammar the MappingFilter uses. Currently, only "EXTENDED_TCL" is supported.

_get_value_type(MappingFilter) -> CORBA::TypeCode Return the CORBA::TypeCodeof the default value associated with the target object MappingFilter = #objref

This readonly attribute maintains the CORBA::TypeCode of the default value associated with the target object.

_get_default_value(MappingFilter) -> #any Return the #any{} default value associated with the target object MappingFilter = #objref

This readonly attribute maintains the #any{} default value associated with the target object.

add_mapping_constraints(MappingFilter, MappingConstraintPairSeq) -> Reply Add new mapping constraints MappingFilter = #objref MappingConstraintPairSeq = [MappingConstraintPair] MappingConstraintPair = #'CosNotifyFilter_MappingConstraintPair'{constraint_expression, result_to_set} constraint_expression = #'CosNotifyFilter_ConstraintExp'{event_types, constraint_expr} event_types = #'CosNotification_EventTypeSeq'{} constraint_expr = string() result_to_set = #any Reply = MappingConstraintInfoSeq | {'EXCEPTION', #'CosNotifyFilter_InvalidConstraint'{constr}} | {'EXCEPTION', #'CosNotifyFilter_InvalidValue'{constr, value}} constr = ConstraintExp ConstraintExp = #'CosNotifyFilter_ConstraintExp'{event_types, constraint_expr} event_types = #'CosNotification_EventTypeSeq'{} constraint_expr = string() MappingConstraintInfoSeq = [MappingConstraintInfo] MappingConstraintInfo = #'CosNotifyFilter_MappingConstraintInfo'{constraint_expression, constraint_id, value} constraint_expression = ConstraintExp constraint_id = long() value = #any

This operation add new mapping constraints, which will be used when trying to override Quality of Service settings defined in the given event. If a constraint return true the associated value will be returned, otherwise the default value.

modify_constraints(MappingFilter, ConstraintIDSeq, MappingConstraintInfoSeq) -> Reply Modify the constraints associated with the target object MappingFilter = #objref ConstraintIDSeq = [ConstraintID] ConstraintID = long() MappingConstraintInfoSeq = [MappingConstraintInfo] MappingConstraintInfo = #'CosNotifyFilter_MappingConstraintInfo'{constraint_expression, constraint_id, value} constraint_expression = ConstraintExp constraint_id = long() value = #any ConstraintInfoSeq = [ConstraintInfo] ConstraintInfo = #'CosNotifyFilter_ConstraintInfo'{constraint_expression, constraint_id} constraint_expression = ConstraintExp constraint_id = long() Reply = ok | {'EXCEPTION', #'CosNotifyFilter_InvalidConstraint'{constr}} | {'EXCEPTION', #'CosNotifyFilter_ConstraintNotFound'{id}} | {'EXCEPTION', #'CosNotifyFilter_InvalidValue'{constr, value}} constr = ConstraintExp id = long() value = #any ConstraintExp = #'CosNotifyFilter_ConstraintExp'{event_types, constraint_expr} event_types = #'CosNotification_EventTypeSeq'{} constraint_expr = string()

The ConstraintIDSeq supplied should relate to constraints the caller wishes to remove. If any of the supplied Id's are not found an exception will be raised. This operation also accepts a sequence of MappingConstraintInfo which will be added. If the target object cannot modify the constraints as requested an exception is raised describing which constraint, and why, could not be updated.

get_mapping_constraints(MappingFilter, ConstraintIDSeq) -> Reply Return the target object's associated constraints with given ID:s MappingFilter = #objref ConstraintIDSeq = [ConstraintID] ConstraintID = long() Reply = MappingConstraintInfoSeq | {'EXCEPTION', #'CosNotifyFilter_ConstraintNotFound'{id}} MappingConstraintInfoSeq = [MappingConstraintInfo] MappingConstraintInfo = #'CosNotifyFilter_MappingConstraintInfo'{constraint_expression, constraint_id, value} constraint_expression = ConstraintExp ConstraintExp = #'CosNotifyFilter_ConstraintExp'{event_types, constraint_expr} event_types = #'CosNotification_EventTypeSeq'{} constraint_expr = string() constraint_id = id = long() value = #any

When adding a new constraint a unique Id is returned, which is accepted as input for this operation. The associated constraint is returned, but if no such Id exists an exception is raised.

get_all_mapping_constraints(MappingFilter) -> MappingConstraintInfoSeq Return the target object's all associated constraints MappingFilter = #objref MappingConstraintInfoSeq = [MappingConstraintInfo] MappingConstraintInfo = #'CosNotifyFilter_MappingConstraintInfo'{constraint_expression, constraint_id, value} constraint_expression = ConstraintExp ConstraintExp = #'CosNotifyFilter_ConstraintExp'{event_types, constraint_expr} event_types = #'CosNotification_EventTypeSeq'{} constraint_expr = string() constraint_id = long() value = #any

This operation returns a sequence of all unique Id's associated with the target object. If no constraint have been added the sequence will be empty.

remove_all_mapping_constraints(MappingFilter) -> ok Remove all constraints associated with the target object MappingFilter = #objref

This operation removes all constraints associated with the target object.

destroy(MappingFilter) -> ok Terminate the target object MappingFilter = #objref

This operation terminates the target object. Remember to remove this Filter from the objects it have been associated with.

match(MappingFilter, Event) -> Reply Evaluate the given Any event with the Filter's constraints MappingFilter = #objref Event = #any Reply = {boolean(), #any} | {'EXCEPTION', #'CosNotifyFilter_UnsupportedFilterableData'{}}

This operation evaluates Any events with the Filter's constraints, and returns the value to use. The value is the default value if all constraints returns false and the value associated with the first constraint returning true.

match_structured(MappingFilter, Event) -> Reply Evaluate the given structured event with the Filter's constraints MappingFilter = #objref Event = #'CosNotification_StructuredEvent'{} Reply = {boolean(), #any} | {'EXCEPTION', #'CosNotifyFilter_UnsupportedFilterableData'{}}

Similar to match/2 but accepts a structured event as input.