Changeset 79702 in vbox for trunk/include
- Timestamp:
- Jul 11, 2019 7:34:05 PM (6 years ago)
- Location:
- trunk/include/VBox
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/GuestHost/SharedClipboard-uri.h
r79688 r79702 382 382 /** Size (in bytes) of string list. */ 383 383 uint32_t cbRoots; 384 /** String list (separated with CRLF) containing the root items. */384 /** String list (separated with \r\n) containing the root items. */ 385 385 char *pszRoots; 386 386 } VBOXCLIPBOARDROOTS, *PVBOXCLIPBOARDROOTS; … … 699 699 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_ENTRY_READ, 700 700 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_LIST_ENTRY_WRITE, 701 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_ FILE_OPEN,702 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_ FILE_CLOSE,703 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_ FILE_READ,704 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_ FILE_WRITE,701 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_OBJ_OPEN, 702 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_OBJ_CLOSE, 703 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_OBJ_READ, 704 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_OBJ_WRITE, 705 705 SHAREDCLIPBOARDURITRANSFEREVENTTYPE_ERROR, 706 706 /** Marks the end of the event list. */ … … 814 814 SHAREDCLIPBOARDPROVIDERFUNCDECL(OBJREAD, SHAREDCLIPBOARDOBJHANDLE hObj, void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbRead) 815 815 SHAREDCLIPBOARDPROVIDERFUNCDECL(OBJWRITE, SHAREDCLIPBOARDOBJHANDLE hObj, void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbWritten) 816 SHAREDCLIPBOARDPROVIDERFUNCDECLRET(uint64_t, OBJGETSIZE, SHAREDCLIPBOARDOBJHANDLE hObj)817 SHAREDCLIPBOARDPROVIDERFUNCDECLRET(uint64_t, OBJGETPROCESSED, SHAREDCLIPBOARDOBJHANDLE hObj)818 SHAREDCLIPBOARDPROVIDERFUNCDECLRET(const char *, OBJGETPATH, SHAREDCLIPBOARDOBJHANDLE hObj)819 816 820 817 /** … … 836 833 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJREAD, pfnObjRead); 837 834 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJWRITE, pfnObjWrite); 838 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJGETSIZE, pfnObjGetSize);839 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJGETPROCESSED, pfnObjGetProcessed);840 SHAREDCLIPBOARDPROVIDERFUNCMEMBER(OBJGETPATH, pfnObjGetPath);841 835 } SHAREDCLIPBOARDPROVIDERINTERFACE, *PSHAREDCLIPBOARDPROVIDERINTERFACE; 842 836 … … 1056 1050 1057 1051 #endif /* !VBOX_INCLUDED_GuestHost_SharedClipboard_uri_h */ 1052 -
trunk/include/VBox/GuestHost/SharedClipboard-win.h
r79630 r79702 36 36 37 37 # ifdef VBOX_WITH_SHARED_CLIPBOARD_URI_LIST 38 # include <vector> 39 38 40 # include <iprt/cpp/ministring.h> /* For RTCString. */ 39 # include <iprt/win/shlobj.h> /* For DROPFILES and friends. */ 41 # include <iprt/win/shlobj.h> /* For DROPFILES and friends. */ 42 # include <VBox/com/string.h> /* For Utf8Str. */ 40 43 # include <oleidl.h> 41 44 42 45 # include <VBox/GuestHost/SharedClipboard-uri.h> 43 # endif 46 47 using namespace com; 48 # endif /* VBOX_WITH_SHARED_CLIPBOARD_URI_LIST */ 44 49 45 50 #ifndef WM_CLIPBOARDUPDATE … … 163 168 }; 164 169 165 enum FormatIndex166 {167 /** File descriptor, ANSI version. */168 FormatIndex_FileDescriptorA = 0,169 /** File descriptor, Unicode version. */170 FormatIndex_FileDescriptorW,171 /** File contents. */172 FormatIndex_FileContents173 };174 175 170 public: 176 171 … … 232 227 protected: 233 228 229 /** 230 * Structure for keeping a single file system object entry. 231 */ 232 struct FSOBJENTRY 233 { 234 /** Relative path of the object. */ 235 Utf8Str strPath; 236 /** Related (cached) object information. */ 237 SHAREDCLIPBOARDFSOBJINFO objInfo; 238 }; 239 240 /** Vector containing file system objects with its (cached) objection information. */ 241 typedef std::vector<FSOBJENTRY> FsObjEntryList; 242 234 243 Status m_enmStatus; 235 244 LONG m_lRefCount; … … 240 249 IStream *m_pStream; 241 250 ULONG m_uObjIdx; 242 /** Event being triggered when reading the transfer list been completed.*/ 251 /** List of (cached) file system root objects. */ 252 FsObjEntryList m_lstRootEntries; 253 /** Event being triggered when reading the transfer list been completed. */ 243 254 RTSEMEVENT m_EventListComplete; 255 /** Event being triggered when the transfer has been completed. */ 244 256 RTSEMEVENT m_EventTransferComplete; 257 UINT m_cfFileDescriptorA; 258 UINT m_cfFileDescriptorW; 259 UINT m_cfFileContents; 245 260 }; 246 261 … … 286 301 public: 287 302 288 VBoxClipboardWinStreamImpl(VBoxClipboardWinDataObject *pParent, 289 PSHAREDCLIPBOARDURITRANSFER pTransfer, SHAREDCLIPBOARDOBJHANDLE hObj);303 VBoxClipboardWinStreamImpl(VBoxClipboardWinDataObject *pParent, PSHAREDCLIPBOARDURITRANSFER pTransfer, 304 const Utf8Str &strPath, PSHAREDCLIPBOARDFSOBJINFO pObjInfo); 290 305 virtual ~VBoxClipboardWinStreamImpl(void); 291 306 … … 312 327 public: /* Own methods. */ 313 328 314 static HRESULT Create(VBoxClipboardWinDataObject *pParent, 315 PSHAREDCLIPBOARDURITRANSFER pTransfer, uint64_t uObjIdx, IStream **ppStream); 316 329 static HRESULT Create(VBoxClipboardWinDataObject *pParent, PSHAREDCLIPBOARDURITRANSFER pTransfer, const Utf8Str &strPath, 330 PSHAREDCLIPBOARDFSOBJINFO pObjInfo, IStream **ppStream); 317 331 private: 318 332 … … 323 337 /** Pointer to the associated URI transfer. */ 324 338 PSHAREDCLIPBOARDURITRANSFER m_pURITransfer; 325 /** Handle to the associated URI object. */339 /** The object handle to use. */ 326 340 SHAREDCLIPBOARDOBJHANDLE m_hObj; 341 /** Object path. */ 342 Utf8Str m_strPath; 343 /** (Cached) object information. */ 344 SHAREDCLIPBOARDFSOBJINFO m_objInfo; 345 /** Number of bytes already processed. */ 346 uint64_t m_cbProcessed; 347 /** Whether we already notified the parent of completion or not. */ 348 bool m_fNotifiedComplete; 327 349 }; 328 350 -
trunk/include/VBox/HostServices/VBoxClipboardSvc.h
r79688 r79702 361 361 #define VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_INVALID 0 362 362 #define VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_LIST_OPEN 1 363 #define VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_OBJ_OPEN 2 363 #define VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_LIST_CLOSE 2 364 #define VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_OBJ_OPEN 3 365 #define VBOX_SHAREDCLIPBOARD_REPLYMSGTYPE_OBJ_CLOSE 4 364 366 365 367 /** … … 413 415 /** uin32_t, out: Size (in bytes) of string list. */ 414 416 HGCMFunctionParameter cbRoots; 415 /** pointer, out: string list (separated with CRLF) containing the root items. */417 /** pointer, out: string list (separated with \r\n) containing the root items. */ 416 418 HGCMFunctionParameter pvRoots; 417 419 } VBoxClipboardRootsMsg; … … 650 652 651 653 #endif /* !VBOX_INCLUDED_HostServices_VBoxClipboardSvc_h */ 654
Note:
See TracChangeset
for help on using the changeset viewer.