VirtualBox

Ignore:
Timestamp:
Sep 3, 2019 7:28:07 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
133074
Message:

Shared Clipboard/Svc: A bit of cleanup.

File:
1 edited

Legend:

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

    r80557 r80560  
    303303}
    304304
    305 static void vboxSvcClipboardModeSet(uint32_t u32Mode)
    306 {
    307     switch (u32Mode)
     305static int vboxSvcClipboardModeSet(uint32_t uMode)
     306{
     307    int rc = VERR_NOT_SUPPORTED;
     308
     309    switch (uMode)
    308310    {
    309311        case VBOX_SHARED_CLIPBOARD_MODE_OFF:
     
    314316            RT_FALL_THROUGH();
    315317        case VBOX_SHARED_CLIPBOARD_MODE_BIDIRECTIONAL:
    316             g_uMode = u32Mode;
     318        {
     319            g_uMode = uMode;
     320
     321            rc = VINF_SUCCESS;
    317322            break;
     323        }
    318324
    319325        default:
     326        {
    320327            g_uMode = VBOX_SHARED_CLIPBOARD_MODE_OFF;
    321328            break;
    322     }
     329        }
     330    }
     331
     332    LogFlowFuncLeaveRC(rc);
     333    return rc;
    323334}
    324335
     
    12701281        case VBOX_SHARED_CLIPBOARD_GUEST_FN_FORMATS_WRITE:
    12711282        {
    1272             uint32_t u32Formats = 0;
     1283            uint32_t uFormats = 0;
    12731284
    12741285            if (pClient->State.uProtocolVer == 0)
     
    12841295                else
    12851296                {
    1286                     rc = HGCMSvcGetU32(&paParms[0], &u32Formats);
     1297                    rc = HGCMSvcGetU32(&paParms[0], &uFormats);
    12871298                }
    12881299            }
     
    13011312                else
    13021313                {
    1303                     rc = HGCMSvcGetU32(&paParms[1], &u32Formats);
     1314                    rc = HGCMSvcGetU32(&paParms[1], &uFormats);
    13041315
    13051316                    /** @todo Handle rest. */
     
    13241335                            RT_ZERO(parms);
    13251336
    1326                             parms.uFormat = u32Formats;
     1337                            parms.uFormat = uFormats;
    13271338
    13281339                            g_ExtState.pfnExtension(g_ExtState.pvExtension, VBOX_CLIPBOARD_EXT_FN_FORMAT_ANNOUNCE, &parms, sizeof(parms));
     
    13351346                        RT_ZERO(formatData);
    13361347
    1337                         formatData.uFormats = u32Formats;
     1348                        formatData.uFormats = uFormats;
    13381349
    13391350                        rc = VBoxClipboardSvcImplFormatAnnounce(pClient, &cmdCtx, &formatData);
     
    16611672    int rc = VINF_SUCCESS;
    16621673
    1663     LogFlowFunc(("u32Function=%RU32, cParms=%RU32, paParms=%p\n", u32Function, cParms, paParms));
     1674    LogFlowFunc(("u32Function=%RU32 (%s), cParms=%RU32, paParms=%p\n",
     1675                 u32Function, VBoxClipboardHostMsgToStr(u32Function), cParms, paParms));
    16641676
    16651677    switch (u32Function)
     
    16671679        case VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE:
    16681680        {
    1669             LogFunc(("VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE\n"));
    1670 
    16711681            if (cParms != 1)
    16721682            {
    16731683                rc = VERR_INVALID_PARAMETER;
    16741684            }
    1675             else if (   paParms[0].type != VBOX_HGCM_SVC_PARM_32BIT   /* mode */
    1676                     )
     1685            else
     1686            {
     1687                uint32_t u32Mode = VBOX_SHARED_CLIPBOARD_MODE_OFF;
     1688
     1689                rc = HGCMSvcGetU32(&paParms[0], &u32Mode);
     1690                if (RT_SUCCESS(rc))
     1691                    rc = vboxSvcClipboardModeSet(u32Mode);
     1692            }
     1693
     1694            break;
     1695        }
     1696
     1697        case VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS:
     1698        {
     1699            if (cParms != 1)
    16771700            {
    16781701                rc = VERR_INVALID_PARAMETER;
     
    16801703            else
    16811704            {
    1682                 uint32_t u32Mode = VBOX_SHARED_CLIPBOARD_MODE_OFF;
    1683 
    1684                 rc = HGCMSvcGetU32(&paParms[0], &u32Mode);
    1685 
    1686                 /* The setter takes care of invalid values. */
    1687                 vboxSvcClipboardModeSet(u32Mode);
    1688             }
    1689         } break;
    1690 
    1691         case VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS:
    1692         {
    1693             uint32_t u32Headless = g_fHeadless;
    1694 
    1695             rc = VERR_INVALID_PARAMETER;
    1696             if (cParms != 1)
    1697                 break;
    1698 
    1699             rc = HGCMSvcGetU32(&paParms[0], &u32Headless);
    1700             if (RT_SUCCESS(rc))
    1701                 LogFlowFunc(("VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS, u32Headless=%u\n",
    1702                             (unsigned) u32Headless));
    1703 
    1704             g_fHeadless = RT_BOOL(u32Headless);
    1705 
    1706         } break;
     1705                uint32_t uHeadless;
     1706                rc = HGCMSvcGetU32(&paParms[0], &uHeadless);
     1707                if (RT_SUCCESS(rc))
     1708                {
     1709                    g_fHeadless = RT_BOOL(uHeadless);
     1710                    LogRel(("Shared Clipboard: Service running in %s mode\n", g_fHeadless ? "headless" : "normal"));
     1711                }
     1712            }
     1713            break;
     1714        }
    17071715
    17081716        default:
     
    17131721            rc = VERR_NOT_IMPLEMENTED;
    17141722#endif
    1715         } break;
     1723            break;
     1724        }
    17161725    }
    17171726
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