Designing SCOadmin object service agents

Filter procedures

Filter procedures evaluate binary algebraic functions given to them, and respond with a boolean True or False. When called, this function will be told which filter it is evaluating along with the name of the attribute and the data to be compared against. If some command calls the finished OSA with a filter command that is not implemented, or calls a filter with an attribute that will not accept that filter being worked on it (as defined in the ADT) it will receive an error message. Valid filter functions are: EQ, GE, LE, Subset, Superset, Intersect and Present.

If the class being designed is going to enable operation requests to be filtered, then the OSA will need to define a filter execution procedures. For each valid filter operation the filter execution procedure will have to determine if a given attribute satisfies that filter. Like the per object, per attribute and action execution procedures described in the previous section, filter also receives the same data structure all the other execution procedures do.

In the passed data structure, only these parameters are important to filter procedures:

class name
The class to which the specified object instance belongs. This accommodates sharing procedures between classes.

object name
The object instance being worked on. The OSA should check the existence or validity of the object instance.

filter name
The filter being worked on.

attribute token
The token for the attribute being worked on. The OSA must invoke its own get operation to retrieve information about the value contained in this attribute.

value list
The specified the list of values to compare with the specified attribute's values.

Next topic: List procedures
Previous topic: Action operations

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003