XMTRANSFERDONE(3)

πŸ“¦
version 2.5.2 Β· 2 versions
, in alpine 3.24, arch rolling, centos-stream 9, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0

πŸŽ€ NAME πŸŽ€

XmTransferDone β€” a toolkit function that completes a data transfer πŸ’…

Like, this is the library call girlies' manual, bestie. We're in XmTransferDone(library call) territory and it's iconic here. ✨


🌸 SYNOPSIS 🌸

#include <Xm/Xm.h>

void XmTransferDone(
XtPointer transfer_id,
XmTransferStatus status);

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so XmTransferDone completes an already-initiated data transfer operation. It's the "we're done here, wrap it up" moment. 🫢

An application can call this routine from an XmNdestinationCallback procedure, or literally any function that gets called as a result of it β€” including the selection procedures that get called as a result of calls to XmTransferValue. No cap. πŸ”₯

Whoever calls XmTransferDone has to hand over two things: an identifier for the transfer operation, and an indication of the completion status. And heads up β€” XmTransferDone causes any remaining transfers for the operation to be discarded. Gone. Bye. πŸ’€

  • transfer_id β€” Specifies a unique identifier 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. Like, it has to match, fr fr, no swapping in a random one. πŸ™ˆ
  • status β€” Specifies the completion status of the data transfer. Here are the possible values, bestie:
    • 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. It's giving "same vibe, one tiny plot twist". ✨
    • XmTRANSFER_DONE_DEFAULT β€” The widget class destination procedure is called. Further effects depend on the actions of that procedure. So like, whatever that procedure decides to do is the whole story. 🀷

XmTransferSendRequest(3), XmTransferStartRequest(3), XmTransferStartRequest(3), and XmTransferValue(3). (Yes, XmTransferStartRequest(3) is listed twice β€” the original said it twice, so we say it twice. Periodt. πŸ‘‘)


And that's the whole page, bestie β€” straight outta the library call manual, XmTransferDone(library call), and you absolutely ate it. Go finish those transfers. πŸ¦‹πŸ’–πŸŒˆ