VirtualBox

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


Ignore:
Timestamp:
Jul 9, 2019 8:14:01 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
131932
Message:

Shared Clipboard/URI: Update.

Location:
trunk/include/VBox/GuestHost
Files:
3 edited

Legend:

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

    r79497 r79630  
    4848
    4949/** A Shared Clipboard list handle. */
    50 typedef uint64_t VBOXCLIPBOARDLISTHANDLE;
     50typedef uint64_t SHAREDCLIPBOARDLISTHANDLE;
    5151/** Pointer to a Shared Clipboard list handle. */
    52 typedef VBOXCLIPBOARDLISTHANDLE *PVBOXCLIPBOARDLISTHANDLE;
     52typedef SHAREDCLIPBOARDLISTHANDLE *PSHAREDCLIPBOARDLISTHANDLE;
    5353
    5454/** Specifies an invalid Shared Clipboard list handle. */
     
    546546
    547547/**
    548  * Structure for a Shared Clipboard list header.
     548 * Structure for keeping a reply message.
     549 */
     550typedef struct _VBOXCLIPBOARDREPLY
     551{
     552    /** Message type of type VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_XXX. */
     553    uint32_t uType;
     554    /** IPRT result of overall operation. Note: int vs. uint32! */
     555    uint32_t rc;
     556    union
     557    {
     558        struct
     559        {
     560            SHAREDCLIPBOARDLISTHANDLE uHandle;
     561        } ListOpen;
     562        struct
     563        {
     564            SHAREDCLIPBOARDOBJHANDLE uHandle;
     565        } ObjOpen;
     566    } u;
     567    /** Pointer to optional payload. */
     568    void    *pvPayload;
     569    /** Payload size (in bytes). */
     570    uint32_t cbPayload;
     571} VBOXCLIPBOARDREPLY, *PVBOXCLIPBOARDREPLY;
     572
     573/**
     574 * Structure for maintaining Shared Clipboard list open paramters.
     575 */
     576typedef struct _VBOXCLIPBOARDLISTOPENPARMS
     577{
     578    /** Listing flags (see VBOX_SHAREDCLIPBOARD_LIST_FLAG_XXX). */
     579    uint32_t fList;
     580    /** Size (in bytes) of the filter string. */
     581    uint32_t cbFilter;
     582    /** Filter string. DOS wilcard-style. */
     583    char    *pszFilter;
     584    /** Size (in bytes) of the listing path. */
     585    uint32_t cbPath;
     586    /** Listing path (absolute). If empty or NULL the listing's root path will be opened. */
     587    char    *pszPath;
     588} VBOXCLIPBOARDLISTOPENPARMS, *PVBOXCLIPBOARDLISTOPENPARMS;
     589
     590/**
     591 * Structure for keeping a Shared Clipboard list header.
    549592 */
    550593typedef struct _VBOXCLIPBOARDLISTHDR
    551594{
    552     uint32_t fList;                 /* IN */
    553     uint32_t cbFilter;              /* IN */
    554     char    *pszFilter;             /* IN */
    555     uint32_t fFeatures;             /* OUT */
    556     uint64_t cTotalObjects;         /* OUT */
    557     uint64_t cbTotalSize;           /* OUT */
    558     uint32_t enmCompression;        /* IN / OUT */
    559     uint32_t enmChecksumType;       /* IN / OUT */
     595    /** Feature flag(s). Not being used atm. */
     596    uint32_t fFeatures;
     597    /** Total objects returned. */
     598    uint64_t cTotalObjects;
     599    /** Total size (in bytes) returned. */
     600    uint64_t cbTotalSize;
     601    /** Compression being method used. Not implemented yet. */
     602    uint32_t enmCompression;
     603    /** Checksum type being used. Not implemented yet. */
     604    uint32_t enmChecksumType;
    560605} VBOXCLIPBOARDLISTHDR, *PVBOXCLIPBOARDLISTHDR;
    561606
     
    565610typedef struct _VBOXCLIPBOARDLISTENTRY
    566611{
     612    /** Information flag(s). */
    567613    uint32_t fInfo;
     614    /** Size (in bytes) of the actual list entry. */
    568615    uint32_t cbInfo;
     616    /** Data of the actual list entry. */
    569617    void    *pvInfo;
    570618} VBOXCLIPBOARDLISTENTRY, *PVBOXCLIPBOARDLISTENTRY;
     
    575623typedef struct _VBOXCLIPBOARDOBJHDR
    576624{
    577     uint32_t                    enmType;
     625    /** Header type. Currently not being used. */
     626    uint32_t enmType;
    578627} VBOXCLIPBOARDOBJHDR, *PVBOXCLIPBOARDOBJHDR;
    579628
     
    589638    /** Object is a file. */
    590639    SHAREDCLIPBOARDAREAOBJTYPE_FILE,
     640    /** Object is a symbolic link. */
     641    SHAREDCLIPBOARDAREAOBJTYPE_SYMLINK,
    591642    /** The usual 32-bit hack. */
    592     SHAREDCLIPBOARDAREAOBJTYPE__32Bit_Hack = 0x7fffffff
     643    SHAREDCLIPBOARDAREAOBJTYPE_32Bit_Hack = 0x7fffffff
    593644} SHAREDCLIPBOARDAREAOBJTYPE;
    594645
     
    771822bool SharedClipboardURIListHdrIsValid(PVBOXCLIPBOARDLISTHDR pListHdr);
    772823
     824int SharedClipboardURIListOpenParmsCopy(PVBOXCLIPBOARDLISTOPENPARMS pDst, PVBOXCLIPBOARDLISTOPENPARMS pSrc);
     825PVBOXCLIPBOARDLISTOPENPARMS SharedClipboardURIListOpenParmsDup(PVBOXCLIPBOARDLISTOPENPARMS pParms);
     826int SharedClipboardURIListOpenParmsInit(PVBOXCLIPBOARDLISTOPENPARMS pParms);
     827void SharedClipboardURIListOpenParmsDestroy(PVBOXCLIPBOARDLISTOPENPARMS pParms);
     828
    773829int SharedClipboardURIListEntryAlloc(PVBOXCLIPBOARDLISTENTRY *ppListEntry);
    774830void SharedClipboardURIListEntryFree(PVBOXCLIPBOARDLISTENTRY pListEntry);
     831int SharedClipboardURIListEntryCopy(PVBOXCLIPBOARDLISTENTRY pDst, PVBOXCLIPBOARDLISTENTRY pSrc);
    775832PVBOXCLIPBOARDLISTENTRY SharedClipboardURIListEntryDup(PVBOXCLIPBOARDLISTENTRY pListEntry);
    776833int SharedClipboardURIListEntryInit(PVBOXCLIPBOARDLISTENTRY pListEntry);
     
    803860    SHAREDCLIPBOARDURITRANSFER *pTransfer;
    804861    SHAREDCLIPBOARDOBJHANDLE    uHandle;
    805     SHAREDCLIPBOARDFSOBJINFO   *pObjInfo;
     862} SHAREDCLIPBOARDCLIENTURIOBJCTX, *PSHAREDCLIPBOARDCLIENTURIOBJCTX;
     863
     864typedef struct _SHAREDCLIPBOARDURITRANSFEROBJSTATE
     865{
    806866    uint64_t                    cbProcessed;
    807 } SHAREDCLIPBOARDCLIENTURIOBJCTX, *PSHAREDCLIPBOARDCLIENTURIOBJCTX;
    808 
    809 /**
    810  * Enumeration specifying an URI transfer status.
    811  */
    812 typedef enum _SHAREDCLIPBOARDURITRANSFERSTATUS
    813 {
    814     /** No status set. */
    815     SHAREDCLIPBOARDURITRANSFERSTATUS_NONE = 0,
    816     /** The transfer has been announced but is not running yet. */
    817     SHAREDCLIPBOARDURITRANSFERSTATUS_READY,
    818     /** The transfer is active and running. */
    819     SHAREDCLIPBOARDURITRANSFERSTATUS_RUNNING,
    820     /** The usual 32-bit hack. */
    821     SHAREDCLIPBOARDURITRANSFERSTATUS_32BIT_HACK = 0x7fffffff
    822 } SHAREDCLIPBOARDURITRANSFERSTATUS;
    823 
     867} SHAREDCLIPBOARDURITRANSFEROBJSTATE, *PSHAREDCLIPBOARDURITRANSFEROBJSTATE;
     868
     869typedef struct _SHAREDCLIPBOARDURITRANSFEROBJ
     870{
     871    SHAREDCLIPBOARDOBJHANDLE           uHandle;
     872    char                              *pszPathAbs;
     873    SHAREDCLIPBOARDFSOBJINFO           objInfo;
     874    SHAREDCLIPBOARDSOURCE              enmSource;
     875    SHAREDCLIPBOARDURITRANSFEROBJSTATE State;
     876} SHAREDCLIPBOARDURITRANSFEROBJ, *PSHAREDCLIPBOARDURITRANSFEROBJ;
     877
     878/** No status set. */
     879#define SHAREDCLIPBOARDURITRANSFERSTATUS_NONE           0
     880/** The transfer has been announced but is not running yet. */
     881#define SHAREDCLIPBOARDURITRANSFERSTATUS_READY          1
     882/** The transfer is active and running. */
     883#define SHAREDCLIPBOARDURITRANSFERSTATUS_RUNNING        2
     884/** The transfer has been completed. */
     885#define SHAREDCLIPBOARDURITRANSFERSTATUS_COMPLETED      3
     886/** The transfer has been canceled. */
     887#define SHAREDCLIPBOARDURITRANSFERSTATUS_CANCELED       4
     888/** The transfer ran into an unrecoverable error. */
     889#define SHAREDCLIPBOARDURITRANSFERSTATUS_ERROR          5
     890
     891/** Defines a transfer status. */
     892typedef uint32_t SHAREDCLIPBOARDURITRANSFERSTATUS;
     893
     894/**
     895 * Structure for an (optional) URI transfer event payload.
     896 */
    824897typedef struct _SHAREDCLIPBOARDURITRANSFERPAYLOAD
    825898{
     899    /** Payload ID; currently unused. */
    826900    uint32_t uID;
     901    /** Pointer to actual payload data. */
    827902    void    *pvData;
     903    /** Size (in bytes) of actual payload data. */
    828904    uint32_t cbData;
    829905} SHAREDCLIPBOARDURITRANSFERPAYLOAD, *PSHAREDCLIPBOARDURITRANSFERPAYLOAD;
    830906
     907/**
     908 * Structure for maintaining an URI transfer event.
     909 */
    831910typedef struct _SHAREDCLIPBOARDURITRANSFEREVENT
    832911{
     912    /** Event semaphore for signalling the event. */
    833913    RTSEMEVENT                         hEventSem;
     914    /** Payload to this event. Optional and can be NULL. */
    834915    PSHAREDCLIPBOARDURITRANSFERPAYLOAD pPayload;
    835916} SHAREDCLIPBOARDURITRANSFEREVENT, *PSHAREDCLIPBOARDURITRANSFEREVENT;
    836917
     918/**
     919 * Enumeration for an URI transfer event type.
     920 */
    837921typedef enum _SHAREDCLIPBOARDURITRANSFEREVENTTYPE
    838922{
    839923    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_UNKNOWN,
     924    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_OPEN,
     925    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_CLOSE,
    840926    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_HDR_READ,
     927    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_HDR_WRITE,
    841928    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_ENTRY_READ,
    842     SHAREDCLIPBOARDURITRANSFEREVENTTYPE_FILE_DATA_READ,
     929    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_ENTRY_WRITE,
     930    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_FILE_OPEN,
     931    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_FILE_CLOSE,
     932    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_FILE_READ,
     933    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_FILE_WRITE,
     934    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_ERROR,
    843935    /** Marks the end of the event list. */
    844936    SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LAST,
     
    847939} SHAREDCLIPBOARDURITRANSFEREVENTTYPE;
    848940
     941/** Map of URI transfer events.
     942 *  The key specifies the event type of SHAREDCLIPBOARDURITRANSFEREVENTTYPE. */
    849943typedef std::map<uint32_t, SHAREDCLIPBOARDURITRANSFEREVENT *> SharedClipboardURITransferEventMap;
    850944
    851 typedef struct _SHAREDCLIPBOARDURITRANSFEREVENTS
    852 {
    853     SharedClipboardURITransferEventMap *pMap;
    854 } SHAREDCLIPBOARDURITRANSFEREVENTS, *PSHAREDCLIPBOARDURITRANSFEREVENTS;
     945typedef struct _SHAREDCLIPBOARDURILISTHANDLEINFO
     946{
     947    VBOXCLIPBOARDLISTOPENPARMS OpenParms;
     948    RTFMODE                     fMode;
     949    union
     950    {
     951        struct
     952        {
     953            union
     954            {
     955                RTDIR  hDirRoot;
     956                RTFILE hFile;
     957            };
     958        } Local;
     959    } u;
     960} SHAREDCLIPBOARDURILISTHANDLEINFO, *PSHAREDCLIPBOARDURILISTHANDLEINFO;
     961
     962typedef struct _SHAREDCLIPBOARDOBJHANDLEINFO
     963{
     964    union
     965    {
     966        struct
     967        {
     968            RTDIR hDirRoot;
     969        } Local;
     970    } u;
     971} SHAREDCLIPBOARDURIOBJHANDLEINFO, *PSHAREDCLIPBOARDURIOBJHANDLEINFO;
     972
     973/** Map of URI list handles.
     974 *  The key specifies the list handle. */
     975typedef std::map<SHAREDCLIPBOARDLISTHANDLE, SHAREDCLIPBOARDURILISTHANDLEINFO *> SharedClipboardURIListMap;
     976
     977typedef std::map<SHAREDCLIPBOARDOBJHANDLE, SHAREDCLIPBOARDURILISTHANDLEINFO *> SharedClipboardURIObjMap;
    855978
    856979/**
     
    866989    /** The transfer's source. */
    867990    SHAREDCLIPBOARDSOURCE               enmSource;
    868     /** Context of current object being handled. */
    869     SHAREDCLIPBOARDCLIENTURIOBJCTX      ObjCtx;
    870991} SHAREDCLIPBOARDURITRANSFERSTATE, *PSHAREDCLIPBOARDURITRANSFERSTATE;
    871992
     
    8901011    typedef RT_CONCAT(FNSHAREDCLIPBOARDPROVIDER, a_Name) RT_CONCAT(*PFNSHAREDCLIPBOARDPROVIDER, a_Name);
    8911012
     1013/** Defines an URI clipboard provider function declaration with additional parameters. */
     1014#define SHAREDCLIPBOARDPROVIDERFUNCDECLRET(a_Ret, a_Name, ...) \
     1015    typedef DECLCALLBACK(a_Ret) RT_CONCAT(FNSHAREDCLIPBOARDPROVIDER, a_Name)(PSHAREDCLIPBOARDPROVIDERCTX, __VA_ARGS__); \
     1016    typedef RT_CONCAT(FNSHAREDCLIPBOARDPROVIDER, a_Name) RT_CONCAT(*PFNSHAREDCLIPBOARDPROVIDER, a_Name);
     1017
    8921018/** Defines an URI clipboard provider function declaration (no additional parameters). */
    8931019#define SHAREDCLIPBOARDPROVIDERFUNCDECLVOID(a_Name) \
     
    9011027SHAREDCLIPBOARDPROVIDERFUNCDECLVOID(TRANSFEROPEN)
    9021028SHAREDCLIPBOARDPROVIDERFUNCDECLVOID(TRANSFERCLOSE)
    903 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTOPEN, PVBOXCLIPBOARDLISTHDR pListHdr, PVBOXCLIPBOARDLISTHANDLE phList)
    904 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTCLOSE, VBOXCLIPBOARDLISTHANDLE hList);
    905 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTHDRREAD, VBOXCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTHDR pListHdr)
    906 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTHDRWRITE, VBOXCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTHDR pListHdr)
    907 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTENTRYREAD, VBOXCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTENTRY pEntry)
    908 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTENTRYWRITE, VBOXCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTENTRY pEntry)
     1029SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTOPEN, PVBOXCLIPBOARDLISTOPENPARMS pOpenParms, PSHAREDCLIPBOARDLISTHANDLE phList)
     1030SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTCLOSE, SHAREDCLIPBOARDLISTHANDLE hList);
     1031SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTHDRREAD, SHAREDCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTHDR pListHdr)
     1032SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTHDRWRITE, SHAREDCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTHDR pListHdr)
     1033SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTENTRYREAD, SHAREDCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTENTRY pEntry)
     1034SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTENTRYWRITE, SHAREDCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTENTRY pEntry)
    9091035SHAREDCLIPBOARDPROVIDERFUNCDECL(OBJOPEN, const char *pszPath, PVBOXCLIPBOARDCREATEPARMS pCreateParms, PSHAREDCLIPBOARDOBJHANDLE phObj)
    9101036SHAREDCLIPBOARDPROVIDERFUNCDECL(OBJCLOSE, SHAREDCLIPBOARDOBJHANDLE hObj)
    9111037SHAREDCLIPBOARDPROVIDERFUNCDECL(OBJREAD, SHAREDCLIPBOARDOBJHANDLE hObj, void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbRead)
    9121038SHAREDCLIPBOARDPROVIDERFUNCDECL(OBJWRITE, SHAREDCLIPBOARDOBJHANDLE hObj, void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbWritten)
     1039SHAREDCLIPBOARDPROVIDERFUNCDECLRET(uint64_t, OBJGETSIZE, SHAREDCLIPBOARDOBJHANDLE hObj)
     1040SHAREDCLIPBOARDPROVIDERFUNCDECLRET(uint64_t, OBJGETPROCESSED, SHAREDCLIPBOARDOBJHANDLE hObj)
     1041SHAREDCLIPBOARDPROVIDERFUNCDECLRET(const char *, OBJGETPATH, SHAREDCLIPBOARDOBJHANDLE hObj)
    9131042
    9141043/**
     
    9191048    SHAREDCLIPBOARDPROVIDERFUNCMEMBER(TRANSFEROPEN, pfnTransferOpen);
    9201049    SHAREDCLIPBOARDPROVIDERFUNCMEMBER(TRANSFERCLOSE, pfnTransferClose);
    921     /** Optional. */
    9221050    SHAREDCLIPBOARDPROVIDERFUNCMEMBER(LISTOPEN, pfnListOpen);
    923     /** Optional. */
    9241051    SHAREDCLIPBOARDPROVIDERFUNCMEMBER(LISTCLOSE, pfnListClose);
    9251052    SHAREDCLIPBOARDPROVIDERFUNCMEMBER(LISTHDRREAD, pfnListHdrRead);
     
    9311058    SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJREAD, pfnObjRead);
    9321059    SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJWRITE, pfnObjWrite);
     1060    SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJGETSIZE, pfnObjGetSize);
     1061    SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJGETPROCESSED, pfnObjGetProcessed);
     1062    SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJGETPATH, pfnObjGetPath);
    9331063} SHAREDCLIPBOARDPROVIDERINTERFACE, *PSHAREDCLIPBOARDPROVIDERINTERFACE;
    9341064
     
    10321162    /** The transfer's state (for SSM, later). */
    10331163    SHAREDCLIPBOARDURITRANSFERSTATE     State;
    1034     SHAREDCLIPBOARDURITRANSFEREVENTS    Events;
     1164    /** Events related to this transfer. */
     1165    SharedClipboardURITransferEventMap *pMapEvents;
     1166    SharedClipboardURIListMap          *pMapLists;
     1167    SharedClipboardURIObjMap           *pMapObj;
    10351168    /** The transfer's own (local) area, if any (can be NULL if not needed).
    10361169     *  The area itself has a clipboard area ID assigned.
    10371170     *  On the host this area ID gets shared (maintained / locked) across all VMs via VBoxSVC. */
    10381171    SharedClipboardArea                *pArea;
    1039     /** The URI list for this transfer. */
    1040     SharedClipboardURIList             *pURIList;
    10411172    SHAREDCLIPBOARDPROVIDERCTX          ProviderCtx;
    10421173    /** The transfer's provider interface. */
     
    10821213int SharedClipboardURITransferClose(PSHAREDCLIPBOARDURITRANSFER pTransfer);
    10831214
    1084 int SharedClipboardURITransferListOpen(PSHAREDCLIPBOARDURITRANSFER pTransfer, PVBOXCLIPBOARDLISTHDR pListHdr,
    1085                                        PVBOXCLIPBOARDLISTHANDLE phList);
    1086 int SharedClipboardURITransferListClose(PSHAREDCLIPBOARDURITRANSFER pTransfer, VBOXCLIPBOARDLISTHANDLE hList);
    1087 int SharedClipboardURITransferListRead(PSHAREDCLIPBOARDURITRANSFER pTransfer, VBOXCLIPBOARDLISTHANDLE hList,
     1215int SharedClipboardURITransferListOpen(PSHAREDCLIPBOARDURITRANSFER pTransfer, PVBOXCLIPBOARDLISTOPENPARMS pOpenParms,
     1216                                       PSHAREDCLIPBOARDLISTHANDLE phList);
     1217int SharedClipboardURITransferListClose(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDLISTHANDLE hList);
     1218int SharedClipboardURITransferListGetHeader(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDLISTHANDLE hList,
     1219                                            PVBOXCLIPBOARDLISTHDR pHdr);
     1220PSHAREDCLIPBOARDURITRANSFEROBJ SharedClipboardURITransferListGetObj(PSHAREDCLIPBOARDURITRANSFER pTransfer,
     1221                                                                    SHAREDCLIPBOARDLISTHANDLE hList, uint64_t uIdx);
     1222int SharedClipboardURITransferListRead(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDLISTHANDLE hList,
    10881223                                       PVBOXCLIPBOARDLISTENTRY pEntry);
    1089 int SharedClipboardURITransferListWrite(PSHAREDCLIPBOARDURITRANSFER pTransfer, VBOXCLIPBOARDLISTHANDLE hList,
     1224int SharedClipboardURITransferListWrite(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDLISTHANDLE hList,
    10901225                                        PVBOXCLIPBOARDLISTENTRY pEntry);
    1091 bool SharedClipboardURITransferListHandleIsValid(PSHAREDCLIPBOARDURITRANSFER pTransfer, VBOXCLIPBOARDLISTHANDLE hList);
     1226bool SharedClipboardURITransferListHandleIsValid(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDLISTHANDLE hList);
    10921227
    10931228int SharedClipboardURITransferPrepare(PSHAREDCLIPBOARDURITRANSFER pTransfer);
    1094 int SharedClipboardURITransferProviderCreate(PSHAREDCLIPBOARDURITRANSFER pTransfer,
    1095                                              PSHAREDCLIPBOARDPROVIDERCREATIONCTX pCreationCtx);
     1229int SharedClipboardURITransferSetInterface(PSHAREDCLIPBOARDURITRANSFER pTransfer,
     1230                                           PSHAREDCLIPBOARDPROVIDERCREATIONCTX pCreationCtx);
    10961231void SharedClipboardURITransferReset(PSHAREDCLIPBOARDURITRANSFER pTransfer);
    10971232SharedClipboardArea *SharedClipboardURITransferGetArea(PSHAREDCLIPBOARDURITRANSFER pTransfer);
    1098 PSHAREDCLIPBOARDCLIENTURIOBJCTX SharedClipboardURITransferGetCurrentObjCtx(PSHAREDCLIPBOARDURITRANSFER pTransfer);
    1099 const SharedClipboardURIObject *SharedClipboardURITransferGetCurrentObject(PSHAREDCLIPBOARDURITRANSFER pTransfer);
    1100 SharedClipboardURIList *SharedClipboardURITransferGetList(PSHAREDCLIPBOARDURITRANSFER pTransfer);
    1101 SharedClipboardURIObject *SharedClipboardURITransferGetObject(PSHAREDCLIPBOARDURITRANSFER pTransfer, uint64_t uIdx);
    11021233SHAREDCLIPBOARDSOURCE SharedClipboardURITransferGetSource(PSHAREDCLIPBOARDURITRANSFER pTransfer);
    11031234SHAREDCLIPBOARDURITRANSFERSTATUS SharedClipboardURITransferGetStatus(PSHAREDCLIPBOARDURITRANSFER pTransfer);
     1235int SharedClipboardURITransferHandleReply(PSHAREDCLIPBOARDURITRANSFER pTransfer, PVBOXCLIPBOARDREPLY pReply);
    11041236int SharedClipboardURITransferRun(PSHAREDCLIPBOARDURITRANSFER pTransfer, PFNRTTHREAD pfnThreadFunc, void *pvUser);
    11051237void SharedClipboardURITransferSetCallbacks(PSHAREDCLIPBOARDURITRANSFER pTransfer,
  • trunk/include/VBox/GuestHost/SharedClipboard-win.h

    r79497 r79630  
    287287
    288288    VBoxClipboardWinStreamImpl(VBoxClipboardWinDataObject *pParent,
    289                                PSHAREDCLIPBOARDURITRANSFER pTransfer, uint64_t uObjIdx);
     289                               PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDOBJHANDLE hObj);
    290290    virtual ~VBoxClipboardWinStreamImpl(void);
    291291
     
    318318
    319319    /** Pointer to the parent data object. */
    320     VBoxClipboardWinDataObject *m_pParent;
     320    VBoxClipboardWinDataObject    *m_pParent;
    321321    /** The stream object's current reference count. */
    322     LONG                        m_lRefCount;
    323     /** Pointer to the associated URI transfer object. */
    324     PSHAREDCLIPBOARDURITRANSFER m_pURITransfer;
    325     /** Index of the object to handle within the associated URI transfer object. */
    326     uint64_t                    m_uObjIdx;
     322    LONG                           m_lRefCount;
     323    /** Pointer to the associated URI transfer. */
     324    PSHAREDCLIPBOARDURITRANSFER    m_pURITransfer;
     325    /** Handle to the associated URI object. */
     326    SHAREDCLIPBOARDOBJHANDLE       m_hObj;
    327327};
    328328
  • trunk/include/VBox/GuestHost/SharedClipboard.h

    r79497 r79630  
    5858#define VBOX_SHARED_CLIPBOARD_FMT_URI_LIST      UINT32_C(0x08)
    5959#endif
    60 
    61 /**
    62  * The host messages for the guest.
    63  */
    64 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_QUIT                   1
    65 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_READ_DATA              2
    66 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_REPORT_FORMATS         3
    67 
    68 /** Initiates a new transfer (read / write) on the guest side. */
    69 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_TRANSFER_START     4
    70 /** Open an URI list on the guest side. */
    71 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_OPEN          5
    72 /** Closes a formerly opened URI list on the guest side. */
    73 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_CLOSE         6
    74 /** Reads a list header from the guest. */
    75 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_HDR_READ      7
    76 /** Writes a list header to the guest. */
    77 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_HDR_WRITE     8
    78 /** Reads a list entry from the guest. */
    79 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_ENTRY_READ    9
    80 /** Writes a list entry to the guest. */
    81 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_ENTRY_WRITE   10
    82 /** Open an URI object on the guest side. */
    83 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_OPEN           11
    84 /** Closes a formerly opened URI object on the guest side. */
    85 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_CLOSE          12
    86 /** Reads from an object on the guest side. */
    87 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_READ           13
    88 /** Writes to an object on the guest side. */
    89 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_WRITE          14
    90 /** Indicates that the host has canceled a transfer. */
    91 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_CANCEL             15
    92 /** Indicates that the an unrecoverable error on the host occurred . */
    93 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_ERROR              16
    9460
    9561/**
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