
20.9.1 Uses of Interposition
Typically, it is application-level code that uses interposition. But, in general, any client’s
creator may want to use interposition. There are many reasons why an application might
want to interpose a function in the call path to a client’s event handler.
• An application may want to use the fact that a client has received a particular event as a
trigger for some application-specific processing.
• An application may want to filter the events to a client, thus modifying the client’s behav-
ior.
• An application may want to extend the functionality of a client by handling events that
the client is not programmed to handle.
XView window objects utilize the Notifier for much of their communication and cooperation.
Thus, if an application wanted to monitor the user actions directed to a particular window, the
application would use interposition to get into the flow of control.
20.9.2 Interface to Interposition
The Notifier supports interposition by keeping track of how interposition functions are
ordered for each type of event for each client. Here is a typical example of interposition:
• An application creates a client. The client has set up its own client event handler using
notify_set_event_func(). XView does this internally, using a default event han-
dler, when you create a window based object.
• The application tells the Notifier that it wants to interpose a function in ...