[Spice-devel] [PATCH spice-html5 1/2] main: Add messages for file transfer detailed errors

Tomáš Bohdálek tom.bohdalek at gmail.com
Mon Sep 18 08:17:49 UTC 2017


Hi Jeremy,

on success we don't display anything, so we can send message with success
to the console.

I will fix incorrect '>=' in spicemsg.

Tomáš

2017-09-15 20:13 GMT+02:00 Jeremy White <jwhite at codeweavers.com>:

> Hi Tomáš,
>
> On 09/06/2017 03:52 AM, Tomáš Bohdálek wrote:
> > ---
> >  enums.js    | 12 ++++++++++--
> >  main.js     | 16 +++++++++++++++-
> >  spicemsg.js |  4 ++++
> >  3 files changed, 29 insertions(+), 3 deletions(-)
> >
> > diff --git a/enums.js b/enums.js
> > index d5a9003..7154595 100644
> > --- a/enums.js
> > +++ b/enums.js
> > @@ -369,12 +369,20 @@ var VD_AGENT_CAP_MOUSE_STATE            = 0,
> >      VD_AGENT_CAP_GUEST_LINEEND_LF       = 8,
> >      VD_AGENT_CAP_GUEST_LINEEND_CRLF     = 9,
> >      VD_AGENT_CAP_MAX_CLIPBOARD          = 10,
> > -    VD_AGENT_END_CAP                    = 11;
> > +    VD_AGENT_CAP_AUDIO_VOLUME_SYNC      = 11,
> > +    VD_AGENT_CAP_MONITORS_CONFIG_POSITION  = 12,
> > +    VD_AGENT_CAP_FILE_XFER_DISABLED        = 13,
> > +    VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS = 14,
> > +    VD_AGENT_END_CAP                       = 15;
> >
> >  var VD_AGENT_FILE_XFER_STATUS_CAN_SEND_DATA = 0,
> >      VD_AGENT_FILE_XFER_STATUS_CANCELLED     = 1,
> >      VD_AGENT_FILE_XFER_STATUS_ERROR         = 2,
> > -    VD_AGENT_FILE_XFER_STATUS_SUCCESS       = 3;
> > +    VD_AGENT_FILE_XFER_STATUS_SUCCESS       = 3,
> > +    VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE    = 4,
> > +    VD_AGENT_FILE_XFER_STATUS_SESSION_LOCKED      = 5,
> > +    VD_AGENT_FILE_XFER_STATUS_AGENT_NOT_CONNECTED = 6,
> > +    VD_AGENT_FILE_XFER_STATUS_DISABLED            = 7;
> >
> >  var SPICE_STREAM_FLAGS_TOP_DOWN = (1 << 0);
>
> This bit does not apply for me, as the master does appear to have that
> top down flag.
>
> >
> > diff --git a/main.js b/main.js
> > index 173ff97..0237f0e 100644
> > --- a/main.js
> > +++ b/main.js
> > @@ -344,7 +344,8 @@ SpiceMainConn.prototype.announce_agent_capabilities
> = function(request)
> >  {
> >      var caps = new VDAgentAnnounceCapabilities(request, (1 <<
> VD_AGENT_CAP_MOUSE_STATE) |
> >                                                          (1 <<
> VD_AGENT_CAP_MONITORS_CONFIG) |
> > -                                                        (1 <<
> VD_AGENT_CAP_REPLY));
> > +                                                        (1 <<
> VD_AGENT_CAP_REPLY) |
> > +                                                        (1 <<
> VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS));
> >      this.send_agent_message(VD_AGENT_ANNOUNCE_CAPABILITIES, caps);
> >  }
> >
> > @@ -387,11 +388,24 @@ SpiceMainConn.prototype.handle_file_xfer_status =
> function(file_xfer_status)
> >              break;
> >          case VD_AGENT_FILE_XFER_STATUS_SUCCESS:
> >              break;
> > +        case VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE:
> > +            xfer_error = "not enough space in the remote system";
> > +            break;
> > +        case VD_AGENT_FILE_XFER_STATUS_SESSION_LOCKED:
> > +            xfer_error = "remote system is locked";
> > +            break;
> > +        case VD_AGENT_FILE_XFER_STATUS_AGENT_NOT_CONNECTED:
> > +            xfer_error = "spice angent is not connected";
> > +            break;
> > +        case VD_AGENT_FILE_XFER_STATUS_DISABLED:
> > +            xfer_error = "file transfer is disabled on the remote
> system";
> > +            break;
> >          default:
> >              xfer_error = "unhandled status type: " +
> file_xfer_status.result;
> >              break;
> >      }
> >
> > +    xfer_error = "File transfer: " + xfer_error;
> >      this.file_xfer_completed(xfer_task, xfer_error)
>
> Question:  What do we display on success?  It seems like it might be an
> opportunity to put in a nicer message.
>
> >  }
> >
> > diff --git a/spicemsg.js b/spicemsg.js
> > index 3619996..7ebc64b 100644
> > --- a/spicemsg.js
> > +++ b/spicemsg.js
> > @@ -577,6 +577,10 @@ VDAgentFileXferStatusMessage.prototype =
> >          var dv = new SpiceDataView(a);
> >          this.id = dv.getUint32(at, true); at += 4;
> >          this.result = dv.getUint32(at, true); at += 4;
> > +        if (this.result >= VD_AGENT_FILE_XFER_STATUS_NOT_ENOUGH_SPACE)
>
> Shouldn't that be '==', not '>=' ?
>
> > +        {
> > +            this.data = dv.getUint64(at, true); at += 8;
> > +        }
>
> Cheers,
>
> Jeremy
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170918/30980ee3/attachment.html>


More information about the Spice-devel mailing list