ttmedia_Deposit(3)

NAME
ttmedia_Deposit - send a Deposit request to checkpoint a document

SYNOPSIS
#include <Tt/tttk.h>

Tt_status ttmedia_Deposit(Tt_message load_contract,
	const char *buffer_id,
	const char *media_type,
	const unsigned char *new_contents,
	int new_len,
	const char *pathname,
	XtAppContext app2run,
	int ms_timeout);

DESCRIPTION
The ttmedia_Deposit() function is used to perform a checkpoint save on a document that was the subject of a Media Exchange load_contract request such as Edit, Compose, or Open. To carry out a checkpoint save, the editor must send the new document contents back to the sender of load_contract.

The ttmedia_Deposit() function creates and sends a Deposit request and returns the success or failure of that request. The load_contract argument is the request that caused this editor to load the document. The buffer_id argument is the identifier of the buffer this editor created if the document was loaded via an Open request. If buffer_id is NULL, the the ToolTalk service gives the Deposit request a Tt_address of TT_HANDLER and sends it directly to the tt_message_sender() of load_contract; otherwise, the the ToolTalk service will address it as a TT_PROCEDURE and insert buffer_id into the request to match the pattern registered by the sender of the load_contract.

The ttmedia_Deposit() function uses the media_type argument as the vtype of the contents argument of the sent request, and new_contents and new_len as its value. The latter two must be zero if pathname is used to name a temporary file into which the editor will place the checkpointed document. The editor is free to remove the temporary file after the reply to the Deposit request is received; that is, after ttmedia_Deposit() has returned.

After the request is sent, ttmedia_Deposit() passes app2run and ms_timeout to tttk_block_while(3) to wait for the reply.

RETURN VALUE
Upon successful completion, the ttmedia_Deposit() function returns the status of the operation as one of the following Tt_status values:

    The operation completed successfully.
    No reply was received within ms_timeout milliseconds.
    There is insufficient memory available to perform the function.
    The ttsession(1) process is not running and the ToolTalk service cannot restart it.
    The ToolTalk service has more active messages than it can handle. (The maximum number of active messages is implementation specific, but is at least 2000.)
    The pathname argument was NULL or was a ToolTalk error pointer.
    The specified process identifier is out of date or invalid.

SEE ALSO
Tttttk(5), ttmedia_load(3), ttmedia_load_reply(3), ttmedia_ptype_declare(3), ttdt_Save(3), tttk_block_while(3).