tttk_Xt_input_handler(library call)

NAME
tttk_Xt_input_handler — Process ToolTalk events for Xt clients

SYNOPSIS

#include &<Tt/tttk.h>
void tttk_Xt_input_handler(
XtPointer procid,
int *source,
XtInputId *id);

DESCRIPTION

If procid is not NULL, tttk_Xt_input_handler passes it to tt_default_procid_set(3). The tttk_Xt_input_handler function then calls tt_message_receive(3), which retrieves the next message available, if any, for the default procid. If tt_message_receive(3) returns TT_ERR_NOMP, then tttk_Xt_input_handler closes the default procid with ttdt_close(3), and removes the input source *id with XtRemoveInput(3) if id is not zero. If a message is available and tt_message_receive(3) returns it (indicating it was not consumed by any message or pattern callback), then the ToolTalk service passes the message to tttk_message_abandon(3).

RETURN VALUE

The tttk_Xt_input_handler function returns no value.

APPLICATION USAGE

The application should use tttk_Xt_input_handler as its Xt input handler unless some messages are expected not to be consumed by callbacks. (The only messages that absolutely cannot be intercepted and consumed by callbacks are those that match observe signatures in a ptype or otype.)

EXAMPLES

int myTtFd;
char *myProcID;
myProcID = ttdt_open(&&myTtFd, "WhizzyCalc", "Acme", "1.0", 1);
/* ... */
/* Process the message that started us, if any */
tttk_Xt_input_handler(myProcID, 0, 0);
/* ... */
XtAppAddInput(myContext, myTtFd, (XtPointer)XtInputReadMask,
                tttk_Xt_input_handler, myProcID);

SEE ALSO

Tt/tttk.h - Tttttk(5), ttdt_close(3), tttk_message_abandon(3), tt_default_procid_set(3), tt_message_receive(3), XtAppAddInput(3), XtRemoveInput(3).