VirtualBox

Changeset 94914 in vbox


Ignore:
Timestamp:
May 8, 2022 7:18:06 PM (3 years ago)
Author:
vboxsync
Message:

Main/src-client/GuestDnDTargetImpl.cpp: Adjust to the new rules wrt. to rc -> hrc,vrc usage, ​bugref:10223

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/GuestDnDTargetImpl.cpp

    r93115 r94914  
    9494
    9595        AutoCaller autoCaller(pThis);
    96         if (FAILED(autoCaller.rc()))
     96        if (autoCaller.isNotOk())
    9797            return;
    9898
     
    194194
    195195    AutoCaller autoCaller(this);
    196     if (FAILED(autoCaller.rc())) return autoCaller.rc();
     196    if (autoCaller.isNotOk()) return autoCaller.rc();
    197197
    198198    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
     
    211211
    212212    AutoCaller autoCaller(this);
    213     if (FAILED(autoCaller.rc())) return autoCaller.rc();
     213    if (autoCaller.isNotOk()) return autoCaller.rc();
    214214
    215215    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
     
    228228
    229229    AutoCaller autoCaller(this);
    230     if (FAILED(autoCaller.rc())) return autoCaller.rc();
     230    if (autoCaller.isNotOk()) return autoCaller.rc();
    231231
    232232    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
     
    243243
    244244    AutoCaller autoCaller(this);
    245     if (FAILED(autoCaller.rc())) return autoCaller.rc();
     245    if (autoCaller.isNotOk()) return autoCaller.rc();
    246246
    247247    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
     
    273273
    274274    AutoCaller autoCaller(this);
    275     if (FAILED(autoCaller.rc())) return autoCaller.rc();
     275    if (autoCaller.isNotOk()) return autoCaller.rc();
    276276
    277277    /* Default action is ignoring. */
     
    308308    Assert(m_lstFmtOffered.size());
    309309
    310     HRESULT hr = S_OK;
     310    HRESULT hrc = S_OK;
    311311
    312312    /* Adjust the coordinates in a multi-monitor setup. */
    313     int rc = GuestDnDInst()->adjustScreenCoordinates(aScreenId, &aX, &aY);
    314     if (RT_SUCCESS(rc))
     313    int vrc = GuestDnDInst()->adjustScreenCoordinates(aScreenId, &aX, &aY);
     314    if (RT_SUCCESS(vrc))
    315315    {
    316316        GuestDnDMsg Msg;
     
    326326        Msg.appendUInt32(cbFormats);
    327327
    328         rc = GuestDnDInst()->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
    329         if (RT_SUCCESS(rc))
     328        vrc = GuestDnDInst()->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
     329        if (RT_SUCCESS(vrc))
    330330        {
    331331            if (RT_SUCCESS(m_pState->waitForGuestResponse()))
     
    334334    }
    335335
    336     if (RT_FAILURE(rc))
    337         hr = VBOX_E_IPRT_ERROR;
    338 
    339     if (SUCCEEDED(hr))
     336    if (RT_FAILURE(vrc))
     337        hrc = VBOX_E_IPRT_ERROR;
     338
     339    if (SUCCEEDED(hrc))
    340340    {
    341341        if (aResultAction)
     
    343343    }
    344344
    345     LogFlowFunc(("hr=%Rhrc, resAction=%ld\n", hr, resAction));
    346     return hr;
     345    LogFlowFunc(("hrc=%Rhrc, resAction=%ld\n", hrc, resAction));
     346    return hrc;
    347347#endif /* VBOX_WITH_DRAG_AND_DROP */
    348348}
     
    361361
    362362    AutoCaller autoCaller(this);
    363     if (FAILED(autoCaller.rc())) return autoCaller.rc();
     363    if (autoCaller.isNotOk()) return autoCaller.rc();
    364364
    365365    /* Default action is ignoring. */
     
    386386    const uint32_t cbFormats = (uint32_t)strFormats.length() + 1; /* Include terminating zero. */
    387387
    388     HRESULT hr = S_OK;
    389 
    390     int rc = GuestDnDInst()->adjustScreenCoordinates(aScreenId, &aX, &aY);
    391     if (RT_SUCCESS(rc))
     388    HRESULT hrc = S_OK;
     389
     390    int vrc = GuestDnDInst()->adjustScreenCoordinates(aScreenId, &aX, &aY);
     391    if (RT_SUCCESS(vrc))
    392392    {
    393393        GuestDnDMsg Msg;
     
    403403        Msg.appendUInt32(cbFormats);
    404404
    405         rc = GuestDnDInst()->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
    406         if (RT_SUCCESS(rc))
     405        vrc = GuestDnDInst()->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
     406        if (RT_SUCCESS(vrc))
    407407        {
    408408            GuestDnDState *pState = GuestDnDInst()->getState();
     
    412412    }
    413413
    414     if (RT_FAILURE(rc))
    415         hr = VBOX_E_IPRT_ERROR;
    416 
    417     if (SUCCEEDED(hr))
     414    if (RT_FAILURE(vrc))
     415        hrc = VBOX_E_IPRT_ERROR;
     416
     417    if (SUCCEEDED(hrc))
    418418    {
    419419        if (aResultAction)
     
    421421    }
    422422
    423     LogFlowFunc(("hr=%Rhrc, *pResultAction=%ld\n", hr, resAction));
    424     return hr;
     423    LogFlowFunc(("hrc=%Rhrc, *pResultAction=%ld\n", hrc, resAction));
     424    return hrc;
    425425#endif /* VBOX_WITH_DRAG_AND_DROP */
    426426}
     
    434434
    435435    AutoCaller autoCaller(this);
    436     if (FAILED(autoCaller.rc())) return autoCaller.rc();
    437 
    438     HRESULT hr = S_OK;
     436    if (autoCaller.isNotOk()) return autoCaller.rc();
     437
     438    HRESULT hrc = S_OK;
    439439
    440440    GuestDnDMsg Msg;
     
    443443        Msg.appendUInt32(0); /** @todo ContextID not used yet. */
    444444
    445     int rc = GuestDnDInst()->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
    446     if (RT_SUCCESS(rc))
     445    int vrc = GuestDnDInst()->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
     446    if (RT_SUCCESS(vrc))
    447447    {
    448448        GuestDnDState *pState = GuestDnDInst()->getState();
     
    451451    }
    452452
    453     if (RT_FAILURE(rc))
    454         hr = VBOX_E_IPRT_ERROR;
    455 
    456     LogFlowFunc(("hr=%Rhrc\n", hr));
    457     return hr;
     453    if (RT_FAILURE(vrc))
     454        hrc = VBOX_E_IPRT_ERROR;
     455
     456    LogFlowFunc(("hrc=%Rhrc\n", hrc));
     457    return hrc;
    458458#endif /* VBOX_WITH_DRAG_AND_DROP */
    459459}
     
    793793     *
    794794     ** @todo Support more than one format; add a format<->function handler concept. Later. */
    795     int rc;
     795    int vrc;
    796796    const bool fHasURIList = std::find(m_lstFmtOffered.begin(),
    797797                                       m_lstFmtOffered.end(), "text/uri-list") != m_lstFmtOffered.end();
    798798    if (fHasURIList)
    799799    {
    800         rc = i_sendTransferData(pCtx, msTimeout);
     800        vrc = i_sendTransferData(pCtx, msTimeout);
    801801    }
    802802    else
    803803    {
    804         rc = i_sendRawData(pCtx, msTimeout);
    805     }
    806 
    807     if (RT_FAILURE(rc))
    808     {
    809         LogRel(("DnD: Sending data to guest failed with %Rrc\n", rc));
     804        vrc = i_sendRawData(pCtx, msTimeout);
     805    }
     806
     807    if (RT_FAILURE(vrc))
     808    {
     809        LogRel(("DnD: Sending data to guest failed with %Rrc\n", vrc));
    810810        sendCancel();
    811811    }
     
    814814    i_reset();
    815815
    816     LogFlowFuncLeaveRC(rc);
    817     return rc;
     816    LogFlowFuncLeaveRC(vrc);
     817    return vrc;
    818818}
    819819
     
    831831    size_t   cbData = pCtx->Meta.cbData;
    832832
    833     int rc = VINF_SUCCESS;
     833    int vrc = VINF_SUCCESS;
    834834
    835835    const size_t  cbFmt   = pCtx->Meta.strFmt.length() + 1; /* Include terminator. */
     
    873873        }
    874874
    875         rc = GuestDnDInst()->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
    876         if (RT_FAILURE(rc))
     875        vrc = GuestDnDInst()->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
     876        if (RT_FAILURE(vrc))
    877877            break;
    878878
     
    882882    }
    883883
    884     if (RT_SUCCESS(rc))
    885     {
    886         rc = updateProgress(pCtx, pCtx->pState, (uint32_t)pCtx->Meta.cbData);
    887         AssertRC(rc);
    888     }
    889 
    890     LogFlowFuncLeaveRC(rc);
    891     return rc;
     884    if (RT_SUCCESS(vrc))
     885    {
     886        vrc = updateProgress(pCtx, pCtx->pState, (uint32_t)pCtx->Meta.cbData);
     887        AssertRC(vrc);
     888    }
     889
     890    LogFlowFuncLeaveRC(vrc);
     891    return vrc;
    892892}
    893893
     
    924924    Msg.appendUInt32(0);                                                /** @todo cbChecksum; not used yet. */
    925925
    926     int rc = GuestDnDInst()->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
    927 
    928     LogFlowFuncLeaveRC(rc);
    929     return rc;
     926    int vrc = GuestDnDInst()->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
     927
     928    LogFlowFuncLeaveRC(vrc);
     929    return vrc;
    930930}
    931931
     
    980980    AssertPtrReturn(pcszDstPath, VERR_INVALID_POINTER);
    981981
    982     int rc = VINF_SUCCESS;
     982    int vrc = VINF_SUCCESS;
    983983
    984984    if (!DnDTransferObjectIsOpen(pObj))
     
    986986        LogRel2(("DnD: Opening host file '%s' for transferring to guest\n", pcszSrcPath));
    987987
    988         rc = DnDTransferObjectOpen(pObj, RTFILE_O_OPEN | RTFILE_O_READ | RTFILE_O_DENY_WRITE, 0 /* fMode */,
    989                                    DNDTRANSFEROBJECT_FLAGS_NONE);
    990         if (RT_FAILURE(rc))
    991             LogRel(("DnD: Opening host file '%s' failed, rc=%Rrc\n", pcszSrcPath, rc));
    992     }
    993 
    994     if (RT_FAILURE(rc))
    995         return rc;
     988        vrc = DnDTransferObjectOpen(pObj, RTFILE_O_OPEN | RTFILE_O_READ | RTFILE_O_DENY_WRITE, 0 /* fMode */,
     989                                    DNDTRANSFEROBJECT_FLAGS_NONE);
     990        if (RT_FAILURE(vrc))
     991            LogRel(("DnD: Opening host file '%s' failed, rc=%Rrc\n", pcszSrcPath, vrc));
     992    }
     993
     994    if (RT_FAILURE(vrc))
     995        return vrc;
    996996
    997997    bool fSendData = false;
    998     if (RT_SUCCESS(rc))
     998    if (RT_SUCCESS(vrc)) /** @todo r=aeichner Could save an identation level here as there is a error check above already... */
    999999    {
    10001000        if (m_pState->m_uProtocolVersion >= 2)
     
    10401040    }
    10411041
    1042     if (   RT_SUCCESS(rc)
     1042    if (   RT_SUCCESS(vrc)
    10431043        && fSendData)
    10441044    {
    1045         rc = i_sendFileData(pCtx, pObj, pMsg);
    1046     }
    1047 
    1048     if (RT_FAILURE(rc))
    1049         LogRel(("DnD: Sending host file '%s' to guest failed, rc=%Rrc\n", pcszSrcPath, rc));
    1050 
    1051     LogFlowFuncLeaveRC(rc);
    1052     return rc;
     1045        vrc = i_sendFileData(pCtx, pObj, pMsg);
     1046    }
     1047
     1048    if (RT_FAILURE(vrc))
     1049        LogRel(("DnD: Sending host file '%s' to guest failed, rc=%Rrc\n", pcszSrcPath, vrc));
     1050
     1051    LogFlowFuncLeaveRC(vrc);
     1052    return vrc;
    10531053}
    10541054
     
    10991099    uint32_t cbRead;
    11001100
    1101     int rc = DnDTransferObjectRead(pObj, pvBuf, cbBuf, &cbRead);
    1102     if (RT_SUCCESS(rc))
     1101    int vrc = DnDTransferObjectRead(pObj, pvBuf, cbBuf, &cbRead);
     1102    if (RT_SUCCESS(vrc))
    11031103    {
    11041104        LogFlowFunc(("cbBufe=%zu, cbRead=%RU32\n", cbBuf, cbRead));
     
    11231123        }
    11241124
    1125         int rc2 = updateProgress(pCtx, pCtx->pState, (uint32_t)cbRead);
    1126         AssertRC(rc2);
     1125        int vrc2 = updateProgress(pCtx, pCtx->pState, (uint32_t)cbRead);
     1126        AssertRC(vrc2);
    11271127
    11281128        /* DnDTransferObjectRead() will return VINF_EOF if reading is complete. */
    1129         if (rc == VINF_EOF)
    1130             rc = VINF_SUCCESS;
     1129        if (vrc == VINF_EOF)
     1130            vrc = VINF_SUCCESS;
    11311131
    11321132        if (DnDTransferObjectIsComplete(pObj)) /* Done reading? */
     
    11341134    }
    11351135    else
    1136         LogRel(("DnD: Reading from host file '%s' failed, rc=%Rrc\n", pcszSrcPath, rc));
    1137 
    1138     LogFlowFuncLeaveRC(rc);
    1139     return rc;
     1136        LogRel(("DnD: Reading from host file '%s' failed, vrc=%Rrc\n", pcszSrcPath, vrc));
     1137
     1138    LogFlowFuncLeaveRC(vrc);
     1139    return vrc;
    11401140}
    11411141
     
    11631163    LogFlowFunc(("pThis=%p, pList=%p, uMsg=%RU32\n", pThis, pList, uMsg));
    11641164
    1165     int  rc      = VINF_SUCCESS;
    1166     int  rcGuest = VINF_SUCCESS; /* Contains error code from guest in case of VERR_GSTDND_GUEST_ERROR. */
    1167     bool fNotify = false;
     1165    int  vrc      = VINF_SUCCESS;
     1166    int  vrcGuest = VINF_SUCCESS; /* Contains error code from guest in case of VERR_GSTDND_GUEST_ERROR. */
     1167    bool fNotify  = false;
    11681168
    11691169    switch (uMsg)
     
    11741174
    11751175        case GUEST_DND_FN_DISCONNECT:
    1176             rc = VERR_CANCELLED;
     1176            vrc = VERR_CANCELLED;
    11771177            break;
    11781178
     
    11881188                GuestDnDMsg *pMsg = new GuestDnDMsg();
    11891189
    1190                 rc = pThis->i_sendTransferListObject(pCtx, pList, pMsg);
    1191                 if (rc == VINF_EOF) /* Transfer complete? */
     1190                vrc = pThis->i_sendTransferListObject(pCtx, pList, pMsg);
     1191                if (vrc == VINF_EOF) /* Transfer complete? */
    11921192                {
    11931193                    LogFlowFunc(("Last transfer item processed, bailing out\n"));
    11941194                }
    1195                 else if (RT_SUCCESS(rc))
     1195                else if (RT_SUCCESS(vrc))
    11961196                {
    1197                     rc = pThis->msgQueueAdd(pMsg);
    1198                     if (RT_SUCCESS(rc)) /* Return message type & required parameter count to the guest. */
     1197                    vrc = pThis->msgQueueAdd(pMsg);
     1198                    if (RT_SUCCESS(vrc)) /* Return message type & required parameter count to the guest. */
    11991199                    {
    12001200                        LogFlowFunc(("GUEST_DND_FN_GET_NEXT_HOST_MSG -> %RU32 (%RU32 params)\n", pMsg->getType(), pMsg->getCount()));
     
    12041204                }
    12051205
    1206                 if (   RT_FAILURE(rc)
    1207                     || rc == VINF_EOF) /* Transfer complete? */
     1206                if (   RT_FAILURE(vrc)
     1207                    || vrc == VINF_EOF) /* Transfer complete? */
    12081208                {
    12091209                    delete pMsg;
     
    12131213            catch(std::bad_alloc & /*e*/)
    12141214            {
    1215                 rc = VERR_NO_MEMORY;
     1215                vrc = VERR_NO_MEMORY;
    12161216            }
    12171217            break;
     
    12321232            }
    12331233
    1234             rc = pCtx->pState->setProgress(100, DND_PROGRESS_ERROR, pCBData->rc,
    1235                                            GuestDnDTarget::i_guestErrorToString(pCBData->rc));
    1236             if (RT_SUCCESS(rc))
     1234            vrc = pCtx->pState->setProgress(100, DND_PROGRESS_ERROR, pCBData->rc,
     1235                                            GuestDnDTarget::i_guestErrorToString(pCBData->rc));
     1236            if (RT_SUCCESS(vrc))
    12371237            {
    1238                 rc      = VERR_GSTDND_GUEST_ERROR;
    1239                 rcGuest = pCBData->rc;
     1238                vrc      = VERR_GSTDND_GUEST_ERROR;
     1239                vrcGuest = pCBData->rc;
    12401240            }
    12411241            break;
     
    12701270                    pThis->msgQueueClear();
    12711271
    1272                     rc = VERR_INVALID_PARAMETER;
     1272                    vrc = VERR_INVALID_PARAMETER;
    12731273                }
    12741274
    1275                 if (RT_SUCCESS(rc))
     1275                if (RT_SUCCESS(vrc))
    12761276                {
    12771277                    LogFlowFunc(("Returning uMsg=%RU32\n", uMsg));
    1278                     rc = HGCM::Message::CopyParms(pCBData->paParms, pCBData->cParms, pMsg->getParms(), pMsg->getCount(),
    1279                                                   false /* fDeepCopy */);
    1280                     if (RT_SUCCESS(rc))
     1278                    vrc = HGCM::Message::CopyParms(pCBData->paParms, pCBData->cParms, pMsg->getParms(), pMsg->getCount(),
     1279                                                   false /* fDeepCopy */);
     1280                    if (RT_SUCCESS(vrc))
    12811281                    {
    12821282                        pCBData->cParms = pMsg->getCount();
     
    12841284                    }
    12851285                    else
    1286                         LogFlowFunc(("Copying parameters failed with rc=%Rrc\n", rc));
     1286                        LogFlowFunc(("Copying parameters failed with vrc=%Rrc\n", vrc));
    12871287                }
    12881288            }
    12891289            else
    1290                 rc = VERR_NO_DATA;
    1291 
    1292             LogFlowFunc(("Processing next message ended with rc=%Rrc\n", rc));
     1290                vrc = VERR_NO_DATA;
     1291
     1292            LogFlowFunc(("Processing next message ended with vrc=%Rrc\n", vrc));
    12931293            break;
    12941294        }
    12951295        default:
    1296             rc = VERR_NOT_SUPPORTED;
    1297             break;
    1298     }
    1299 
    1300     int rcToGuest = VINF_SUCCESS; /* Status which will be sent back to the guest. */
     1296            vrc = VERR_NOT_SUPPORTED;
     1297            break;
     1298    }
     1299
     1300    int vrcToGuest = VINF_SUCCESS; /* Status which will be sent back to the guest. */
    13011301
    13021302    /*
    13031303     * Resolve errors.
    13041304     */
    1305     switch (rc)
     1305    switch (vrc)
    13061306    {
    13071307        case VINF_SUCCESS:
     
    13161316
    13171317            /* The guest expects VERR_NO_DATA if the transfer is complete. */
    1318             rcToGuest = VERR_NO_DATA;
     1318            vrcToGuest = VERR_NO_DATA;
    13191319            break;
    13201320        }
     
    13221322        case VERR_GSTDND_GUEST_ERROR:
    13231323        {
    1324             LogRel(("DnD: Guest reported error %Rrc, aborting transfer to guest\n", rcGuest));
     1324            LogRel(("DnD: Guest reported error %Rrc, aborting transfer to guest\n", vrcGuest));
    13251325            break;
    13261326        }
     
    13291329        {
    13301330            LogRel2(("DnD: Transfer to guest canceled\n"));
    1331             rcToGuest = VERR_CANCELLED; /* Also cancel on guest side. */
     1331            vrcToGuest = VERR_CANCELLED; /* Also cancel on guest side. */
    13321332            break;
    13331333        }
     
    13351335        default:
    13361336        {
    1337             LogRel(("DnD: Host error %Rrc occurred, aborting transfer to guest\n", rc));
    1338             rcToGuest = VERR_CANCELLED; /* Also cancel on guest side. */
    1339             break;
    1340         }
    1341     }
    1342 
    1343     if (RT_FAILURE(rc))
     1337            LogRel(("DnD: Host error %Rrc occurred, aborting transfer to guest\n", vrc));
     1338            vrcToGuest = VERR_CANCELLED; /* Also cancel on guest side. */
     1339            break;
     1340        }
     1341    }
     1342
     1343    if (RT_FAILURE(vrc))
    13441344    {
    13451345        /* Unregister this callback. */
    13461346        AssertPtr(pCtx->pState);
    1347         int rc2 = pCtx->pState->setCallback(uMsg, NULL /* PFNGUESTDNDCALLBACK */);
    1348         AssertRC(rc2);
     1347        int vrc2 = pCtx->pState->setCallback(uMsg, NULL /* PFNGUESTDNDCALLBACK */);
     1348        AssertRC(vrc2);
    13491349
    13501350        /* Let the waiter(s) know. */
     
    13521352    }
    13531353
    1354     LogFlowFunc(("fNotify=%RTbool, rc=%Rrc, rcToGuest=%Rrc\n", fNotify, rc, rcToGuest));
     1354    LogFlowFunc(("fNotify=%RTbool, vrc=%Rrc, vrcToGuest=%Rrc\n", fNotify, vrc, vrcToGuest));
    13551355
    13561356    if (fNotify)
    13571357    {
    1358         int rc2 = pCtx->EventCallback.Notify(rc); /** @todo Also pass guest error back? */
    1359         AssertRC(rc2);
    1360     }
    1361 
    1362     LogFlowFuncLeaveRC(rc);
    1363     return rcToGuest; /* Tell the guest. */
     1358        int vrc2 = pCtx->EventCallback.Notify(vrc); /** @todo Also pass guest error back? */
     1359        AssertRC(vrc2);
     1360    }
     1361
     1362    LogFlowFuncLeaveRC(vrc);
     1363    return vrcToGuest; /* Tell the guest. */
    13641364}
    13651365
     
    13761376    AssertPtr(pCtx->pState);
    13771377
    1378 #define REGISTER_CALLBACK(x)                                                 \
    1379     do {                                                                     \
    1380         rc = pCtx->pState->setCallback(x, i_sendTransferDataCallback, pCtx); \
    1381         if (RT_FAILURE(rc))                                                  \
    1382             return rc;                                                       \
     1378#define REGISTER_CALLBACK(x)                                                  \
     1379    do {                                                                      \
     1380        vrc = pCtx->pState->setCallback(x, i_sendTransferDataCallback, pCtx); \
     1381        if (RT_FAILURE(vrc))                                                  \
     1382            return vrc;                                                       \
    13831383    } while (0)
    13841384
    13851385#define UNREGISTER_CALLBACK(x)                        \
    13861386    do {                                              \
    1387         int rc2 = pCtx->pState->setCallback(x, NULL); \
    1388         AssertRC(rc2);                                \
     1387        int vrc2 = pCtx->pState->setCallback(x, NULL); \
     1388        AssertRC(vrc2);                                \
    13891389    } while (0)
    13901390
    1391     int rc = pCtx->Transfer.init(mData.mcbBlockSize);
    1392     if (RT_FAILURE(rc))
    1393         return rc;
    1394 
    1395     rc = pCtx->EventCallback.Reset();
    1396     if (RT_FAILURE(rc))
    1397         return rc;
     1391    int vrc = pCtx->Transfer.init(mData.mcbBlockSize);
     1392    if (RT_FAILURE(vrc))
     1393        return vrc;
     1394
     1395    vrc = pCtx->EventCallback.Reset();
     1396    if (RT_FAILURE(vrc))
     1397        return vrc;
    13981398
    13991399    /*
     
    14161416         * Extract transfer list from current meta data.
    14171417         */
    1418         rc = DnDTransferListAppendPathsFromBuffer(&pCtx->Transfer.List, DNDTRANSFERLISTFMT_URI,
    1419                                                   (const char *)pCtx->Meta.pvData, pCtx->Meta.cbData, DND_PATH_SEPARATOR_STR,
    1420                                                   DNDTRANSFERLIST_FLAGS_RECURSIVE);
    1421         if (RT_FAILURE(rc))
     1418        vrc = DnDTransferListAppendPathsFromBuffer(&pCtx->Transfer.List, DNDTRANSFERLISTFMT_URI,
     1419                                                   (const char *)pCtx->Meta.pvData, pCtx->Meta.cbData, DND_PATH_SEPARATOR_STR,
     1420                                                   DNDTRANSFERLIST_FLAGS_RECURSIVE);
     1421        if (RT_FAILURE(vrc))
    14221422            break;
    14231423
     
    14281428        /* cbExtra can be 0, if all files are of 0 bytes size. */
    14291429        pCtx->Transfer.cObjToProcess = DnDTransferListObjCount(&pCtx->Transfer.List);
    1430         AssertBreakStmt(pCtx->Transfer.cObjToProcess, rc = VERR_INVALID_PARAMETER);
     1430        AssertBreakStmt(pCtx->Transfer.cObjToProcess, vrc = VERR_INVALID_PARAMETER);
    14311431
    14321432        /* Update the meta data to have the current root transfer entries in the right shape. */
     
    14421442            size_t cbData;
    14431443#ifdef DEBUG
    1444             rc = DnDTransferListGetRootsEx(&pCtx->Transfer.List, DNDTRANSFERLISTFMT_URI, "" /* pcszPathBase */,
    1445                                            "\n" /* pcszSeparator */, (char **)&pvData, &cbData);
    1446             AssertRCReturn(rc, rc);
     1444            vrc = DnDTransferListGetRootsEx(&pCtx->Transfer.List, DNDTRANSFERLISTFMT_URI, "" /* pcszPathBase */,
     1445                                            "\n" /* pcszSeparator */, (char **)&pvData, &cbData);
     1446            AssertRCReturn(vrc, vrc);
    14471447            LogFlowFunc(("URI data:\n%s", (char *)pvData));
    14481448            RTMemFree(pvData);
    14491449            cbData = 0;
    14501450#endif
    1451             rc = DnDTransferListGetRoots(&pCtx->Transfer.List, DNDTRANSFERLISTFMT_URI,
    1452                                          (char **)&pvData, &cbData);
    1453             AssertRCReturn(rc, rc);
     1451            vrc = DnDTransferListGetRoots(&pCtx->Transfer.List, DNDTRANSFERLISTFMT_URI,
     1452                                          (char **)&pvData, &cbData);
     1453            AssertRCReturn(vrc, vrc);
    14541454
    14551455            /* pCtx->Meta now owns the allocated data. */
     
    14751475         */
    14761476        if (m_pState->m_uProtocolVersion >= 3)
    1477             rc = i_sendMetaDataHeader(pCtx);
     1477            vrc = i_sendMetaDataHeader(pCtx);
    14781478
    14791479        /*
    14801480         * Send the (meta) data body.
    14811481         */
    1482         if (RT_SUCCESS(rc))
    1483             rc = i_sendMetaDataBody(pCtx);
    1484 
    1485         if (RT_SUCCESS(rc))
    1486         {
    1487             rc = waitForEvent(&pCtx->EventCallback, pCtx->pState, msTimeout);
    1488             if (RT_SUCCESS(rc))
     1482        if (RT_SUCCESS(vrc))
     1483            vrc = i_sendMetaDataBody(pCtx);
     1484
     1485        if (RT_SUCCESS(vrc))
     1486        {
     1487            vrc = waitForEvent(&pCtx->EventCallback, pCtx->pState, msTimeout);
     1488            if (RT_SUCCESS(vrc))
    14891489                pCtx->pState->setProgress(100, DND_PROGRESS_COMPLETE, VINF_SUCCESS);
    14901490        }
     
    15091509#undef UNREGISTER_CALLBACK
    15101510
    1511     if (RT_FAILURE(rc))
    1512     {
    1513         if (rc == VERR_CANCELLED) /* Transfer was cancelled by the host. */
     1511    if (RT_FAILURE(vrc))
     1512    {
     1513        if (vrc == VERR_CANCELLED) /* Transfer was cancelled by the host. */
    15141514        {
    15151515            /*
     
    15181518             * host side never must depend on anything from the guest.
    15191519             */
    1520             int rc2 = sendCancel();
    1521             AssertRC(rc2);
     1520            int vrc2 = sendCancel();
     1521            AssertRC(vrc2);
    15221522
    15231523            LogRel2(("DnD: Sending transfer data to guest cancelled by user\n"));
    15241524
    1525             rc2 = pCtx->pState->setProgress(100, DND_PROGRESS_CANCELLED, VINF_SUCCESS);
    1526             AssertRC(rc2);
     1525            vrc2 = pCtx->pState->setProgress(100, DND_PROGRESS_CANCELLED, VINF_SUCCESS);
     1526            AssertRC(vrc2);
    15271527
    15281528            /* Cancelling is not an error, just set success here. */
    1529             rc  = VINF_SUCCESS;
    1530         }
    1531         else if (rc != VERR_GSTDND_GUEST_ERROR) /* Guest-side error are already handled in the callback. */
    1532         {
    1533             LogRel(("DnD: Sending transfer data to guest failed with rc=%Rrc\n", rc));
    1534             int rc2 = pCtx->pState->setProgress(100, DND_PROGRESS_ERROR, rc,
    1535                                                 GuestDnDTarget::i_hostErrorToString(rc));
    1536             AssertRC(rc2);
    1537         }
    1538     }
    1539 
    1540     LogFlowFuncLeaveRC(rc);
    1541     return rc;
     1529            vrc  = VINF_SUCCESS;
     1530        }
     1531        else if (vrc != VERR_GSTDND_GUEST_ERROR) /* Guest-side error are already handled in the callback. */
     1532        {
     1533            LogRel(("DnD: Sending transfer data to guest failed with vrc=%Rrc\n", vrc));
     1534            int vrc2 = pCtx->pState->setProgress(100, DND_PROGRESS_ERROR, vrc,
     1535                                                 GuestDnDTarget::i_hostErrorToString(vrc));
     1536            AssertRC(vrc2);
     1537        }
     1538    }
     1539
     1540    LogFlowFuncLeaveRC(vrc);
     1541    return vrc;
    15421542}
    15431543
     
    15561556    AssertPtrReturn(pMsg, VERR_INVALID_POINTER);
    15571557
    1558     int rc = updateProgress(pCtx, pCtx->pState);
    1559     AssertRCReturn(rc, rc);
     1558    int vrc = updateProgress(pCtx, pCtx->pState);
     1559    AssertRCReturn(vrc, vrc);
    15601560
    15611561    PDNDTRANSFEROBJECT pObj = DnDTransferListObjGetFirst(pList);
     
    15661566    {
    15671567        case DNDTRANSFEROBJTYPE_DIRECTORY:
    1568             rc = i_sendDirectory(pCtx, pObj, pMsg);
     1568            vrc = i_sendDirectory(pCtx, pObj, pMsg);
    15691569            break;
    15701570
    15711571        case DNDTRANSFEROBJTYPE_FILE:
    1572             rc = i_sendFile(pCtx, pObj, pMsg);
     1572            vrc = i_sendFile(pCtx, pObj, pMsg);
    15731573            break;
    15741574
    15751575        default:
    1576             AssertFailedStmt(rc = VERR_NOT_SUPPORTED);
    1577             break;
    1578     }
    1579 
    1580     if (   RT_SUCCESS(rc)
     1576            AssertFailedStmt(vrc = VERR_NOT_SUPPORTED);
     1577            break;
     1578    }
     1579
     1580    if (   RT_SUCCESS(vrc)
    15811581        && DnDTransferObjectIsComplete(pObj))
    15821582    {
     
    15901590    }
    15911591
    1592     LogFlowFuncLeaveRC(rc);
    1593     return rc;
     1592    LogFlowFuncLeaveRC(vrc);
     1593    return vrc;
    15941594}
    15951595
     
    16121612        return VINF_SUCCESS;
    16131613
    1614     int rc = i_sendMetaDataHeader(pCtx);
    1615     if (RT_SUCCESS(rc))
    1616         rc = i_sendMetaDataBody(pCtx);
    1617 
    1618     int rc2;
    1619     if (RT_FAILURE(rc))
    1620     {
    1621         LogRel(("DnD: Sending raw data to guest failed with rc=%Rrc\n", rc));
    1622         rc2 = pCtx->pState->setProgress(100 /* Percent */, DND_PROGRESS_ERROR, rc,
    1623                                         GuestDnDTarget::i_hostErrorToString(rc));
     1614    int vrc = i_sendMetaDataHeader(pCtx);
     1615    if (RT_SUCCESS(vrc))
     1616        vrc = i_sendMetaDataBody(pCtx);
     1617
     1618    int vrc2;
     1619    if (RT_FAILURE(vrc))
     1620    {
     1621        LogRel(("DnD: Sending raw data to guest failed with vrc=%Rrc\n", vrc));
     1622        vrc2 = pCtx->pState->setProgress(100 /* Percent */, DND_PROGRESS_ERROR, vrc,
     1623                                         GuestDnDTarget::i_hostErrorToString(vrc));
    16241624    }
    16251625    else
    1626         rc2 = pCtx->pState->setProgress(100 /* Percent */, DND_PROGRESS_COMPLETE, rc);
    1627     AssertRC(rc2);
    1628 
    1629     LogFlowFuncLeaveRC(rc);
    1630     return rc;
     1626        vrc2 = pCtx->pState->setProgress(100 /* Percent */, DND_PROGRESS_COMPLETE, vrc);
     1627    AssertRC(vrc2);
     1628
     1629    LogFlowFuncLeaveRC(vrc);
     1630    return vrc;
    16311631}
    16321632
     
    16461646    LogRel2(("DnD: Sending cancelling request to the guest ...\n"));
    16471647
    1648     int rc = GuestDnDBase::sendCancel();
     1648    int vrc = GuestDnDBase::sendCancel();
    16491649
    16501650    if (aVeto)
    16511651        *aVeto = FALSE; /** @todo Implement vetoing. */
    16521652
    1653     HRESULT hr = RT_SUCCESS(rc) ? S_OK : VBOX_E_IPRT_ERROR;
    1654 
    1655     LogFlowFunc(("hr=%Rhrc\n", hr));
    1656     return hr;
     1653    HRESULT hrc = RT_SUCCESS(vrc) ? S_OK : VBOX_E_IPRT_ERROR;
     1654
     1655    LogFlowFunc(("hrc=%Rhrc\n", hrc));
     1656    return hrc;
    16571657#endif /* VBOX_WITH_DRAG_AND_DROP */
    16581658}
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette