VirtualBox

Changeset 78683 in vbox for trunk/include/VBox


Ignore:
Timestamp:
May 23, 2019 10:07:21 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
130759
Message:

Shared Clipboard/URI: Update.

Location:
trunk/include/VBox
Files:
3 edited

Legend:

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

    r78648 r78683  
    3838#include <iprt/cpp/ministring.h>
    3939
     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. */
     43typedef uint32_t SHAREDCLIPBOARDAREAID;
     44
     45/** Defines a non-initialized (nil) clipboard area. */
     46#define NIL_SHAREDCLIPBOARDAREAID       UINT32_MAX
     47
    4048/** SharedClipboardCache flags. */
    4149typedef uint32_t SHAREDCLIPBOARDCACHEFLAGS;
     
    5866
    5967    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);
    6170    virtual ~SharedClipboardCache(void);
    6271
     
    7382    int Close(void);
    7483    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;
    7789    const char *GetDirAbs(void) const;
    7890    int Reopen(void);
     
    8597    int destroyInternal(void);
    8698    int closeInternal(void);
     99    int pathConstruct(const char *pszBase, char *pszPath, size_t cbPath);
    87100
    88101protected:
     
    102115    /** List for holding created files in the case of a rollback. */
    103116    RTCList<RTCString>           m_lstFiles;
     117    /** Associated clipboard area ID. */
     118    SHAREDCLIPBOARDAREAID        m_uID;
    104119};
    105120
     
    350365size_t SharedClipboardMetaDataGetUsed(PSHAREDCLIPBOARDMETADATA pMeta);
    351366size_t SharedClipboardMetaDataGetSize(PSHAREDCLIPBOARDMETADATA pMeta);
     367void *SharedClipboardMetaDataMutableRaw(PSHAREDCLIPBOARDMETADATA pMeta);
    352368const void *SharedClipboardMetaDataRaw(PSHAREDCLIPBOARDMETADATA pMeta);
    353369
  • trunk/include/VBox/HostServices/VBoxClipboardExt.h

    r76585 r78683  
    3131
    3232#include <VBox/types.h>
     33#ifdef VBOX_WITH_SHARED_CLIPBOARD_URI_LIST
     34# include <VBox/GuestHost/SharedClipboard-uri.h>
     35#endif
    3336
    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)
    3853
    3954typedef DECLCALLBACK(int) VRDPCLIPBOARDEXTCALLBACK (uint32_t u32Function, uint32_t u32Format, void *pvData, uint32_t cbData);
     
    4560    union
    4661    {
    47         void                        *pvData;
     62        void                       *pvData;
    4863        PFNVRDPCLIPBOARDEXTCALLBACK pfnCallback;
    4964    } u;
     
    5166} VBOXCLIPBOARDEXTPARMS;
    5267
     68#ifdef VBOX_WITH_SHARED_CLIPBOARD_URI_LIST
     69typedef uint32_t VBOXCLIPBOARDEXTAREAREGISTETRFLAGS;
     70/** No clipboard register area flags specified. */
     71#define VBOXCLIPBOARDEXTAREA_REGISTER_FLAGS_NONE        0
     72
     73typedef 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 */
     80typedef 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
    53100#endif /* !VBOX_INCLUDED_HostServices_VBoxClipboardExt_h */
  • trunk/include/VBox/HostServices/VBoxClipboardSvc.h

    r78649 r78683  
    4545 * The service functions which are callable by host.
    4646 */
    47 #define VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE      1
     47#define VBOX_SHARED_CLIPBOARD_HOST_FN_SET_MODE           1
    4848/** Run headless on the host, i.e. do not touch the host clipboard. */
    49 #define VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS  2
     49#define VBOX_SHARED_CLIPBOARD_HOST_FN_SET_HEADLESS       2
    5050/** Reports cancellation of the current operation to the guest. */
    51 #define VBOX_SHARED_CLIPBOARD_HOST_FN_CANCEL        3
     51#define VBOX_SHARED_CLIPBOARD_HOST_FN_CANCEL             3
    5252/** 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
    5462
    5563/*
     
    119127#define VBOX_SHARED_CLIPBOARD_CPARMS_GET_HOST_MSG 2
    120128
    121 typedef struct _VBoxClipboardWriteFormats
     129typedef struct _VBoxClipboardWriteFormatsMsg
    122130{
    123131    VBGLIOCHGCMCALL hdr;
     
    125133    /* VBOX_SHARED_CLIPBOARD_FMT_* */
    126134    HGCMFunctionParameter formats; /* OUT uint32_t */
    127 } VBoxClipboardWriteFormats;
     135} VBoxClipboardWriteFormatsMsg;
    128136
    129137#define VBOX_SHARED_CLIPBOARD_CPARMS_FORMATS 1
    130138
    131 typedef struct _VBoxClipboardReadData
     139typedef struct _VBoxClipboardReadDataMsg
    132140{
    133141    VBGLIOCHGCMCALL hdr;
     
    144152    HGCMFunctionParameter size;   /* OUT uint32_t */
    145153
    146 } VBoxClipboardReadData;
     154} VBoxClipboardReadDataMsg;
    147155
    148156#define VBOX_SHARED_CLIPBOARD_CPARMS_READ_DATA 3
    149157
    150 typedef struct _VBoxClipboardWriteData
     158typedef struct _VBoxClipboardWriteDataMsg
    151159{
    152160    VBGLIOCHGCMCALL hdr;
     
    157165    /* Data.  */
    158166    HGCMFunctionParameter ptr;    /* IN linear pointer. */
    159 } VBoxClipboardWriteData;
     167} VBoxClipboardWriteDataMsg;
    160168
    161169#define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_DATA 2
    162170
    163171/**
    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 */
     178typedef struct _VBoxClipboardReadDataHdrMsg
    170179{
    171180    VBGLIOCHGCMCALL hdr;
     
    200209    /** Size (in bytes) of checksum. */
    201210    HGCMFunctionParameter cbChecksum;      /* OUT uint32_t */
    202 } VBoxClipboardWriteDataHdrMsg;
    203 
     211} VBoxClipboardReadDataHdrMsg, VBoxClipboardWriteDataHdrMsg;
     212
     213#define VBOX_SHARED_CLIPBOARD_CPARMS_READ_DATA_HDR  12
    204214#define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_DATA_HDR 12
    205215
    206216/**
    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 */
     223typedef struct _VBoxClipboardDataChunkMsg
    213224{
    214225    VBGLIOCHGCMCALL hdr;
     
    224235    /** Size (in bytes) of checksum. */
    225236    HGCMFunctionParameter cbChecksum;   /* OUT uint32_t */
    226 } VBoxClipboardWriteDataChunkMsg;
    227 
     237} VBoxClipboardReadDataChunkMsg, VBoxClipboardWriteDataChunkMsg;
     238
     239#define VBOX_SHARED_CLIPBOARD_CPARMS_READ_DATA_CHUNK  5
    228240#define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_DATA_CHUNK 5
    229241
    230242/**
    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 */
     249typedef struct _VBoxClipboardDirMsg
    237250{
    238251    VBGLIOCHGCMCALL hdr;
     
    246259    /** Directory mode. */
    247260    HGCMFunctionParameter fMode;        /* OUT uint32_t */
    248 } VBoxClipboardWriteDirMsg;
    249 
     261} VBoxClipboardReadDirMsg, VBoxClipboardWriteDirMsg;
     262
     263#define VBOX_SHARED_CLIPBOARD_CPARMS_READ_DIR  4
    250264#define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_DIR 4
    251265
     
    254268 *
    255269 * 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 */
     273typedef struct _VBoxClipboardFileHdrMsg
    259274{
    260275    VBGLIOCHGCMCALL hdr;
     
    272287    /** Total size (in bytes). */
    273288    HGCMFunctionParameter cbTotal;      /* OUT uint64_t */
    274 } VBoxClipboardWriteFileHdrMsg;
    275 
     289} VBoxClipboardWriteReadHdrMsg, VBoxClipboardWriteFileHdrMsg;
     290
     291#define VBOX_SHARED_CLIPBOARD_CPARMS_READ_FILE_HDR  6
    276292#define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_FILE_HDR 6
    277293
    278294/**
    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 */
     301typedef struct _VBoxClipboardFileDataMsg
    285302{
    286303    VBGLIOCHGCMCALL hdr;
     
    299316} VBoxClipboardWriteFileDataMsg;
    300317
     318#define VBOX_SHARED_CLIPBOARD_CPARMS_READ_FILE_DATA  5
    301319#define VBOX_SHARED_CLIPBOARD_CPARMS_WRITE_FILE_DATA 5
    302320
     
    305323 *
    306324 * Used by:
    307  * XXX
    308  */
    309 typedef struct _VBoxClipboardWriteErrorMsg
     325 * VBOX_SHARED_CLIPBOARD_FN_WRITE_ERROR
     326 */
     327typedef struct _VBoxClipboardErrorMsg
    310328{
    311329    VBGLIOCHGCMCALL hdr;
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