Changeset 79630 in vbox for trunk/include/VBox/GuestHost
- Timestamp:
- Jul 9, 2019 8:14:01 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 131932
- Location:
- trunk/include/VBox/GuestHost
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/GuestHost/SharedClipboard-uri.h
r79497 r79630 48 48 49 49 /** A Shared Clipboard list handle. */ 50 typedef uint64_t VBOXCLIPBOARDLISTHANDLE;50 typedef uint64_t SHAREDCLIPBOARDLISTHANDLE; 51 51 /** Pointer to a Shared Clipboard list handle. */ 52 typedef VBOXCLIPBOARDLISTHANDLE *PVBOXCLIPBOARDLISTHANDLE;52 typedef SHAREDCLIPBOARDLISTHANDLE *PSHAREDCLIPBOARDLISTHANDLE; 53 53 54 54 /** Specifies an invalid Shared Clipboard list handle. */ … … 546 546 547 547 /** 548 * Structure for a Shared Clipboard list header. 548 * Structure for keeping a reply message. 549 */ 550 typedef 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 */ 576 typedef 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. 549 592 */ 550 593 typedef struct _VBOXCLIPBOARDLISTHDR 551 594 { 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; 560 605 } VBOXCLIPBOARDLISTHDR, *PVBOXCLIPBOARDLISTHDR; 561 606 … … 565 610 typedef struct _VBOXCLIPBOARDLISTENTRY 566 611 { 612 /** Information flag(s). */ 567 613 uint32_t fInfo; 614 /** Size (in bytes) of the actual list entry. */ 568 615 uint32_t cbInfo; 616 /** Data of the actual list entry. */ 569 617 void *pvInfo; 570 618 } VBOXCLIPBOARDLISTENTRY, *PVBOXCLIPBOARDLISTENTRY; … … 575 623 typedef struct _VBOXCLIPBOARDOBJHDR 576 624 { 577 uint32_t enmType; 625 /** Header type. Currently not being used. */ 626 uint32_t enmType; 578 627 } VBOXCLIPBOARDOBJHDR, *PVBOXCLIPBOARDOBJHDR; 579 628 … … 589 638 /** Object is a file. */ 590 639 SHAREDCLIPBOARDAREAOBJTYPE_FILE, 640 /** Object is a symbolic link. */ 641 SHAREDCLIPBOARDAREAOBJTYPE_SYMLINK, 591 642 /** The usual 32-bit hack. */ 592 SHAREDCLIPBOARDAREAOBJTYPE_ _32Bit_Hack = 0x7fffffff643 SHAREDCLIPBOARDAREAOBJTYPE_32Bit_Hack = 0x7fffffff 593 644 } SHAREDCLIPBOARDAREAOBJTYPE; 594 645 … … 771 822 bool SharedClipboardURIListHdrIsValid(PVBOXCLIPBOARDLISTHDR pListHdr); 772 823 824 int SharedClipboardURIListOpenParmsCopy(PVBOXCLIPBOARDLISTOPENPARMS pDst, PVBOXCLIPBOARDLISTOPENPARMS pSrc); 825 PVBOXCLIPBOARDLISTOPENPARMS SharedClipboardURIListOpenParmsDup(PVBOXCLIPBOARDLISTOPENPARMS pParms); 826 int SharedClipboardURIListOpenParmsInit(PVBOXCLIPBOARDLISTOPENPARMS pParms); 827 void SharedClipboardURIListOpenParmsDestroy(PVBOXCLIPBOARDLISTOPENPARMS pParms); 828 773 829 int SharedClipboardURIListEntryAlloc(PVBOXCLIPBOARDLISTENTRY *ppListEntry); 774 830 void SharedClipboardURIListEntryFree(PVBOXCLIPBOARDLISTENTRY pListEntry); 831 int SharedClipboardURIListEntryCopy(PVBOXCLIPBOARDLISTENTRY pDst, PVBOXCLIPBOARDLISTENTRY pSrc); 775 832 PVBOXCLIPBOARDLISTENTRY SharedClipboardURIListEntryDup(PVBOXCLIPBOARDLISTENTRY pListEntry); 776 833 int SharedClipboardURIListEntryInit(PVBOXCLIPBOARDLISTENTRY pListEntry); … … 803 860 SHAREDCLIPBOARDURITRANSFER *pTransfer; 804 861 SHAREDCLIPBOARDOBJHANDLE uHandle; 805 SHAREDCLIPBOARDFSOBJINFO *pObjInfo; 862 } SHAREDCLIPBOARDCLIENTURIOBJCTX, *PSHAREDCLIPBOARDCLIENTURIOBJCTX; 863 864 typedef struct _SHAREDCLIPBOARDURITRANSFEROBJSTATE 865 { 806 866 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 869 typedef 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. */ 892 typedef uint32_t SHAREDCLIPBOARDURITRANSFERSTATUS; 893 894 /** 895 * Structure for an (optional) URI transfer event payload. 896 */ 824 897 typedef struct _SHAREDCLIPBOARDURITRANSFERPAYLOAD 825 898 { 899 /** Payload ID; currently unused. */ 826 900 uint32_t uID; 901 /** Pointer to actual payload data. */ 827 902 void *pvData; 903 /** Size (in bytes) of actual payload data. */ 828 904 uint32_t cbData; 829 905 } SHAREDCLIPBOARDURITRANSFERPAYLOAD, *PSHAREDCLIPBOARDURITRANSFERPAYLOAD; 830 906 907 /** 908 * Structure for maintaining an URI transfer event. 909 */ 831 910 typedef struct _SHAREDCLIPBOARDURITRANSFEREVENT 832 911 { 912 /** Event semaphore for signalling the event. */ 833 913 RTSEMEVENT hEventSem; 914 /** Payload to this event. Optional and can be NULL. */ 834 915 PSHAREDCLIPBOARDURITRANSFERPAYLOAD pPayload; 835 916 } SHAREDCLIPBOARDURITRANSFEREVENT, *PSHAREDCLIPBOARDURITRANSFEREVENT; 836 917 918 /** 919 * Enumeration for an URI transfer event type. 920 */ 837 921 typedef enum _SHAREDCLIPBOARDURITRANSFEREVENTTYPE 838 922 { 839 923 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_UNKNOWN, 924 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_OPEN, 925 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_CLOSE, 840 926 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_HDR_READ, 927 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_HDR_WRITE, 841 928 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, 843 935 /** Marks the end of the event list. */ 844 936 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LAST, … … 847 939 } SHAREDCLIPBOARDURITRANSFEREVENTTYPE; 848 940 941 /** Map of URI transfer events. 942 * The key specifies the event type of SHAREDCLIPBOARDURITRANSFEREVENTTYPE. */ 849 943 typedef std::map<uint32_t, SHAREDCLIPBOARDURITRANSFEREVENT *> SharedClipboardURITransferEventMap; 850 944 851 typedef struct _SHAREDCLIPBOARDURITRANSFEREVENTS 852 { 853 SharedClipboardURITransferEventMap *pMap; 854 } SHAREDCLIPBOARDURITRANSFEREVENTS, *PSHAREDCLIPBOARDURITRANSFEREVENTS; 945 typedef 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 962 typedef 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. */ 975 typedef std::map<SHAREDCLIPBOARDLISTHANDLE, SHAREDCLIPBOARDURILISTHANDLEINFO *> SharedClipboardURIListMap; 976 977 typedef std::map<SHAREDCLIPBOARDOBJHANDLE, SHAREDCLIPBOARDURILISTHANDLEINFO *> SharedClipboardURIObjMap; 855 978 856 979 /** … … 866 989 /** The transfer's source. */ 867 990 SHAREDCLIPBOARDSOURCE enmSource; 868 /** Context of current object being handled. */869 SHAREDCLIPBOARDCLIENTURIOBJCTX ObjCtx;870 991 } SHAREDCLIPBOARDURITRANSFERSTATE, *PSHAREDCLIPBOARDURITRANSFERSTATE; 871 992 … … 890 1011 typedef RT_CONCAT(FNSHAREDCLIPBOARDPROVIDER, a_Name) RT_CONCAT(*PFNSHAREDCLIPBOARDPROVIDER, a_Name); 891 1012 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 892 1018 /** Defines an URI clipboard provider function declaration (no additional parameters). */ 893 1019 #define SHAREDCLIPBOARDPROVIDERFUNCDECLVOID(a_Name) \ … … 901 1027 SHAREDCLIPBOARDPROVIDERFUNCDECLVOID(TRANSFEROPEN) 902 1028 SHAREDCLIPBOARDPROVIDERFUNCDECLVOID(TRANSFERCLOSE) 903 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTOPEN, PVBOXCLIPBOARDLIST HDR 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)1029 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTOPEN, PVBOXCLIPBOARDLISTOPENPARMS pOpenParms, PSHAREDCLIPBOARDLISTHANDLE phList) 1030 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTCLOSE, SHAREDCLIPBOARDLISTHANDLE hList); 1031 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTHDRREAD, SHAREDCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTHDR pListHdr) 1032 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTHDRWRITE, SHAREDCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTHDR pListHdr) 1033 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTENTRYREAD, SHAREDCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTENTRY pEntry) 1034 SHAREDCLIPBOARDPROVIDERFUNCDECL(LISTENTRYWRITE, SHAREDCLIPBOARDLISTHANDLE hList, PVBOXCLIPBOARDLISTENTRY pEntry) 909 1035 SHAREDCLIPBOARDPROVIDERFUNCDECL(OBJOPEN, const char *pszPath, PVBOXCLIPBOARDCREATEPARMS pCreateParms, PSHAREDCLIPBOARDOBJHANDLE phObj) 910 1036 SHAREDCLIPBOARDPROVIDERFUNCDECL(OBJCLOSE, SHAREDCLIPBOARDOBJHANDLE hObj) 911 1037 SHAREDCLIPBOARDPROVIDERFUNCDECL(OBJREAD, SHAREDCLIPBOARDOBJHANDLE hObj, void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbRead) 912 1038 SHAREDCLIPBOARDPROVIDERFUNCDECL(OBJWRITE, SHAREDCLIPBOARDOBJHANDLE hObj, void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbWritten) 1039 SHAREDCLIPBOARDPROVIDERFUNCDECLRET(uint64_t, OBJGETSIZE, SHAREDCLIPBOARDOBJHANDLE hObj) 1040 SHAREDCLIPBOARDPROVIDERFUNCDECLRET(uint64_t, OBJGETPROCESSED, SHAREDCLIPBOARDOBJHANDLE hObj) 1041 SHAREDCLIPBOARDPROVIDERFUNCDECLRET(const char *, OBJGETPATH, SHAREDCLIPBOARDOBJHANDLE hObj) 913 1042 914 1043 /** … … 919 1048 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(TRANSFEROPEN, pfnTransferOpen); 920 1049 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(TRANSFERCLOSE, pfnTransferClose); 921 /** Optional. */922 1050 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(LISTOPEN, pfnListOpen); 923 /** Optional. */924 1051 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(LISTCLOSE, pfnListClose); 925 1052 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(LISTHDRREAD, pfnListHdrRead); … … 931 1058 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJREAD, pfnObjRead); 932 1059 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJWRITE, pfnObjWrite); 1060 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJGETSIZE, pfnObjGetSize); 1061 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJGETPROCESSED, pfnObjGetProcessed); 1062 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJGETPATH, pfnObjGetPath); 933 1063 } SHAREDCLIPBOARDPROVIDERINTERFACE, *PSHAREDCLIPBOARDPROVIDERINTERFACE; 934 1064 … … 1032 1162 /** The transfer's state (for SSM, later). */ 1033 1163 SHAREDCLIPBOARDURITRANSFERSTATE State; 1034 SHAREDCLIPBOARDURITRANSFEREVENTS Events; 1164 /** Events related to this transfer. */ 1165 SharedClipboardURITransferEventMap *pMapEvents; 1166 SharedClipboardURIListMap *pMapLists; 1167 SharedClipboardURIObjMap *pMapObj; 1035 1168 /** The transfer's own (local) area, if any (can be NULL if not needed). 1036 1169 * The area itself has a clipboard area ID assigned. 1037 1170 * On the host this area ID gets shared (maintained / locked) across all VMs via VBoxSVC. */ 1038 1171 SharedClipboardArea *pArea; 1039 /** The URI list for this transfer. */1040 SharedClipboardURIList *pURIList;1041 1172 SHAREDCLIPBOARDPROVIDERCTX ProviderCtx; 1042 1173 /** The transfer's provider interface. */ … … 1082 1213 int SharedClipboardURITransferClose(PSHAREDCLIPBOARDURITRANSFER pTransfer); 1083 1214 1084 int SharedClipboardURITransferListOpen(PSHAREDCLIPBOARDURITRANSFER pTransfer, PVBOXCLIPBOARDLISTHDR pListHdr, 1085 PVBOXCLIPBOARDLISTHANDLE phList); 1086 int SharedClipboardURITransferListClose(PSHAREDCLIPBOARDURITRANSFER pTransfer, VBOXCLIPBOARDLISTHANDLE hList); 1087 int SharedClipboardURITransferListRead(PSHAREDCLIPBOARDURITRANSFER pTransfer, VBOXCLIPBOARDLISTHANDLE hList, 1215 int SharedClipboardURITransferListOpen(PSHAREDCLIPBOARDURITRANSFER pTransfer, PVBOXCLIPBOARDLISTOPENPARMS pOpenParms, 1216 PSHAREDCLIPBOARDLISTHANDLE phList); 1217 int SharedClipboardURITransferListClose(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDLISTHANDLE hList); 1218 int SharedClipboardURITransferListGetHeader(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDLISTHANDLE hList, 1219 PVBOXCLIPBOARDLISTHDR pHdr); 1220 PSHAREDCLIPBOARDURITRANSFEROBJ SharedClipboardURITransferListGetObj(PSHAREDCLIPBOARDURITRANSFER pTransfer, 1221 SHAREDCLIPBOARDLISTHANDLE hList, uint64_t uIdx); 1222 int SharedClipboardURITransferListRead(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDLISTHANDLE hList, 1088 1223 PVBOXCLIPBOARDLISTENTRY pEntry); 1089 int SharedClipboardURITransferListWrite(PSHAREDCLIPBOARDURITRANSFER pTransfer, VBOXCLIPBOARDLISTHANDLE hList,1224 int SharedClipboardURITransferListWrite(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDLISTHANDLE hList, 1090 1225 PVBOXCLIPBOARDLISTENTRY pEntry); 1091 bool SharedClipboardURITransferListHandleIsValid(PSHAREDCLIPBOARDURITRANSFER pTransfer, VBOXCLIPBOARDLISTHANDLE hList);1226 bool SharedClipboardURITransferListHandleIsValid(PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDLISTHANDLE hList); 1092 1227 1093 1228 int SharedClipboardURITransferPrepare(PSHAREDCLIPBOARDURITRANSFER pTransfer); 1094 int SharedClipboardURITransfer ProviderCreate(PSHAREDCLIPBOARDURITRANSFER pTransfer,1095 1229 int SharedClipboardURITransferSetInterface(PSHAREDCLIPBOARDURITRANSFER pTransfer, 1230 PSHAREDCLIPBOARDPROVIDERCREATIONCTX pCreationCtx); 1096 1231 void SharedClipboardURITransferReset(PSHAREDCLIPBOARDURITRANSFER pTransfer); 1097 1232 SharedClipboardArea *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);1102 1233 SHAREDCLIPBOARDSOURCE SharedClipboardURITransferGetSource(PSHAREDCLIPBOARDURITRANSFER pTransfer); 1103 1234 SHAREDCLIPBOARDURITRANSFERSTATUS SharedClipboardURITransferGetStatus(PSHAREDCLIPBOARDURITRANSFER pTransfer); 1235 int SharedClipboardURITransferHandleReply(PSHAREDCLIPBOARDURITRANSFER pTransfer, PVBOXCLIPBOARDREPLY pReply); 1104 1236 int SharedClipboardURITransferRun(PSHAREDCLIPBOARDURITRANSFER pTransfer, PFNRTTHREAD pfnThreadFunc, void *pvUser); 1105 1237 void SharedClipboardURITransferSetCallbacks(PSHAREDCLIPBOARDURITRANSFER pTransfer, -
trunk/include/VBox/GuestHost/SharedClipboard-win.h
r79497 r79630 287 287 288 288 VBoxClipboardWinStreamImpl(VBoxClipboardWinDataObject *pParent, 289 PSHAREDCLIPBOARDURITRANSFER pTransfer, uint64_t uObjIdx);289 PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDOBJHANDLE hObj); 290 290 virtual ~VBoxClipboardWinStreamImpl(void); 291 291 … … 318 318 319 319 /** Pointer to the parent data object. */ 320 VBoxClipboardWinDataObject *m_pParent;320 VBoxClipboardWinDataObject *m_pParent; 321 321 /** 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 transferobject. */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; 327 327 }; 328 328 -
trunk/include/VBox/GuestHost/SharedClipboard.h
r79497 r79630 58 58 #define VBOX_SHARED_CLIPBOARD_FMT_URI_LIST UINT32_C(0x08) 59 59 #endif 60 61 /**62 * The host messages for the guest.63 */64 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_QUIT 165 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_READ_DATA 266 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_REPORT_FORMATS 367 68 /** Initiates a new transfer (read / write) on the guest side. */69 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_TRANSFER_START 470 /** Open an URI list on the guest side. */71 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_OPEN 572 /** Closes a formerly opened URI list on the guest side. */73 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_CLOSE 674 /** Reads a list header from the guest. */75 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_HDR_READ 776 /** Writes a list header to the guest. */77 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_HDR_WRITE 878 /** Reads a list entry from the guest. */79 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_ENTRY_READ 980 /** Writes a list entry to the guest. */81 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_LIST_ENTRY_WRITE 1082 /** Open an URI object on the guest side. */83 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_OPEN 1184 /** Closes a formerly opened URI object on the guest side. */85 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_CLOSE 1286 /** Reads from an object on the guest side. */87 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_READ 1388 /** Writes to an object on the guest side. */89 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_OBJ_WRITE 1490 /** Indicates that the host has canceled a transfer. */91 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_CANCEL 1592 /** Indicates that the an unrecoverable error on the host occurred . */93 #define VBOX_SHARED_CLIPBOARD_HOST_MSG_URI_ERROR 1694 60 95 61 /**
Note:
See TracChangeset
for help on using the changeset viewer.