tttk_Xt_input_handler(3)

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(3X) 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
Tttttk(5), ttdt_close(3), tttk_message_abandon(3), tt_default_procid_set(3), tt_message_receive(3), XtAppAddInput(3X), XtRemoveInput(3X),