Changeset 87653 in vbox for trunk/src/VBox/GuestHost/SharedClipboard
- Timestamp:
- Feb 9, 2021 12:54:29 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142695
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/GuestHost/SharedClipboard/clipboard-transfers.cpp
r87651 r87653 2016 2016 2017 2017 /** 2018 * Copies a transfer callback table from source to destination. 2019 * 2020 * @param pCallbacksDst Callback destination. 2021 * @param pCallbacksSrc Callback source. If set to NULL, the 2022 * destination callback table will be unset. 2023 */ 2024 void ShClTransferCopyCallbacks(PSHCLTRANSFERCALLBACKTABLE pCallbacksDst, 2025 PSHCLTRANSFERCALLBACKTABLE pCallbacksSrc) 2026 { 2027 AssertPtrReturnVoid(pCallbacksDst); 2028 2029 if (pCallbacksSrc) /* Set */ 2030 { 2031 #define SET_CALLBACK(a_pfnCallback) \ 2032 if (pCallbacksSrc->a_pfnCallback) \ 2033 pCallbacksDst->a_pfnCallback = pCallbacksSrc->a_pfnCallback 2034 2035 SET_CALLBACK(pfnOnInitialize); 2036 SET_CALLBACK(pfnOnStart); 2037 SET_CALLBACK(pfnOnCompleted); 2038 SET_CALLBACK(pfnOnError); 2039 SET_CALLBACK(pfnOnRegistered); 2040 SET_CALLBACK(pfnOnUnregistered); 2041 2042 #undef SET_CALLBACK 2043 2044 pCallbacksDst->pvUser = pCallbacksSrc->pvUser; 2045 pCallbacksDst->cbUser = pCallbacksSrc->cbUser; 2046 } 2047 else /* Unset */ 2048 RT_BZERO(pCallbacksDst, sizeof(SHCLTRANSFERCALLBACKTABLE)); 2049 } 2050 2051 /** 2018 2052 * Sets or unsets the callback table to be used for a Shared Clipboard transfer. 2019 2053 * 2020 2054 * @returns VBox status code. 2021 2055 * @param pTransfer Clipboard transfer to set callbacks for. 2022 * @param pCallbacks Pointer to callback table to set. 2056 * @param pCallbacks Pointer to callback table to set. If set to NULL, 2057 * existing callbacks for this transfer will be unset. 2023 2058 */ 2024 2059 void ShClTransferSetCallbacks(PSHCLTRANSFER pTransfer, … … 2026 2061 { 2027 2062 AssertPtrReturnVoid(pTransfer); 2028 AssertPtrReturnVoid(pCallbacks); 2029 2030 LogFlowFunc(("pCallbacks=%p\n", pCallbacks)); 2031 2032 #define SET_CALLBACK(a_pfnCallback) \ 2033 if (pCallbacks->a_pfnCallback) \ 2034 pTransfer->Callbacks.a_pfnCallback = pCallbacks->a_pfnCallback 2035 2036 SET_CALLBACK(pfnOnInitialize); 2037 SET_CALLBACK(pfnOnStart); 2038 SET_CALLBACK(pfnOnCompleted); 2039 SET_CALLBACK(pfnOnError); 2040 SET_CALLBACK(pfnOnRegistered); 2041 SET_CALLBACK(pfnOnUnregistered); 2042 2043 #undef SET_CALLBACK 2044 2045 pTransfer->Callbacks.pvUser = pCallbacks->pvUser; 2046 pTransfer->Callbacks.cbUser = pCallbacks->cbUser; 2063 /* pCallbacks can be NULL. */ 2064 2065 ShClTransferCopyCallbacks(&pTransfer->Callbacks, pCallbacks); 2047 2066 } 2048 2067
Note:
See TracChangeset
for help on using the changeset viewer.