agent: Add new file-xfer statuses

Introduce new error statuses to report more info to clients:
VD_AGENT_FILE_XFER_STATUS_SESSION_LOCKED,
VD_AGENT_FILE_XFER_STATUS_VDAGENT_NOT_CONNECTED,
VD_AGENT_FILE_XFER_STATUS_DISABLED

These are only sent to clients that feature
VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS capability.
Acked-by: Pavel Grunt <pgrunt@redhat.com>
This commit is contained in:
Jakub Janků 2017-06-06 23:21:13 +02:00 committed by Pavel Grunt
parent 8b025c4ed0
commit 86c53ee5bf

View File

@ -100,6 +100,9 @@ enum {
VD_AGENT_FILE_XFER_STATUS_ERROR,
VD_AGENT_FILE_XFER_STATUS_SUCCESS,
VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE,
VD_AGENT_FILE_XFER_STATUS_SESSION_LOCKED,
VD_AGENT_FILE_XFER_STATUS_VDAGENT_NOT_CONNECTED,
VD_AGENT_FILE_XFER_STATUS_DISABLED,
};
typedef struct SPICE_ATTR_PACKED VDAgentFileXferStatusMessage {
@ -108,8 +111,11 @@ typedef struct SPICE_ATTR_PACKED VDAgentFileXferStatusMessage {
/* Used to send additional data for detailed error messages
* to clients with VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS capability.
* Type of data varies with the result:
* result : data type
* result : data type (NULL if no data)
* VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE : uint64_t
* VD_AGENT_FILE_XFER_STATUS_SESSION_LOCKED : NULL
* VD_AGENT_FILE_XFER_STATUS_VDAGENT_NOT_CONNECTED : NULL
* VD_AGENT_FILE_XFER_STATUS_DISABLED : NULL
*/
uint8_t data[0];
} VDAgentFileXferStatusMessage;