ttdt_subcontract_manage(library call)

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 notices transparently; otherwise, it passes them to cb. The Status notice is always passed to the callback.

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:

TT_DESKTOP_EINVAL
    Both the shell and cb arguments were NULL.

TT_ERR_NOMEM
    There is insufficient memory available to perform the function.

TT_ERR_NOMP
    The ttsession(1) process is not running and the ToolTalk service cannot restart it.

TT_ERR_POINTER
    The subcontract argument was not a valid Tt_message.

TT_ERR_PROCID
    The specified process identifier is out of date or invalid.

SEE ALSO

Tt/tttk.h - Tttttk(5), ttdt_session_join(3), tttk_message_destroy(3).