/* $TOG: Transfer.h /main/8 1998/02/03 14:55:22 csn $ */ /* * Motif * * Copyright (c) 1987-2012, The Open Group. All rights reserved. * * These libraries and programs are free software; you can * redistribute them and/or modify them under the terms of the GNU * Lesser General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) * any later version. * * These libraries and programs are distributed in the hope that * they will be useful, but WITHOUT ANY WARRANTY; without even the * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public * License along with these librararies and programs; if not, write * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth * Floor, Boston, MA 02110-1301 USA */ /* * HISTORY */ #ifndef _XmTransfer_H #define _XmTransfer_H #include #ifdef __cplusplus extern "C" { #endif /* Proc typedefs */ #define XmConvertCallbackProc XtCallbackProc #define XmSelectionDoneProc XtSelectionDoneProc #define XmCancelSelectionProc XtCancelConvertSelectionProc #define XmDestinationCallbackProc XtCallbackProc #define XmSelectionCallbackProc XtSelectionCallbackProc /* Flags */ typedef enum { XmTRANSFER_DONE_SUCCEED = 0, XmTRANSFER_DONE_FAIL, XmTRANSFER_DONE_CONTINUE, XmTRANSFER_DONE_DEFAULT } XmTransferStatus; enum { XmSELECTION_DEFAULT = 0, XmSELECTION_INCREMENTAL, XmSELECTION_PERSIST, XmSELECTION_SNAPSHOT, XmSELECTION_TRANSACT }; enum { XmCONVERTING_NONE = 0, XmCONVERTING_SAME = 1, XmCONVERTING_TRANSACT = 2, XmCONVERTING_PARTIAL = 4 }; enum { XmCONVERT_DEFAULT = 0, XmCONVERT_MORE, XmCONVERT_MERGE, XmCONVERT_REFUSE, XmCONVERT_DONE }; /* Callback structures */ typedef struct { int reason; XEvent *event; Atom selection; Atom target; XtPointer source_data; XtPointer location_data; int flags; XtPointer parm; int parm_format; unsigned long parm_length; Atom parm_type; int status; XtPointer value; Atom type; int format; unsigned long length; } XmConvertCallbackStruct; typedef struct { int reason; XEvent *event; Atom selection; XtEnum operation; int flags; XtPointer transfer_id; XtPointer destination_data; XtPointer location_data; Time time; } XmDestinationCallbackStruct; typedef struct { int reason; XEvent *event; Atom selection; Atom target; Atom type; XtPointer transfer_id; int flags; int remaining; XtPointer value; unsigned long length; int format; } XmSelectionCallbackStruct; typedef struct { int reason; XEvent *event; Atom selection; XtPointer transfer_id; XmTransferStatus status; XtPointer client_data; } XmTransferDoneCallbackStruct; typedef void (*XmSelectionFinishedProc)(Widget, XtEnum, XmTransferDoneCallbackStruct*); void XmTransferDone(XtPointer, XmTransferStatus); void XmTransferValue(XtPointer, Atom, XtCallbackProc, XtPointer, Time); void XmTransferSetParameters(XtPointer, XtPointer, int, unsigned long, Atom); void XmTransferStartRequest(XtPointer); void XmTransferSendRequest(XtPointer, Time); #ifdef __cplusplus } /* Close scope of 'extern "C"' declaration which encloses file. */ #endif #endif /* _XmTransfer_H */