Changeset 103631 in vbox for trunk/include
- Timestamp:
- Mar 1, 2024 11:00:38 AM (14 months ago)
- svn:sync-xref-src-repo-rev:
- 161991
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/GuestHost/SharedClipboard-win.h
r103615 r103631 113 113 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS 114 114 /** Forward declaration for the Windows data object. */ 115 class Sh aredClipboardWinDataObject;115 class ShClWinDataObject; 116 116 #endif 117 117 … … 143 143 * hasn't been started yet. 144 144 * Can be NULL if currently not being used / no current "in-flight" transfer present. */ 145 SharedClipboardWinDataObject 146 *pDataObjInFlight; 145 ShClWinDataObject *pDataObjInFlight; 147 146 #endif 148 147 /** Request queue. … … 151 150 } SHCLWINCTX, *PSHCLWINCTX; 152 151 153 int Sh aredClipboardWinOpen(HWND hWnd);154 int Sh aredClipboardWinClose(void);155 int Sh aredClipboardWinClear(void);156 157 int Sh aredClipboardWinCtxInit(PSHCLWINCTX pWinCtx);158 void Sh aredClipboardWinCtxDestroy(PSHCLWINCTX pWinCtx);159 160 int Sh aredClipboardWinCheckAndInitNewAPI(PSHCLWINAPINEW pAPI);161 bool Sh aredClipboardWinIsNewAPI(PSHCLWINAPINEW pAPI);162 163 int Sh aredClipboardWinDataWrite(UINT cfFormat, void *pvData, uint32_t cbData);164 165 int Sh aredClipboardWinChainAdd(PSHCLWINCTX pCtx);166 int Sh aredClipboardWinChainRemove(PSHCLWINCTX pCtx);167 VOID CALLBACK Sh aredClipboardWinChainPingProc(HWND hWnd, UINT uMsg, ULONG_PTR dwData, LRESULT lResult) RT_NOTHROW_DEF;168 LRESULT Sh aredClipboardWinChainPassToNext(PSHCLWINCTX pWinCtx, UINT msg, WPARAM wParam, LPARAM lParam);169 170 SHCLFORMAT Sh aredClipboardWinClipboardFormatToVBox(UINT uFormat);171 int Sh aredClipboardWinGetFormats(PSHCLWINCTX pCtx, PSHCLFORMATS pfFormats);172 173 int Sh aredClipboardWinGetCFHTMLHeaderValue(const char *pszSrc, const char *pszOption, uint32_t *puValue);174 bool Sh aredClipboardWinIsCFHTML(const char *pszSource);175 int Sh aredClipboardWinConvertCFHTMLToMIME(const char *pszSource, const uint32_t cch, char **ppszOutput, uint32_t *pcbOutput);176 int Sh aredClipboardWinConvertMIMEToCFHTML(const char *pszSource, size_t cb, char **ppszOutput, uint32_t *pcbOutput);177 178 LRESULT Sh aredClipboardWinHandleWMChangeCBChain(PSHCLWINCTX pWinCtx, HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);179 int Sh aredClipboardWinHandleWMDestroy(PSHCLWINCTX pWinCtx);180 int Sh aredClipboardWinHandleWMRenderAllFormats(PSHCLWINCTX pWinCtx, HWND hWnd);181 int Sh aredClipboardWinHandleWMTimer(PSHCLWINCTX pWinCtx);182 183 int Sh aredClipboardWinClearAndAnnounceFormats(PSHCLWINCTX pWinCtx, SHCLFORMATS fFormats, HWND hWnd);152 int ShClWinOpen(HWND hWnd); 153 int ShClWinClose(void); 154 int ShClWinClear(void); 155 156 int ShClWinCtxInit(PSHCLWINCTX pWinCtx); 157 void ShClWinCtxDestroy(PSHCLWINCTX pWinCtx); 158 159 int ShClWinCheckAndInitNewAPI(PSHCLWINAPINEW pAPI); 160 bool ShClWinIsNewAPI(PSHCLWINAPINEW pAPI); 161 162 int ShClWinDataWrite(UINT cfFormat, void *pvData, uint32_t cbData); 163 164 int ShClWinChainAdd(PSHCLWINCTX pCtx); 165 int ShClWinChainRemove(PSHCLWINCTX pCtx); 166 VOID CALLBACK ShClWinChainPingProc(HWND hWnd, UINT uMsg, ULONG_PTR dwData, LRESULT lResult) RT_NOTHROW_DEF; 167 LRESULT ShClWinChainPassToNext(PSHCLWINCTX pWinCtx, UINT msg, WPARAM wParam, LPARAM lParam); 168 169 SHCLFORMAT ShClWinClipboardFormatToVBox(UINT uFormat); 170 int ShClWinGetFormats(PSHCLWINCTX pCtx, PSHCLFORMATS pfFormats); 171 172 int ShClWinGetCFHTMLHeaderValue(const char *pszSrc, const char *pszOption, uint32_t *puValue); 173 bool ShClWinIsCFHTML(const char *pszSource); 174 int ShClWinConvertCFHTMLToMIME(const char *pszSource, const uint32_t cch, char **ppszOutput, uint32_t *pcbOutput); 175 int ShClWinConvertMIMEToCFHTML(const char *pszSource, size_t cb, char **ppszOutput, uint32_t *pcbOutput); 176 177 LRESULT ShClWinHandleWMChangeCBChain(PSHCLWINCTX pWinCtx, HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); 178 int ShClWinHandleWMDestroy(PSHCLWINCTX pWinCtx); 179 int ShClWinHandleWMRenderAllFormats(PSHCLWINCTX pWinCtx, HWND hWnd); 180 int ShClWinHandleWMTimer(PSHCLWINCTX pWinCtx); 181 182 int ShClWinClearAndAnnounceFormats(PSHCLWINCTX pWinCtx, SHCLFORMATS fFormats, HWND hWnd); 184 183 185 184 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS … … 190 189 191 190 /** 192 * GenericWindows class implementing IDataObject for Shared Clipboard data transfers.193 */ 194 class Sh aredClipboardWinDataObject : public IDataObject //, public IDataObjectAsyncCapability191 * Shared CLipboard Windows class implementing IDataObject for Shared Clipboard data transfers. 192 */ 193 class ShClWinDataObject : public IDataObject //, public IDataObjectAsyncCapability 195 194 { 196 195 public: … … 202 201 { 203 202 /** Pointer to the data object of this callback. */ 204 Sh aredClipboardWinDataObject *pThis;203 ShClWinDataObject *pThis; 205 204 /** User-supplied pointer to more context data. */ 206 205 void *pvUser; … … 253 252 public: 254 253 255 Sh aredClipboardWinDataObject(void);256 virtual ~Sh aredClipboardWinDataObject(void);257 258 public: 259 260 int Init(PSHCLCONTEXT pCtx, Sh aredClipboardWinDataObject::PCALLBACKS pCallbacks, LPFORMATETC pFormatEtc = NULL, LPSTGMEDIUM pStgMed = NULL, ULONG cFormats = 0);254 ShClWinDataObject(void); 255 virtual ~ShClWinDataObject(void); 256 257 public: 258 259 int Init(PSHCLCONTEXT pCtx, ShClWinDataObject::PCALLBACKS pCallbacks, LPFORMATETC pFormatEtc = NULL, LPSTGMEDIUM pStgMed = NULL, ULONG cFormats = 0); 261 260 void Uninit(void); 262 261 void Destroy(void); … … 382 381 * Generic Windows class implementing IEnumFORMATETC for Shared Clipboard data transfers. 383 382 */ 384 class Sh aredClipboardWinEnumFormatEtc : public IEnumFORMATETC385 { 386 public: 387 388 Sh aredClipboardWinEnumFormatEtc(void);389 virtual ~Sh aredClipboardWinEnumFormatEtc(void);383 class ShClWinEnumFormatEtc : public IEnumFORMATETC 384 { 385 public: 386 387 ShClWinEnumFormatEtc(void); 388 virtual ~ShClWinEnumFormatEtc(void); 390 389 391 390 public: … … 423 422 * Generic Windows class implementing IStream for Shared Clipboard data transfers. 424 423 */ 425 class Sh aredClipboardWinStreamImpl : public IStream426 { 427 public: 428 429 Sh aredClipboardWinStreamImpl(SharedClipboardWinDataObject *pParent, PSHCLTRANSFER pTransfer,430 431 virtual ~Sh aredClipboardWinStreamImpl(void);424 class ShClWinStreamImpl : public IStream 425 { 426 public: 427 428 ShClWinStreamImpl(ShClWinDataObject *pParent, PSHCLTRANSFER pTransfer, 429 const Utf8Str &strPath, PSHCLFSOBJINFO pObjInfo); 430 virtual ~ShClWinStreamImpl(void); 432 431 433 432 public: /* IUnknown methods. */ … … 453 452 public: /* Own methods. */ 454 453 455 static HRESULT Create(Sh aredClipboardWinDataObject *pParent, PSHCLTRANSFER pTransfer, const Utf8Str &strPath,454 static HRESULT Create(ShClWinDataObject *pParent, PSHCLTRANSFER pTransfer, const Utf8Str &strPath, 456 455 PSHCLFSOBJINFO pObjInfo, IStream **ppStream); 457 456 private: 458 457 459 458 /** Pointer to the parent data object. */ 460 Sh aredClipboardWinDataObject*m_pParent;459 ShClWinDataObject *m_pParent; 461 460 /** The stream object's current reference count. */ 462 461 LONG m_lRefCount; … … 479 478 * Set as pvUser / cbUser for SHCLTRANSFER on Windows hosts / guests. 480 479 */ 481 class Sh aredClipboardWinTransferCtx482 { 483 public: 484 Sh aredClipboardWinTransferCtx()480 class ShClWinTransferCtx 481 { 482 public: 483 ShClWinTransferCtx() 485 484 : pDataObj(NULL) { } 486 485 487 virtual ~Sh aredClipboardWinTransferCtx() { }486 virtual ~ShClWinTransferCtx() { } 488 487 489 488 /** Pointer to data object to use for this transfer. Not owned. 490 489 * Can be NULL if not being used. */ 491 Sh aredClipboardWinDataObject *pDataObj;490 ShClWinDataObject *pDataObj; 492 491 }; 493 492 494 int Sh aredClipboardWinTransferGetRoots(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer);495 int Sh aredClipboardWinTransferDropFilesToStringList(DROPFILES *pDropFiles, char **papszList, uint32_t *pcbList);496 int Sh aredClipboardWinTransferGetRootsFromClipboard(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer);497 498 int Sh aredClipboardWinTransferCreate(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer);499 void Sh aredClipboardWinTransferDestroy(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer);500 501 int Sh aredClipboardWinTransferCreateAndSetDataObject(PSHCLWINCTX pWinCtx, PSHCLCONTEXT pCtx, SharedClipboardWinDataObject::PCALLBACKS pCallbacks);502 int Sh aredClipboardWinTransferInitialize(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer);503 int Sh aredClipboardWinTransferStart(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer);493 int ShClWinTransferGetRoots(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer); 494 int ShClWinTransferDropFilesToStringList(DROPFILES *pDropFiles, char **papszList, uint32_t *pcbList); 495 int ShClWinTransferGetRootsFromClipboard(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer); 496 497 int ShClWinTransferCreate(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer); 498 void ShClWinTransferDestroy(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer); 499 500 int ShClWinTransferCreateAndSetDataObject(PSHCLWINCTX pWinCtx, PSHCLCONTEXT pCtx, ShClWinDataObject::PCALLBACKS pCallbacks); 501 int ShClWinTransferInitialize(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer); 502 int ShClWinTransferStart(PSHCLWINCTX pWinCtx, PSHCLTRANSFER pTransfer); 504 503 # endif /* VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS */ 505 504 #endif /* !VBOX_INCLUDED_GuestHost_SharedClipboard_win_h */
Note:
See TracChangeset
for help on using the changeset viewer.