Changeset 80560 in vbox for trunk/src/VBox/HostServices/SharedClipboard
- Timestamp:
- Sep 3, 2019 7:28:07 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 133074
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc.cpp
r80557 r80560 303 303 } 304 304 305 static void vboxSvcClipboardModeSet(uint32_t u32Mode) 306 { 307 switch (u32Mode) 305 static int vboxSvcClipboardModeSet(uint32_t uMode) 306 { 307 int rc = VERR_NOT_SUPPORTED; 308 309 switch (uMode) 308 310 { 309 311 case VBOX_SHARED_CLIPBOARD_MODE_OFF: … … 314 316 RT_FALL_THROUGH(); 315 317 case VBOX_SHARED_CLIPBOARD_MODE_BIDIRECTIONAL: 316 g_uMode = u32Mode; 318 { 319 g_uMode = uMode; 320 321 rc = VINF_SUCCESS; 317 322 break; 323 } 318 324 319 325 default: 326 { 320 327 g_uMode = VBOX_SHARED_CLIPBOARD_MODE_OFF; 321 328 break; 322 } 329 } 330 } 331 332 LogFlowFuncLeaveRC(rc); 333 return rc; 323 334 } 324 335 … … 1270 1281 case VBOX_SHARED_CLIPBOARD_GUEST_FN_FORMATS_WRITE: 1271 1282 { 1272 uint32_t u 32Formats = 0;1283 uint32_t uFormats = 0; 1273 1284 1274 1285 if (pClient->State.uProtocolVer == 0) … … 1284 1295 else 1285 1296 { 1286 rc = HGCMSvcGetU32(&paParms[0], &u 32Formats);1297 rc = HGCMSvcGetU32(&paParms[0], &uFormats); 1287 1298 } 1288 1299 } … … 1301 1312 else 1302 1313 { 1303 rc = HGCMSvcGetU32(&paParms[1], &u 32Formats);1314 rc = HGCMSvcGetU32(&paParms[1], &uFormats); 1304 1315 1305 1316 /** @todo Handle rest. */ … … 1324 1335 RT_ZERO(parms); 1325 1336 1326 parms.uFormat = u 32Formats;1337 parms.uFormat = uFormats; 1327 1338 1328 1339 g_ExtState.pfnExtension(g_ExtState.pvExtension, VBOX_CLIPBOARD_EXT_FN_FORMAT_ANNOUNCE, &parms, sizeof(parms)); … … 1335 1346 RT_ZERO(formatData); 1336 1347 1337 formatData.uFormats = u 32Formats;1348 formatData.uFormats = uFormats; 1338 1349 1339 1350 rc = VBoxClipboardSvcImplFormatAnnounce(pClient, &cmdCtx, &formatData); … … 1661 1672 int rc = VINF_SUCCESS; 1662 1673 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)); 1664 1676 1665 1677 switch (u32Function) … … 1667 1679 case VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE: 1668 1680 { 1669 LogFunc(("VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE\n"));1670 1671 1681 if (cParms != 1) 1672 1682 { 1673 1683 rc = VERR_INVALID_PARAMETER; 1674 1684 } 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) 1677 1700 { 1678 1701 rc = VERR_INVALID_PARAMETER; … … 1680 1703 else 1681 1704 { 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 } 1707 1715 1708 1716 default: … … 1713 1721 rc = VERR_NOT_IMPLEMENTED; 1714 1722 #endif 1715 } break; 1723 break; 1724 } 1716 1725 } 1717 1726
Note:
See TracChangeset
for help on using the changeset viewer.