PtTransportCtrl_t

Transport-control structure used in a drag-and-drop operation

Synopsis:

typedef struct ptdatatransctrl PtTransportCtrl_t;

struct ptdatatransctrl {
    PtTransportHdr_t     hdr;
    PhTransportCtrl_t    *ctrl;
    PtWidget_t           *widget;
    PtRequestables_t     *requestables;
    PtRequestedLink_t    *requested;
    PhTransportLink_t    *response;
    PhTransportLink_t    *last_response;
    PtConnector_t        *connector;
    PtConnectionServer_t *connection;
    int (*complete)(
             PtTransportCtrl_t *tctrl,
             short unsigned event_subtype );
    void                 *data;
    };

Description:

The PtTransportCtrl_t structure is used with the Photon transport mechanism in a drag-and-drop operation. Your application can pack multiple pieces of data into a single control structure and transport them simultaneously. Data can be packed inline or can be requestable.

The PtTransportCtrl_t structure includes:

hdr
Information about the connection and the size of the structure.
ctrl
A pointer to the low-level transport control structure. For more information, see PhTransportCtrl_t.
widget
A pointer to the widget that's currently involved in a drag-and-drop operation, or NULL if there's no operation in progress.
requestables
A list of descriptions of requestable data.
requested
A list of data that the destination of the operation has requested.
response
A queue of response data (structures of type PhTransportLink_t) that can satisfy the destination's requests. The source of the operation builds this list by calling PtAddResponseType().
last_response
A pointer to the last addition to the response queue.
connector
A pointer to the connector. For more information, see PtConnectorCreate().
connection
A pointer to the connection structure, if a drag-and-drop operation is in progress and the destination has connected.
complete
A function to be called when all the drag-and-drop transactions (for a single drag-and-drop operation) are complete.
data
A pointer to the inline data being dragged.

Classification:

Photon

See also:

PhTransportCtrl_t, PhTransportLink_t, PtAddResponseType(), PtCreateTransportCtrl(), PtInitDnd(), PtReleaseTransportCtrl(), PtTransportType()

Drag and Drop chapter of the Photon Programmer's Guide