XmTransferDone

library call

`XmTransferDone`

A toolkit function that completes a data transfer

    #include <Xm/Xm.h>

    void XmTransferDone

    XtPointer transfer_id
    XmTransferStatus status

## DESCRIPTION

`XmTransferDone` completes an already-initiated data transfer operation. An application can call this routine from an `XmNdestinationCallback` procedure or any function called as a result, including the selection procedures called as a result of calls to `XmTransferValue`.

The caller of `XmTransferDone` supplies an identifier for the transfer operation and an indication of the completion status. `XmTransferDone` causes any remaining transfers for the operation to be discarded.

`transfer_id`

- Specifies a unique indentifier for the data transfer operation. The value must be the same as the value of the `transfer_id` member of the XmDestinationCallbackStruct passed to the `XmNdestinationCallback` procedure.

status

- Specifies the completion status of the data transfer. Following are the possible values:

  `XmTRANSFER_DONE_SUCCEED`

- The transfer was completed successfully. This status has the following additional effects:

  - For a move operation, the selection owner receives a request to convert the selection to the DELETE target.

  - If a TRANSACT operation is in progress, the owner receives a request to commit the transaction.

  - If a PERSIST or `_MOTIF_SNAPSHOT` operation is in progress, the owner receives a notification that the operation is finished.

  - The widget class destination procedure is not called.

`XmTRANSFER_DONE_FAIL`

- The transfer was completed unsuccessfully. This status has the following additional effects:

  - For a move operation, the selection owner does not receive a request to convert the selection to the DELETE target.

  - For a drag and drop operation, the DropTransfer's `XmNtransferStatus` is set to `XmTRANSFER_FAILURE`.

  - If a TRANSACT operation is in progress, the owner receives a request to abort the transaction.

  - If a PERSIST or `_MOTIF_SNAPSHOT` operation is in progress, the owner receives a notification that the operation is finished.

  - The widget class destination procedure is not called.

`XmTRANSFER_DONE_CONTINUE`

- This status has the same effect as `XmTRANSFER_DONE_SUCCEED`, except that if a PERSIST or `_MOTIF_SNAPSHOT` operation is in progress, the owner does not receive a notification that the operation is finished.

`XmTRANSFER_DONE_DEFAULT`

- The widget class destination procedure is called. Further effects depend on the actions of that procedure.

## RELATED

&cdeman.XmTransferSendRequest;, &cdeman.XmTransferStartRequest;, &cdeman.XmTransferStartRequest;, and &cdeman.XmTransferValue;.