Changeset 78683 in vbox for trunk/include/VBox
- Timestamp:
- May 23, 2019 10:07:21 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 130759
- Location:
- trunk/include/VBox
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/GuestHost/SharedClipboard-uri.h
r78648 r78683 38 38 #include <iprt/cpp/ministring.h> 39 39 40 /** Clipboard area ID. A valid area is >= 1. 41 * If 0 is specified, the last (most recent) area is meant. 42 * Set to UINT32_MAX if not initialized. */ 43 typedef uint32_t SHAREDCLIPBOARDAREAID; 44 45 /** Defines a non-initialized (nil) clipboard area. */ 46 #define NIL_SHAREDCLIPBOARDAREAID UINT32_MAX 47 40 48 /** SharedClipboardCache flags. */ 41 49 typedef uint32_t SHAREDCLIPBOARDCACHEFLAGS; … … 58 66 59 67 SharedClipboardCache(void); 60 SharedClipboardCache(const char *pszPath, SHAREDCLIPBOARDCACHEFLAGS fFlags = SHAREDCLIPBOARDCACHE_FLAGS_NONE); 68 SharedClipboardCache(const char *pszPath, SHAREDCLIPBOARDAREAID uID = NIL_SHAREDCLIPBOARDAREAID, 69 SHAREDCLIPBOARDCACHEFLAGS fFlags = SHAREDCLIPBOARDCACHE_FLAGS_NONE); 61 70 virtual ~SharedClipboardCache(void); 62 71 … … 73 82 int Close(void); 74 83 bool IsOpen(void) const; 75 int OpenEx(const char *pszPath, SHAREDCLIPBOARDCACHEFLAGS fFlags = SHAREDCLIPBOARDCACHE_FLAGS_NONE); 76 int OpenTemp(SHAREDCLIPBOARDCACHEFLAGS fFlags = SHAREDCLIPBOARDCACHE_FLAGS_NONE); 84 int OpenEx(const char *pszPath, SHAREDCLIPBOARDAREAID uID = NIL_SHAREDCLIPBOARDAREAID, 85 SHAREDCLIPBOARDCACHEFLAGS fFlags = SHAREDCLIPBOARDCACHE_FLAGS_NONE); 86 int OpenTemp(SHAREDCLIPBOARDAREAID uID = NIL_SHAREDCLIPBOARDAREAID, 87 SHAREDCLIPBOARDCACHEFLAGS fFlags = SHAREDCLIPBOARDCACHE_FLAGS_NONE); 88 SHAREDCLIPBOARDAREAID GetAreaID(void) const; 77 89 const char *GetDirAbs(void) const; 78 90 int Reopen(void); … … 85 97 int destroyInternal(void); 86 98 int closeInternal(void); 99 int pathConstruct(const char *pszBase, char *pszPath, size_t cbPath); 87 100 88 101 protected: … … 102 115 /** List for holding created files in the case of a rollback. */ 103 116 RTCList<RTCString> m_lstFiles; 117 /** Associated clipboard area ID. */ 118 SHAREDCLIPBOARDAREAID m_uID; 104 119 }; 105 120 … … 350 365 size_t SharedClipboardMetaDataGetUsed(PSHAREDCLIPBOARDMETADATA pMeta); 351 366 size_t SharedClipboardMetaDataGetSize(PSHAREDCLIPBOARDMETADATA pMeta); 367 void *SharedClipboardMetaDataMutableRaw(PSHAREDCLIPBOARDMETADATA pMeta); 352 368 const void *SharedClipboardMetaDataRaw(PSHAREDCLIPBOARDMETADATA pMeta); 353 369 -
trunk/include/VBox/HostServices/VBoxClipboardExt.h
r76585 r78683 31 31 32 32 #include <VBox/types.h> 33 #ifdef VBOX_WITH_SHARED_CLIPBOARD_URI_LIST 34 # include <VBox/GuestHost/SharedClipboard-uri.h> 35 #endif 33 36 34 #define VBOX_CLIPBOARD_EXT_FN_SET_CALLBACK (0) 35 #define VBOX_CLIPBOARD_EXT_FN_FORMAT_ANNOUNCE (1) 36 #define VBOX_CLIPBOARD_EXT_FN_DATA_READ (2) 37 #define VBOX_CLIPBOARD_EXT_FN_DATA_WRITE (3) 37 #define VBOX_CLIPBOARD_EXT_FN_SET_CALLBACK (0) 38 #define VBOX_CLIPBOARD_EXT_FN_FORMAT_ANNOUNCE (1) 39 #define VBOX_CLIPBOARD_EXT_FN_DATA_READ (2) 40 #define VBOX_CLIPBOARD_EXT_FN_DATA_WRITE (3) 41 /** Registers a new clipboard area. 42 * Uses the VBOXCLIPBOARDEXTAREAPARMS struct. */ 43 #define VBOX_CLIPBOARD_EXT_FN_AREA_REGISTER (4) 44 /** Unregisters an existing clipboard area. 45 * Uses the VBOXCLIPBOARDEXTAREAPARMS struct. */ 46 #define VBOX_CLIPBOARD_EXT_FN_AREA_UNREGISTER (5) 47 /** Attaches to an existing clipboard area. 48 * Uses the VBOXCLIPBOARDEXTAREAPARMS struct. */ 49 #define VBOX_CLIPBOARD_EXT_FN_AREA_ATTACH (6) 50 /** Detaches from an existing clipboard area. 51 * Uses the VBOXCLIPBOARDEXTAREAPARMS struct. */ 52 #define VBOX_CLIPBOARD_EXT_FN_AREA_DETACH (7) 38 53 39 54 typedef DECLCALLBACK(int) VRDPCLIPBOARDEXTCALLBACK (uint32_t u32Function, uint32_t u32Format, void *pvData, uint32_t cbData); … … 45 60 union 46 61 { 47 void 62 void *pvData; 48 63 PFNVRDPCLIPBOARDEXTCALLBACK pfnCallback; 49 64 } u; … … 51 66 } VBOXCLIPBOARDEXTPARMS; 52 67 68 #ifdef VBOX_WITH_SHARED_CLIPBOARD_URI_LIST 69 typedef uint32_t VBOXCLIPBOARDEXTAREAREGISTETRFLAGS; 70 /** No clipboard register area flags specified. */ 71 #define VBOXCLIPBOARDEXTAREA_REGISTER_FLAGS_NONE 0 72 73 typedef uint32_t VBOXCLIPBOARDEXTAREAATTACHFLAGS; 74 /** No clipboard attach area flags specified. */ 75 #define VBOXCLIPBOARDEXTAREA_ATTACH_FLAGS_NONE 0 76 77 /** 78 * Structure for keeping clipboard area callback parameters. 79 */ 80 typedef struct _VBOXCLIPBOARDEXTAREAPARMS 81 { 82 /** The clipboard area's ID. */ 83 SHAREDCLIPBOARDAREAID uID; 84 union 85 { 86 struct 87 { 88 void *pvData; 89 uint32_t cbData; 90 VBOXCLIPBOARDEXTAREAREGISTETRFLAGS fFlags; 91 } fn_register; 92 struct 93 { 94 VBOXCLIPBOARDEXTAREAATTACHFLAGS fFlags; 95 } fn_attach; 96 } u; 97 } VBOXCLIPBOARDEXTAREAPARMS, *PVBOXCLIPBOARDEXTAREAPARMS; 98 #endif 99 53 100 #endif /* !VBOX_INCLUDED_HostServices_VBoxClipboardExt_h */ -
trunk/include/VBox/HostServices/VBoxClipboardSvc.h
r78649 r78683 45 45 * The service functions which are callable by host. 46 46 */ 47 #define VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE 147 #define VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE 1 48 48 /** Run headless on the host, i.e. do not touch the host clipboard. */ 49 #define VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS 249 #define VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS 2 50 50 /** Reports cancellation of the current operation to the guest. */ 51 #define VBOX_SHARED_CLIPBOARD_HOST_FN_CANCEL 351 #define VBOX_SHARED_CLIPBOARD_HOST_FN_CANCEL 3 52 52 /** Reports an error to the guest. */ 53 #define VBOX_SHARED_CLIPBOARD_HOST_FN_ERROR 4 53 #define VBOX_SHARED_CLIPBOARD_HOST_FN_ERROR 4 54 /** Reports that a new clipboard area has been registered. */ 55 #define VBOX_SHARED_CLIPBOARD_HOST_FN_AREA_REGISTER 5 56 /** Reports that a clipboard area has been unregistered. */ 57 #define VBOX_SHARED_CLIPBOARD_HOST_FN_AREA_UNREGISTER 6 58 /** Reports that a client (host / guest) has attached to a clipboard area. */ 59 #define VBOX_SHARED_CLIPBOARD_HOST_FN_AREA_ATTACH 7 60 /** Reports that a client (host / guest) has detached from a clipboard area. */ 61 #define VBOX_SHARED_CLIPBOARD_HOST_FN_AREA_DETACH 8 54 62 55 63 /* … … 119 127 #define VBOX_SHARED_CLIPBOARD_CPARMS_GET_HOST_MSG 2 120 128 121 typedef struct _VBoxClipboardWriteFormats 129 typedef struct _VBoxClipboardWriteFormatsMsg 122 130 { 123 131 VBGLIOCHGCMCALL hdr; … … 125 133 /* VBOX_SHARED_CLIPBOARD_FMT_* */ 126 134 HGCMFunctionParameter formats; /* OUT uint32_t */ 127 } VBoxClipboardWriteFormats ;135 } VBoxClipboardWriteFormatsMsg; 128 136 129 137 #define VBOX_SHARED_CLIPBOARD_CPARMS_FORMATS 1 130 138 131 typedef struct _VBoxClipboardReadData 139 typedef struct _VBoxClipboardReadDataMsg 132 140 { 133 141 VBGLIOCHGCMCALL hdr; … … 144 152 HGCMFunctionParameter size; /* OUT uint32_t */ 145 153 146 } VBoxClipboardReadData ;154 } VBoxClipboardReadDataMsg; 147 155 148 156 #define VBOX_SHARED_CLIPBOARD_CPARMS_READ_DATA 3 149 157 150 typedef struct _VBoxClipboardWriteData 158 typedef struct _VBoxClipboardWriteDataMsg 151 159 { 152 160 VBGLIOCHGCMCALL hdr; … … 157 165 /* Data. */ 158 166 HGCMFunctionParameter ptr; /* IN linear pointer. */ 159 } VBoxClipboardWriteData ;167 } VBoxClipboardWriteDataMsg; 160 168 161 169 #define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_DATA 2 162 170 163 171 /** 164 * Sends the header of an incoming (meta) data block. 165 * 166 * Used by: 167 * XXX 168 */ 169 typedef struct _VBoxClipboardWriteDataHdrMsg 172 * Reads / writes the (meta) data header. 173 * 174 * Used by: 175 * VBOX_SHARED_CLIPBOARD_FN_READ_DATA_HDR 176 * VBOX_SHARED_CLIPBOARD_FN_WRITE_DATA_HDR 177 */ 178 typedef struct _VBoxClipboardReadDataHdrMsg 170 179 { 171 180 VBGLIOCHGCMCALL hdr; … … 200 209 /** Size (in bytes) of checksum. */ 201 210 HGCMFunctionParameter cbChecksum; /* OUT uint32_t */ 202 } VBoxClipboardWriteDataHdrMsg; 203 211 } VBoxClipboardReadDataHdrMsg, VBoxClipboardWriteDataHdrMsg; 212 213 #define VBOX_SHARED_CLIPBOARD_CPARMS_READ_DATA_HDR 12 204 214 #define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_DATA_HDR 12 205 215 206 216 /** 207 * Sends a (meta) data block to the host. 208 * 209 * Used by: 210 * GUEST_DND_GH_SND_DATA 211 */ 212 typedef struct _VBoxClipboardWriteDataChunkMsg 217 * Reads / writes a (meta) data block. 218 * 219 * Used by: 220 * VBOX_SHARED_CLIPBOARD_FN_READ_DATA_CHUNK 221 * VBOX_SHARED_CLIPBOARD_FN_WRITE_DATA_CHUNK 222 */ 223 typedef struct _VBoxClipboardDataChunkMsg 213 224 { 214 225 VBGLIOCHGCMCALL hdr; … … 224 235 /** Size (in bytes) of checksum. */ 225 236 HGCMFunctionParameter cbChecksum; /* OUT uint32_t */ 226 } VBoxClipboardWriteDataChunkMsg; 227 237 } VBoxClipboardReadDataChunkMsg, VBoxClipboardWriteDataChunkMsg; 238 239 #define VBOX_SHARED_CLIPBOARD_CPARMS_READ_DATA_CHUNK 5 228 240 #define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_DATA_CHUNK 5 229 241 230 242 /** 231 * Sends a directory entry. 232 * 233 * Used by: 234 * XXX 235 */ 236 typedef struct _VBoxClipboardWriteDirMsg 243 * Reads / writes a directory entry. 244 * 245 * Used by: 246 * VBOX_SHARED_CLIPBOARD_FN_READ_DIR 247 * VBOX_SHARED_CLIPBOARD_FN_WRITE_DIR 248 */ 249 typedef struct _VBoxClipboardDirMsg 237 250 { 238 251 VBGLIOCHGCMCALL hdr; … … 246 259 /** Directory mode. */ 247 260 HGCMFunctionParameter fMode; /* OUT uint32_t */ 248 } VBoxClipboardWriteDirMsg; 249 261 } VBoxClipboardReadDirMsg, VBoxClipboardWriteDirMsg; 262 263 #define VBOX_SHARED_CLIPBOARD_CPARMS_READ_DIR 4 250 264 #define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_DIR 4 251 265 … … 254 268 * 255 269 * Used by: 256 * XXX 257 */ 258 typedef struct _VBoxClipboardWriteFileHdrMsg 270 * VBOX_SHARED_CLIPBOARD_FN_READ_FILE_HDR 271 * VBOX_SHARED_CLIPBOARD_FN_WRITE_FILE_HDR 272 */ 273 typedef struct _VBoxClipboardFileHdrMsg 259 274 { 260 275 VBGLIOCHGCMCALL hdr; … … 272 287 /** Total size (in bytes). */ 273 288 HGCMFunctionParameter cbTotal; /* OUT uint64_t */ 274 } VBoxClipboardWriteFileHdrMsg; 275 289 } VBoxClipboardWriteReadHdrMsg, VBoxClipboardWriteFileHdrMsg; 290 291 #define VBOX_SHARED_CLIPBOARD_CPARMS_READ_FILE_HDR 6 276 292 #define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_FILE_HDR 6 277 293 278 294 /** 279 * Sends data of a file entry. 280 * 281 * Used by: 282 * XXX 283 */ 284 typedef struct _VBoxClipboardWriteFileDataMsg 295 * Reads / writes data of a file entry. 296 * 297 * Used by: 298 * VBOX_SHARED_CLIPBOARD_FN_READ_FILE_DATA 299 * VBOX_SHARED_CLIPBOARD_FN_WRITE_FILE_DATA 300 */ 301 typedef struct _VBoxClipboardFileDataMsg 285 302 { 286 303 VBGLIOCHGCMCALL hdr; … … 299 316 } VBoxClipboardWriteFileDataMsg; 300 317 318 #define VBOX_SHARED_CLIPBOARD_CPARMS_READ_FILE_DATA 5 301 319 #define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_FILE_DATA 5 302 320 … … 305 323 * 306 324 * Used by: 307 * XXX308 */ 309 typedef struct _VBoxClipboard WriteErrorMsg325 * VBOX_SHARED_CLIPBOARD_FN_WRITE_ERROR 326 */ 327 typedef struct _VBoxClipboardErrorMsg 310 328 { 311 329 VBGLIOCHGCMCALL hdr;
Note:
See TracChangeset
for help on using the changeset viewer.