VirtualBox

Ignore:
Timestamp:
Sep 1, 2020 4:55:10 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
140179
Message:

Shared Clipboard/Host Service: No need to go forth and back between common service and backend-specific code when calling ShClBackendWriteData(). Just call ShClSvcGuestDataReceived() from the common service code after calling ShClBackendWriteData() instead.

Location:
trunk/src/VBox/HostServices/SharedClipboard
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-darwin.cpp

    r85980 r85983  
    270270    RT_NOREF(pCmdCtx);
    271271
     272    LogFlowFuncEnter();
     273
    272274    ShClSvcLock();
    273275
     
    276278    ShClSvcUnlock();
    277279
    278     return VINF_SUCCESS;
     280    LogFlowFuncLeaveRC(VINF_SUCCESS);
    279281}
    280282
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-win.cpp

    r85980 r85983  
    832832                         SHCLFORMAT uFormat, void *pvData, uint32_t cbData)
    833833{
     834    RT_NOREF(pClient, pCmdCtx, uFormat, pvData, cbData);
     835
    834836    LogFlowFuncEnter();
    835837
    836     int rc = ShClSvcGuestDataReceived(pClient, pCmdCtx, uFormat, pvData, cbData);
     838    /* Nothing to do here yet. */
     839
     840    LogFlowFuncLeave();
     841    return VINF_SUCCESS;
     842}
     843
     844#ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
     845int ShClBackendTransferCreate(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer)
     846{
     847    RT_NOREF(pClient, pTransfer);
     848
     849    LogFlowFuncEnter();
     850
     851    return VINF_SUCCESS;
     852}
     853
     854int ShClBackendTransferDestroy(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer)
     855{
     856    LogFlowFuncEnter();
     857
     858    SharedClipboardWinTransferDestroy(&pClient->State.pCtx->Win, pTransfer);
     859
     860    return VINF_SUCCESS;
     861}
     862
     863int ShClBackendTransferGetRoots(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer)
     864{
     865    LogFlowFuncEnter();
     866
     867    const PSHCLWINCTX pWinCtx = &pClient->State.pCtx->Win;
     868
     869    int rc = SharedClipboardWinGetRoots(pWinCtx, pTransfer);
    837870
    838871    LogFlowFuncLeaveRC(rc);
    839872    return rc;
    840873}
    841 
    842 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
    843 int ShClBackendTransferCreate(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer)
    844 {
    845     RT_NOREF(pClient, pTransfer);
    846 
    847     LogFlowFuncEnter();
    848 
    849     return VINF_SUCCESS;
    850 }
    851 
    852 int ShClBackendTransferDestroy(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer)
    853 {
    854     LogFlowFuncEnter();
    855 
    856     SharedClipboardWinTransferDestroy(&pClient->State.pCtx->Win, pTransfer);
    857 
    858     return VINF_SUCCESS;
    859 }
    860 
    861 int ShClBackendTransferGetRoots(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer)
    862 {
    863     LogFlowFuncEnter();
    864 
    865     const PSHCLWINCTX pWinCtx = &pClient->State.pCtx->Win;
    866 
    867     int rc = SharedClipboardWinGetRoots(pWinCtx, pTransfer);
    868 
    869     LogFlowFuncLeaveRC(rc);
    870     return rc;
    871 }
    872874#endif /* VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS */
    873875
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-x11.cpp

    r85980 r85983  
    237237                         PSHCLCLIENTCMDCTX pCmdCtx, SHCLFORMAT uFormat, void *pvData, uint32_t cbData)
    238238{
    239     AssertPtrReturn(pClient, VERR_INVALID_POINTER);
    240     AssertPtrReturn(pCmdCtx, VERR_INVALID_POINTER);
    241     AssertPtrReturn(pvData,  VERR_INVALID_POINTER);
    242 
    243     LogFlowFunc(("pClient=%p, pv=%p, cb=%RU32, uFormat=%02X\n",
    244                  pClient, pvData, cbData, uFormat));
    245 
    246     int rc = ShClSvcGuestDataReceived(pClient, pCmdCtx, uFormat, pvData, cbData);
    247 
    248     LogFlowFuncLeaveRC(rc);
    249     return rc;
     239    RT_NOREF(pClient, pCmdCtx, uFormat, pvData, cbData);
     240
     241    LogFlowFuncEnter();
     242
     243    /* Nothing to do here yet. */
     244
     245    LogFlowFuncLeave();
     246    return VINF_SUCCESS;
    250247}
    251248
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc.cpp

    r85981 r85983  
    17271727    }
    17281728    else
     1729    {
     1730        /* Let the backend implementation know. */
    17291731        rc = ShClBackendWriteData(pClient, &cmdCtx, uFormat, pvData, cbData);
     1732
     1733        int rc2; /* Don't return internals back to the guest. */
     1734        rc2 = ShClSvcGuestDataReceived(pClient, &cmdCtx, uFormat, pvData, cbData); /* To complete pending events, if any. */
     1735        AssertRC(rc2);
     1736    }
    17301737
    17311738    LogFlowFuncLeaveRC(rc);
Note: See TracChangeset for help on using the changeset viewer.

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