VirtualBox

Changeset 99951 in vbox for trunk/include/VBox/GuestHost


Ignore:
Timestamp:
May 24, 2023 10:37:12 AM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
157609
Message:

Shared Clipboard: Moved code for handling local filesystems with transfers into an own provider interface implementation. This cleans up the generic code a lot. bugref:9437

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/GuestHost/SharedClipboard-transfers.h

    r99937 r99951  
    709709/** Pointer to a Shared Clipboard transfer provider interface table. */
    710710typedef SHCLTXPROVIDERIFACE *PSHCLTXPROVIDERIFACE;
     711
     712/** Queries (assigns) a Shared Clipboard provider interface. */
     713#define SHCLTXPROVIDERIFACE_QUERY(a_Iface, a_Name) \
     714    a_Iface->pfnRootsGet       = a_Name ## RootsGet; \
     715    a_Iface->pfnListOpen       = a_Name ## ListOpen; \
     716    a_Iface->pfnListClose      = a_Name ## ListClose; \
     717    a_Iface->pfnListHdrRead    = a_Name ## ListHdrRead; \
     718    a_Iface->pfnListHdrWrite   = a_Name ## ListHdrWrite; \
     719    a_Iface->pfnListEntryRead  = a_Name ## ListEntryRead; \
     720    a_Iface->pfnListEntryWrite = a_Name ## ListEntryWrite; \
     721    a_Iface->pfnObjOpen        = a_Name ## ObjOpen; \
     722    a_Iface->pfnObjClose       = a_Name ## ObjClose; \
     723    a_Iface->pfnObjRead        = a_Name ## ObjRead; \
     724    a_Iface->pfnObjWrite       = a_Name ## ObjWrite;
     725
     726/** Queries (assigns) a Shared Clipboard provider interface + returns the interface pointer. */
     727#define SHCLTXPROVIDERIFACE_QUERY_RET(a_Iface, a_Name) \
     728    SHCLTXPROVIDERIFACE_QUERY(a_Iface, a_Name); return a_Iface;
    711729
    712730/**
     
    954972};
    955973
     974/** @name Shared Clipboard transfer interface providers.
     975 *  @{
     976 */
     977PSHCLTXPROVIDERIFACE VBClTransferQueryIfaceLocal(PSHCLTXPROVIDERIFACE pIface);
     978/** @} */
     979
    956980/** @name Shared Clipboard transfer object API.
    957981 *  @{
     
    973997int ShClTransferObjRead(PSHCLTRANSFER pTransfer, SHCLOBJHANDLE hObj, void *pvBuf, uint32_t cbBuf, uint32_t fFlags, uint32_t *pcbRead);
    974998int ShClTransferObjWrite(PSHCLTRANSFER pTransfer, SHCLOBJHANDLE hObj, void *pvBuf, uint32_t cbBuf, uint32_t fFlags, uint32_t *pcbWritten);
     999PSHCLOBJHANDLEINFO ShClTransferObjGet(PSHCLTRANSFER pTransfer, SHCLOBJHANDLE hObj);
    9751000
    9761001PSHCLOBJDATACHUNK ShClTransferObjDataChunkDup(PSHCLOBJDATACHUNK pDataChunk);
     
    10021027int ShClTransferListClose(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList);
    10031028int ShClTransferListGetHeader(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList, PSHCLLISTHDR pHdr);
     1029PSHCLLISTHANDLEINFO ShClTransferListGetByHandle(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList);
    10041030PSHCLTRANSFEROBJ ShClTransferListGetObj(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList, uint64_t uIdx);
    10051031int ShClTransferListRead(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList, PSHCLLISTENTRY pEntry);
     
    11041130#endif /* VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS_HTTP */
    11051131
     1132/** @name Shared Clipboard transfers utility functions.
     1133 *  @{
     1134 */
     1135const char *ShClTransferStatusToStr(SHCLTRANSFERSTATUS enmStatus);
     1136int ShClTransferValidatePath(const char *pcszPath, bool fMustExist);
    11061137void ShClFsObjFromIPRT(PSHCLFSOBJINFO pDst, PCRTFSOBJINFO pSrc);
     1138/** @} */
    11071139
    11081140/** @name Shared Clipboard MIME functions.
     
    11131145/** @} */
    11141146
    1115 const char *ShClTransferStatusToStr(SHCLTRANSFERSTATUS enmStatus);
    1116 
    11171147#endif /* !VBOX_INCLUDED_GuestHost_SharedClipboard_transfers_h */
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