ttdt_subcontract_manage(3)

NAME
ttdt_subcontract_manage - manage an outstanding request

SYNOPSIS
#include <Tt/tttk.h>

Tt_pattern *ttdt_subcontract_manage(Tt_message subcontract,
	Ttdt_contract_cb cb,
	Widget shell,
	void *clientdata);

DESCRIPTION
The ttdt_subcontract_manage() function allows a requester to manage the standard Desktop interactions with the tool that is handling the request. The ttdt_subcontract_manage() function registers in the default session for TT_HANDLER- addressed requests Get_Geometry and Get_XInfo, and Status notices.

If shell is not NULL, the ToolTalk service handles the Get_Geometry and Get_XInfo, and Status notices transparently; otherwise, it passes them to cb.

See ttdt_session_join(3) for a description of a Ttdt_contract_cb callback.

If subcontract is destroyed by tttk_message_destroy(), then the patterns will also be destroyed; otherwise, the caller is responsible for iterating over the array and destroying each pattern.

RETURN VALUE
Upon successful completion, the ttdt_subcontract_manage() function returns a null-terminated array of Tt_pattern, and associates this array with subcontract; otherwise, it returns an error pointer. The application can use tt_ptr_error(3) to extract one of the following Tt_status values from the returned handle:

    Both the shell and cb arguments were NULL.
    There is insufficient memory available to perform the function.
    The ttsession(1) process is not running and the ToolTalk service cannot restart it.
    The subcontract argument was not a valid Tt_message.
    The specified process identifier is out of date or invalid.

SEE ALSO
Tttttk(5), ttdt_session_join(3), tttk_message_destroy(3).