ttmedia_Deposit(library call)

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:

TT_OK
    The operation completed successfully.

TT_DESKTOP_ETIMEDOUT
    No reply was received within ms_timeout milliseconds.

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_OVERFLOW
    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.)

TT_ERR_POINTER
    The pathname argument was NULL or was a ToolTalk error pointer.

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

SEE ALSO

Tt/tttk.h - Tttttk(5), ttmedia_load(3), ttmedia_load_reply(3), ttmedia_ptype_declare(3), ttdt_Save(3), tttk_block_while(3).