Changeset 87452 in vbox for trunk/src/VBox/Additions
- Timestamp:
- Jan 27, 2021 5:11:25 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142470
- Location:
- trunk/src/VBox/Additions
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxClipboard.cpp
r86949 r87452 85 85 *********************************************************************************************************************************/ 86 86 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS 87 static DECLCALLBACK(int) vboxClipboardOnTransferInitCallback(PSHCLT RANSFERCALLBACKDATA pData);88 static DECLCALLBACK(int) vboxClipboardOnTransferStartCallback(PSHCLT RANSFERCALLBACKDATA pData);89 static DECLCALLBACK(void) vboxClipboardOnTransferCompleteCallback(PSHCLT RANSFERCALLBACKDATA pData, int rc);90 static DECLCALLBACK(void) vboxClipboardOnTransferErrorCallback(PSHCLT RANSFERCALLBACKDATA pData, int rc);87 static DECLCALLBACK(int) vboxClipboardOnTransferInitCallback(PSHCLTXPROVIDERCTX pCtx); 88 static DECLCALLBACK(int) vboxClipboardOnTransferStartCallback(PSHCLTXPROVIDERCTX pCtx); 89 static DECLCALLBACK(void) vboxClipboardOnTransferCompleteCallback(PSHCLTXPROVIDERCTX pCtx, int rc); 90 static DECLCALLBACK(void) vboxClipboardOnTransferErrorCallback(PSHCLTXPROVIDERCTX pCtx, int rc); 91 91 #endif 92 92 … … 99 99 * @param pData Callback data to cleanup. 100 100 */ 101 static void vboxClipboardTransferCallbackCleanup(PSHCLT RANSFERCALLBACKDATA pData)101 static void vboxClipboardTransferCallbackCleanup(PSHCLTXPROVIDERCTX pCtx) 102 102 { 103 103 LogFlowFuncEnter(); … … 124 124 } 125 125 126 static DECLCALLBACK(int) vboxClipboardOnTransferInitCallback(PSHCLT RANSFERCALLBACKDATA pData)126 static DECLCALLBACK(int) vboxClipboardOnTransferInitCallback(PSHCLTXPROVIDERCTX pCtx) 127 127 { 128 128 PSHCLCONTEXT pCtx = (PSHCLCONTEXT)pData->pvUser; … … 136 136 } 137 137 138 static DECLCALLBACK(int) vboxClipboardOnTransferStartCallback(PSHCLT RANSFERCALLBACKDATA pData)138 static DECLCALLBACK(int) vboxClipboardOnTransferStartCallback(PSHCLTXPROVIDERCTX pCtx) 139 139 { 140 140 PSHCLCONTEXT pCtx = (PSHCLCONTEXT)pData->pvUser; … … 192 192 } 193 193 194 static DECLCALLBACK(void) vboxClipboardOnTransferCompleteCallback(PSHCLT RANSFERCALLBACKDATA pData, int rc)194 static DECLCALLBACK(void) vboxClipboardOnTransferCompleteCallback(PSHCLTXPROVIDERCTX pCtx, int rc) 195 195 { 196 196 PSHCLCONTEXT pCtx = (PSHCLCONTEXT)pData->pvUser; … … 206 206 } 207 207 208 static DECLCALLBACK(void) vboxClipboardOnTransferErrorCallback(PSHCLT RANSFERCALLBACKDATA pData, int rc)208 static DECLCALLBACK(void) vboxClipboardOnTransferErrorCallback(PSHCLTXPROVIDERCTX pCtx, int rc) 209 209 { 210 210 PSHCLCONTEXT pCtx = (PSHCLCONTEXT)pData->pvUser; -
trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibClipboard.cpp
r86949 r87452 1663 1663 *********************************************************************************************************************************/ 1664 1664 1665 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceGetRoots(PSHCL PROVIDERCTX pCtx, PSHCLROOTLIST *ppRootList)1665 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceGetRoots(PSHCLTXPROVIDERCTX pCtx, PSHCLROOTLIST *ppRootList) 1666 1666 { 1667 1667 LogFlowFuncEnter(); … … 1676 1676 } 1677 1677 1678 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceListOpen(PSHCL PROVIDERCTX pCtx, PSHCLLISTOPENPARMS pOpenParms,1678 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceListOpen(PSHCLTXPROVIDERCTX pCtx, PSHCLLISTOPENPARMS pOpenParms, 1679 1679 PSHCLLISTHANDLE phList) 1680 1680 { … … 1690 1690 } 1691 1691 1692 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceListClose(PSHCL PROVIDERCTX pCtx, SHCLLISTHANDLE hList)1692 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceListClose(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList) 1693 1693 { 1694 1694 LogFlowFuncEnter(); … … 1703 1703 } 1704 1704 1705 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceListHdrRead(PSHCL PROVIDERCTX pCtx,1705 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceListHdrRead(PSHCLTXPROVIDERCTX pCtx, 1706 1706 SHCLLISTHANDLE hList, PSHCLLISTHDR pListHdr) 1707 1707 { … … 1726 1726 } 1727 1727 1728 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceListEntryRead(PSHCL PROVIDERCTX pCtx,1728 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceListEntryRead(PSHCLTXPROVIDERCTX pCtx, 1729 1729 SHCLLISTHANDLE hList, PSHCLLISTENTRY pEntry) 1730 1730 { … … 1740 1740 } 1741 1741 1742 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceObjOpen(PSHCL PROVIDERCTX pCtx,1742 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceObjOpen(PSHCLTXPROVIDERCTX pCtx, 1743 1743 PSHCLOBJOPENCREATEPARMS pCreateParms, PSHCLOBJHANDLE phObj) 1744 1744 { … … 1754 1754 } 1755 1755 1756 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceObjClose(PSHCL PROVIDERCTX pCtx, SHCLOBJHANDLE hObj)1756 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceObjClose(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj) 1757 1757 { 1758 1758 LogFlowFuncEnter(); … … 1767 1767 } 1768 1768 1769 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceObjRead(PSHCL PROVIDERCTX pCtx,1769 static DECLCALLBACK(int) vbglR3ClipboardTransferIfaceObjRead(PSHCLTXPROVIDERCTX pCtx, 1770 1770 SHCLOBJHANDLE hObj, void *pvData, uint32_t cbData, 1771 1771 uint32_t fFlags, uint32_t *pcbRead) … … 1803 1803 if (RT_SUCCESS(rc)) 1804 1804 { 1805 ShClTransferSetCallbacks(pTransfer, &pCmdCtx->Transfers.Callbacks); 1806 1807 rc = ShClTransferCtxTransferRegisterByIndex(pTransferCtx, pTransfer, uTransferID); 1805 rc = ShClTransferInit(pTransfer, enmDir, enmSource); 1808 1806 if (RT_SUCCESS(rc)) 1809 1807 { 1810 rc = ShClTransfer Init(pTransfer, uTransferID, enmDir, enmSource);1808 rc = ShClTransferCtxTransferRegisterById(pTransferCtx, pTransfer, uTransferID); 1811 1809 if (RT_SUCCESS(rc)) 1812 1810 { … … 1815 1813 if (enmDir == SHCLTRANSFERDIR_FROM_REMOTE) 1816 1814 { 1817 SHCL PROVIDERCREATIONCTX creationCtx;1815 SHCLTXPROVIDERCREATIONCTX creationCtx; 1818 1816 RT_ZERO(creationCtx); 1819 1817 … … 1831 1829 creationCtx.pvUser = pCmdCtx; 1832 1830 1833 rc = ShClTransferSet Interface(pTransfer, &creationCtx);1831 rc = ShClTransferSetProviderIface(pTransfer, &creationCtx); 1834 1832 } 1835 1833 … … 1886 1884 int rc; 1887 1885 1888 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransfer (pTransferCtx, uTransferID);1886 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransferById(pTransferCtx, uTransferID); 1889 1887 if (pTransfer) 1890 1888 { 1891 rc = ShClTransferClose(pTransfer); 1892 if (RT_SUCCESS(rc)) 1893 rc = ShClTransferCtxTransferUnregister(pTransferCtx, uTransferID); 1894 1889 rc = ShClTransferCtxTransferUnregister(pTransferCtx, uTransferID); 1895 1890 if (RT_SUCCESS(rc)) 1896 1891 { … … 2012 2007 if (RT_SUCCESS(rc)) 2013 2008 { 2014 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransfer (pTransferCtx,2015 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext));2009 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransferById(pTransferCtx, 2010 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext)); 2016 2011 AssertPtrBreakStmt(pTransfer, rc = VERR_NOT_FOUND); 2017 2012 … … 2035 2030 if (RT_SUCCESS(rc)) 2036 2031 { 2037 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransfer (pTransferCtx,2038 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext));2032 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransferById(pTransferCtx, 2033 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext)); 2039 2034 AssertPtrBreakStmt(pTransfer, rc = VERR_NOT_FOUND); 2040 2035 … … 2056 2051 if (RT_SUCCESS(rc)) 2057 2052 { 2058 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransfer (pTransferCtx,2059 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext));2053 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransferById(pTransferCtx, 2054 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext)); 2060 2055 AssertPtrBreakStmt(pTransfer, rc = VERR_NOT_FOUND); 2061 2056 … … 2082 2077 if (RT_SUCCESS(rc)) 2083 2078 { 2084 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransfer (pTransferCtx,2085 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext));2079 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransferById(pTransferCtx, 2080 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext)); 2086 2081 AssertPtrBreakStmt(pTransfer, rc = VERR_NOT_FOUND); 2087 2082 … … 2105 2100 if (RT_SUCCESS(rc)) 2106 2101 { 2107 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransfer (pTransferCtx,2108 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext));2102 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransferById(pTransferCtx, 2103 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext)); 2109 2104 AssertPtrBreakStmt(pTransfer, rc = VERR_NOT_FOUND); 2110 2105 … … 2135 2130 if (RT_SUCCESS(rc)) 2136 2131 { 2137 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransfer (pTransferCtx,2138 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext));2132 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransferById(pTransferCtx, 2133 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext)); 2139 2134 AssertPtrBreakStmt(pTransfer, rc = VERR_NOT_FOUND); 2140 2135 … … 2168 2163 if (RT_SUCCESS(rc)) 2169 2164 { 2170 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransfer (pTransferCtx,2171 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext));2165 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransferById(pTransferCtx, 2166 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext)); 2172 2167 AssertPtrBreakStmt(pTransfer, rc = VERR_NOT_FOUND); 2173 2168 … … 2192 2187 if (RT_SUCCESS(rc)) 2193 2188 { 2194 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransfer (pTransferCtx,2195 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext));2189 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransferById(pTransferCtx, 2190 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext)); 2196 2191 AssertPtrBreakStmt(pTransfer, rc = VERR_NOT_FOUND); 2197 2192 … … 2214 2209 if (RT_SUCCESS(rc)) 2215 2210 { 2216 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransfer (pTransferCtx,2211 PSHCLTRANSFER pTransfer = ShClTransferCtxGetTransferById(pTransferCtx, 2217 2212 VBOX_SHCL_CONTEXTID_GET_TRANSFER(pCmdCtx->idContext)); 2218 2213 AssertPtrBreakStmt(pTransfer, rc = VERR_NOT_FOUND); -
trunk/src/VBox/Additions/x11/VBoxClient/clipboard.cpp
r87082 r87452 58 58 59 59 60 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS 61 static DECLCALLBACK(int) vbclShClOnTransferInitCallback(PSHCLTRANSFERCALLBACKDATA pData) 62 { 63 # ifdef VBOX_WITH_SHARED_CLIPBOARD_FUSE 64 return ShClFuseOnTransferInitCallback(pData); 65 # else 66 RT_NOREF(pData); 67 return VERR_NOT_IMPLEMENTED; 68 # endif 69 } 70 71 static DECLCALLBACK(int) vbclShClOnTransferStartCallback(PSHCLTRANSFERCALLBACKDATA pData) 72 { 73 # ifdef VBOX_WITH_SHARED_CLIPBOARD_FUSE 74 return ShClFuseOnTransferStartCallback(pData); 75 # else 76 RT_NOREF(pData); 77 return VERR_NOT_IMPLEMENTED; 78 # endif 79 } 80 81 static DECLCALLBACK(void) vbclShClOnTransferCompleteCallback(PSHCLTRANSFERCALLBACKDATA pData, int rc) 82 { 83 # ifdef VBOX_WITH_SHARED_CLIPBOARD_FUSE 84 return ShClFuseOnTransferCompleteCallback(pData, rc); 85 # else 86 RT_NOREF(pData, rc); 87 # endif 88 } 89 90 static DECLCALLBACK(void) vbclShClOnTransferErrorCallback(PSHCLTRANSFERCALLBACKDATA pData, int rc) 91 { 92 # ifdef VBOX_WITH_SHARED_CLIPBOARD_FUSE 93 return ShClFuseOnTransferErrorCallback(pData, rc); 94 # else 95 RT_NOREF(pData, rc); 96 # endif 97 } 98 #endif /* VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS */ 99 100 /** 101 * Callback implementation for getting clipboard data from the host. 102 * 103 * @returns VBox status code. VERR_NO_DATA if no data available. 104 * @param pCtx Our context information. 105 * @param uFmt The format of the data being requested. 106 * @param ppv Returns an allocated buffer with data read from the host on success. 107 * Needs to be free'd with RTMemFree() by the caller. 108 * @param pcb Returns the amount of data read (in bytes) on success. 109 */ 60 /** @copydoc ShClX11RequestDataForX11Callback */ 110 61 DECLCALLBACK(int) ShClX11RequestDataForX11Callback(PSHCLCONTEXT pCtx, SHCLFORMAT uFmt, void **ppv, uint32_t *pcb) 111 62 { … … 118 69 { 119 70 //rc = VbglR3ClipboardRootListRead() 120 121 71 rc = VERR_NO_DATA; 122 72 } … … 194 144 }; 195 145 196 /** 197 * Tell the host that new clipboard formats are available. 198 * 199 * @param pCtx Our context information. 200 * @param fFormats The formats to report. 201 */ 146 /** @copydoc ShClX11ReportFormatsCallback */ 202 147 DECLCALLBACK(void) ShClX11ReportFormatsCallback(PSHCLCONTEXT pCtx, SHCLFORMATS fFormats) 203 148 { … … 211 156 } 212 157 213 /** 214 * This is called by the backend to tell us that a request for data from 215 * X11 has completed. 216 * 217 * @param pCtx Our context information. 218 * @param rcCompletion The completion status of the request. 219 * @param pReq The request structure that we passed in when we started 220 * the request. We RTMemFree() this in this function. 221 * @param pv The clipboard data returned from X11 if the request succeeded (see @a rc). 222 * @param cb The size of the data in @a pv. 223 */ 158 /** @copydoc ShClX11RequestFromX11CompleteCallback */ 224 159 DECLCALLBACK(void) ShClX11RequestFromX11CompleteCallback(PSHCLCONTEXT pCtx, 225 160 int rcCompletion, CLIPREADCBREQ *pReq, void *pv, uint32_t cb) … … 397 332 static DECLCALLBACK(int) vbclShClInit(void) 398 333 { 399 int rc; 400 401 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS 402 /* Install callbacks. */ 403 RT_ZERO(g_Ctx.CmdCtx.Transfers.Callbacks); 404 405 g_Ctx.CmdCtx.Transfers.Callbacks.pvUser = &g_Ctx; /* Assign context as user-provided callback data. */ 406 g_Ctx.CmdCtx.Transfers.Callbacks.cbUser = sizeof(SHCLCONTEXT); 407 408 g_Ctx.CmdCtx.Transfers.Callbacks.pfnTransferInitialize = vbclShClOnTransferInitCallback; 409 g_Ctx.CmdCtx.Transfers.Callbacks.pfnTransferStart = vbclShClOnTransferStartCallback; 410 g_Ctx.CmdCtx.Transfers.Callbacks.pfnTransferComplete = vbclShClOnTransferCompleteCallback; 411 g_Ctx.CmdCtx.Transfers.Callbacks.pfnTransferError = vbclShClOnTransferErrorCallback; 412 413 rc = ShClTransferCtxInit(&g_Ctx.TransferCtx); 414 #else 415 rc = VINF_SUCCESS; 416 #endif 334 int rc = ShClTransferCtxInit(&g_Ctx.TransferCtx); 417 335 418 336 LogFlowFuncLeaveRC(rc);
Note:
See TracChangeset
for help on using the changeset viewer.