VirtualBox

Changeset 80905 in vbox for trunk/include


Ignore:
Timestamp:
Sep 19, 2019 12:14:07 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
133480
Message:

Shared Clipboard/Transfers: Update.

Location:
trunk/include/VBox
Files:
2 edited

Legend:

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

    r80886 r80905  
    4848 */
    4949
    50 /** No status set. */
    51 #define SHCLTRANSFERSTATUS_NONE           0
    52 /** The transfer has been announced but is not running yet. */
    53 #define SHCLTRANSFERSTATUS_READY          1
    54 /** The transfer is active and running. */
    55 #define SHCLTRANSFERSTATUS_STARTED        2
    56 /** The transfer has been stopped. */
    57 #define SHCLTRANSFERSTATUS_STOPPED        3
    58 /** The transfer has been canceled. */
    59 #define SHCLTRANSFERSTATUS_CANCELED       4
    60 /** The transfer has been killed. */
    61 #define SHCLTRANSFERSTATUS_KILLED         5
    62 /** The transfer ran into an unrecoverable error. */
    63 #define SHCLTRANSFERSTATUS_ERROR          6
     50/**
     51 * Defines the transfer status codes.
     52 */
     53typedef enum
     54{
     55    /** No status set. */
     56    SHCLTRANSFERSTATUS_NONE = 0,
     57    /** The transfer has been initialized but is not running yet. */
     58    SHCLTRANSFERSTATUS_INITIALIZED,
     59    /** The transfer is active and running. */
     60    SHCLTRANSFERSTATUS_STARTED,
     61    /** The transfer has been stopped. */
     62    SHCLTRANSFERSTATUS_STOPPED,
     63    /** The transfer has been canceled. */
     64    SHCLTRANSFERSTATUS_CANCELED,
     65    /** The transfer has been killed. */
     66    SHCLTRANSFERSTATUS_KILLED,
     67    /** The transfer ran into an unrecoverable error. */
     68    SHCLTRANSFERSTATUS_ERROR
     69} SHCLTRANSFERSTATUSENUM;
    6470
    6571/** Defines a transfer status. */
     
    873879    SHCLPROVIDERFUNCMEMBER(TRANSFEROPEN, pfnTransferOpen)
    874880    SHCLPROVIDERFUNCMEMBER(TRANSFERCLOSE, pfnTransferClose)
    875     SHCLPROVIDERFUNCMEMBER(GETROOTS, pfnGetRoots)
     881    SHCLPROVIDERFUNCMEMBER(GETROOTS, pfnRootsGet)
    876882    SHCLPROVIDERFUNCMEMBER(LISTOPEN, pfnListOpen)
    877883    SHCLPROVIDERFUNCMEMBER(LISTCLOSE, pfnListClose)
     
    913919} SHCLTRANSFERCALLBACKDATA, *PSHCLTRANSFERCALLBACKDATA;
    914920
    915 #define SHCLTRANSFERCALLBACKDECLVOID(a_Name) \
    916     typedef DECLCALLBACK(void) RT_CONCAT(FNSHCLCALLBACK, a_Name)(PSHCLTRANSFERCALLBACKDATA pData); \
    917     typedef RT_CONCAT(FNSHCLCALLBACK, a_Name) RT_CONCAT(*PFNSHCLCALLBACK, a_Name);
    918 
    919 #define SHCLTRANSFERCALLBACKDECL(a_Name, ...) \
    920     typedef DECLCALLBACK(void) RT_CONCAT(FNSHCLCALLBACK, a_Name)(PSHCLTRANSFERCALLBACKDATA pData, __VA_ARGS__); \
     921#define SHCLTRANSFERCALLBACKDECL(a_Ret, a_Name, ...) \
     922    typedef DECLCALLBACK(a_Ret) RT_CONCAT(FNSHCLCALLBACK, a_Name)(PSHCLTRANSFERCALLBACKDATA pData, __VA_ARGS__); \
    921923    typedef RT_CONCAT(FNSHCLCALLBACK, a_Name) RT_CONCAT(*PFNSHCLCALLBACK, a_Name);
    922924
     
    924926    RT_CONCAT(PFNSHCLCALLBACK, a_Name) a_Member;
    925927
    926 SHCLTRANSFERCALLBACKDECLVOID(TRANSFERPREPARE)
    927 SHCLTRANSFERCALLBACKDECLVOID(TRANSFERSTARTED)
    928 SHCLTRANSFERCALLBACKDECLVOID(LISTHEADERCOMPLETE)
    929 SHCLTRANSFERCALLBACKDECLVOID(LISTENTRYCOMPLETE)
    930 SHCLTRANSFERCALLBACKDECL    (TRANSFERCOMPLETE, int rc)
    931 SHCLTRANSFERCALLBACKDECLVOID(TRANSFERCANCELED)
    932 SHCLTRANSFERCALLBACKDECL    (TRANSFERERROR, int rc)
     928SHCLTRANSFERCALLBACKDECL(int,  TRANSFERINITIALIZE)
     929SHCLTRANSFERCALLBACKDECL(int,  TRANSFERSTART)
     930SHCLTRANSFERCALLBACKDECL(void, LISTHEADERCOMPLETE)
     931SHCLTRANSFERCALLBACKDECL(void, LISTENTRYCOMPLETE)
     932SHCLTRANSFERCALLBACKDECL(void, TRANSFERCOMPLETE, int rc)
     933SHCLTRANSFERCALLBACKDECL(void, TRANSFERCANCELED)
     934SHCLTRANSFERCALLBACKDECL(void, TRANSFERERROR, int rc)
    933935
    934936/**
     
    938940typedef struct _SHCLTRANSFERCALLBACKS
    939941{
    940     /** Saved user pointer. */
     942    /** Saved user pointer. Optional and can be NULL. */
    941943    void *pvUser;
    942     /** Function pointer, called when the transfer is going to be prepared. */
    943     SHCLTRANSFERCALLBACKMEMBER(TRANSFERPREPARE, pfnTransferPrepare)
    944     /** Function pointer, called when the transfer has been started. */
    945     SHCLTRANSFERCALLBACKMEMBER(TRANSFERSTARTED, pfnTransferStarted)
     944    /** Function pointer, called after the transfer has been initialized. */
     945    SHCLTRANSFERCALLBACKMEMBER(TRANSFERINITIALIZE, pfnTransferInitialize)
     946    /** Function pointer, called before the transfer will be started. */
     947    SHCLTRANSFERCALLBACKMEMBER(TRANSFERSTART, pfnTransferStart)
    946948    /** Function pointer, called when reading / writing the list header is complete. */
    947949    SHCLTRANSFERCALLBACKMEMBER(LISTHEADERCOMPLETE, pfnListHeaderComplete)
     
    10791081int SharedClipboardTransferClose(PSHCLTRANSFER pTransfer);
    10801082
    1081 int SharedClipboardTransferListOpen(PSHCLTRANSFER pTransfer, PSHCLLISTOPENPARMS pOpenParms,
    1082                                        PSHCLLISTHANDLE phList);
     1083int SharedClipboardTransferListOpen(PSHCLTRANSFER pTransfer, PSHCLLISTOPENPARMS pOpenParms, PSHCLLISTHANDLE phList);
    10831084int SharedClipboardTransferListClose(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList);
    1084 int SharedClipboardTransferListGetHeader(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList,
    1085                                             PSHCLLISTHDR pHdr);
    1086 PSHCLTRANSFEROBJ SharedClipboardTransferListGetObj(PSHCLTRANSFER pTransfer,
    1087                                                                     SHCLLISTHANDLE hList, uint64_t uIdx);
    1088 int SharedClipboardTransferListRead(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList,
    1089                                        PSHCLLISTENTRY pEntry);
    1090 int SharedClipboardTransferListWrite(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList,
    1091                                         PSHCLLISTENTRY pEntry);
     1085int SharedClipboardTransferListGetHeader(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList, PSHCLLISTHDR pHdr);
     1086PSHCLTRANSFEROBJ SharedClipboardTransferListGetObj(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList, uint64_t uIdx);
     1087int SharedClipboardTransferListRead(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList, PSHCLLISTENTRY pEntry);
     1088int SharedClipboardTransferListWrite(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList, PSHCLLISTENTRY pEntry);
    10921089bool SharedClipboardTransferListHandleIsValid(PSHCLTRANSFER pTransfer, SHCLLISTHANDLE hList);
    10931090
    1094 int SharedClipboardTransferPrepare(PSHCLTRANSFER pTransfer);
    1095 int SharedClipboardTransferSetInterface(PSHCLTRANSFER pTransfer,
    1096                                            PSHCLPROVIDERCREATIONCTX pCreationCtx);
    1097 int SharedClipboardTransferSetRoots(PSHCLTRANSFER pTransfer, const char *pszRoots, size_t cbRoots);
     1091int SharedClipboardTransferSetInterface(PSHCLTRANSFER pTransfer, PSHCLPROVIDERCREATIONCTX pCreationCtx);
     1092int SharedClipboardTransferRootsSet(PSHCLTRANSFER pTransfer, const char *pszRoots, size_t cbRoots);
    10981093void SharedClipboardTransferReset(PSHCLTRANSFER pTransfer);
    10991094SharedClipboardArea *SharedClipboardTransferGetArea(PSHCLTRANSFER pTransfer);
     
    11011096uint32_t SharedClipboardTransferRootsCount(PSHCLTRANSFER pTransfer);
    11021097int SharedClipboardTransferRootsEntry(PSHCLTRANSFER pTransfer, uint64_t uIndex, PSHCLROOTLISTENTRY pEntry);
    1103 int SharedClipboardTransferRootsAsList(PSHCLTRANSFER pTransfer, PSHCLROOTLIST *ppRootList);
     1098int SharedClipboardTransferRootsGet(PSHCLTRANSFER pTransfer, PSHCLROOTLIST *ppRootList);
    11041099
    11051100SHCLTRANSFERID SharedClipboardTransferGetID(PSHCLTRANSFER pTransfer);
     
    11081103int SharedClipboardTransferHandleReply(PSHCLTRANSFER pTransfer, PSHCLREPLY pReply);
    11091104int SharedClipboardTransferRun(PSHCLTRANSFER pTransfer, PFNRTTHREAD pfnThreadFunc, void *pvUser);
     1105int SharedClipboardTransferStart(PSHCLTRANSFER pTransfer);
    11101106void SharedClipboardTransferSetCallbacks(PSHCLTRANSFER pTransfer, PSHCLTRANSFERCALLBACKS pCallbacks);
    11111107
     
    11331129bool SharedClipboardMIMENeedsCache(const char *pcszFormat, size_t cchFormatMax);
    11341130
    1135 const char *VBoxShClTransferStatusToStr(uint32_t uStatus);
     1131const char *VBoxShClTransferStatusToStr(SHCLTRANSFERSTATUS enmStatus);
    11361132
    11371133#endif /* !VBOX_INCLUDED_GuestHost_SharedClipboard_transfers_h */
  • trunk/include/VBox/VBoxGuestLib.h

    r80863 r80905  
    576576 * @{ */
    577577
     578#  ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
     579/**
     580 * Structure containing context parameters for Shared Clipboard transfers.
     581 */
     582typedef struct VBGLR3SHCLTRANSFERCMDCTX
     583{
     584    /** Callback table to use for all transfers. */
     585    SHCLTRANSFERCALLBACKS Callbacks;
     586} VBGLR3SHCLTRANSFERCMDCTX, *PVBGLR3SHCLTRANSFERCMDCTX;
     587#  endif /* VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS */
     588
    578589/**
    579590 * Structure containing the context required for
     
    591602
    592603    /** IN: HGCM client ID to use for communication. */
    593     uint32_t            uClientID;
     604    uint32_t                  uClientID;
    594605    /** IN/OUT: Context ID to retrieve or to use. */
    595     uint32_t            uContextID;
     606    uint32_t                  uContextID;
    596607    /** IN: Protocol version to use. */
    597     uint32_t            uProtocolVer;
     608    uint32_t                  uProtocolVer;
    598609    /** IN: Protocol flags. Currently unused. */
    599     uint32_t            uProtocolFlags;
     610    uint32_t                  uProtocolFlags;
    600611    /** IN: Maximum chunk size (in bytes). */
    601     uint32_t            cbChunkSize;
     612    uint32_t                  cbChunkSize;
    602613    /** OUT: Number of parameters retrieved. */
    603     uint32_t            uNumParms;
     614    uint32_t                  uNumParms;
     615#  ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
     616    VBGLR3SHCLTRANSFERCMDCTX  Transfers;
     617#  endif
    604618} VBGLR3SHCLCMDCTX, *PVBGLR3SHCLCMDCTX;
    605619
     
    613627    VBGLR3CLIPBOARDEVENTTYPE_READ_DATA,
    614628    VBGLR3CLIPBOARDEVENTTYPE_QUIT,
    615 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
     629#  ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
    616630    /** Reports a transfer status to the guest. */
    617631    VBGLR3CLIPBOARDEVENTTYPE_URI_TRANSFER_STATUS,
    618 #endif
     632#  endif
    619633    /** Blow the type up to 32-bit. */
    620634    VBGLR3CLIPBOARDEVENTTYPE_32BIT_HACK = 0x7fffffff
     
    636650        /** Reports that data needs to be read from the guest. */
    637651        SHCLDATAREQ          ReadData;
    638 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
     652#  ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
    639653        /** Reports a transfer status to the guest. */
    640654        struct
     
    647661            SHCLTRANSFERREPORT Report;
    648662        } TransferStatus;
    649 #endif
     663#  endif /* VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS */
    650664    } u;
    651665} VBGLR3CLIPBOARDEVENT, *PVBGLR3CLIPBOARDEVENT;
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