VirtualBox

Changeset 82493 in vbox for trunk/include/VBox/HostServices


Ignore:
Timestamp:
Dec 7, 2019 11:37:51 AM (5 years ago)
Author:
vboxsync
Message:

VBox/HostServices/VBoxClipboardSvc.h,++: Moved the formats and context ID stuff (back) to where these belong. The VBoxClipboardSvc.h header defines the service interface, while the VBox/GuestHost/ stuff is an library interface that's implementation specific and ultimately optional (for clients anyway). bugref:9437

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/HostServices/VBoxClipboardSvc.h

    r82488 r82493  
    5757#include <VBox/VBoxGuestCoreTypes.h>
    5858#include <VBox/hgcmsvc.h>
    59 
    60 #include <VBox/GuestHost/SharedClipboard.h>
    61 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
    62 #include <VBox/GuestHost/SharedClipboard-transfers.h>
    63 #endif
    6459
    6560
     
    540535
    541536/** The maximum default chunk size for a single data transfer.
    542  * @note r=bird: Nobody actually uses this.  Name is misleading.  */
     537 * @note r=bird: Nobody actually uses this.  */
    543538#define VBOX_SHCL_DEFAULT_MAX_CHUNK_SIZE          _64K
     539
    544540
    545541/** @name VBOX_SHCL_GF_XXX - Guest features.
     
    563559/** @} */
    564560
     561
     562/** @name VBOX_SHCL_FMT_XXX - Data formats (flags) for Shared Clipboard.
     563 * @{
     564 */
     565/** No format set. */
     566#define VBOX_SHCL_FMT_NONE          0
     567/** Shared Clipboard format is an Unicode text. */
     568#define VBOX_SHCL_FMT_UNICODETEXT   RT_BIT(0)
     569/** Shared Clipboard format is bitmap (BMP / DIB). */
     570#define VBOX_SHCL_FMT_BITMAP        RT_BIT(1)
     571/** Shared Clipboard format is HTML. */
     572#define VBOX_SHCL_FMT_HTML          RT_BIT(2)
     573#ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS
     574/** Shared Clipboard format is a transfer list. */
     575# define VBOX_SHCL_FMT_URI_LIST     RT_BIT(3)
     576#endif
     577/** @}  */
     578
     579
     580/** @name Context ID related macros and limits
     581 * @{ */
     582/**
     583 * Creates a context ID out of a client ID, a transfer ID and an event ID (count).
     584 */
     585#define VBOX_SHCL_CONTEXTID_MAKE(a_idSession, a_idTransfer, a_idEvent) \
     586    (  ((uint64_t)((a_idSession)  & 0xffff) << 48) \
     587     | ((uint64_t)((a_idTransfer) & 0xffff) << 32) \
     588     | ((uint32_t) (a_idEvent)) \
     589    )
     590/** Creates a context ID out of a session ID. */
     591#define VBOX_SHCL_CONTEXTID_MAKE_SESSION(a_idSession)    VBOX_SHCL_CONTEXTID_MAKE(a_idSession, 0, 0)
     592/** Gets the session ID out of a context ID. */
     593#define VBOX_SHCL_CONTEXTID_GET_SESSION(a_idContext)     ( (uint16_t)(((a_idContext) >> 48) & UINT16_MAX) )
     594/** Gets the transfer ID out of a context ID. */
     595#define VBOX_SHCL_CONTEXTID_GET_TRANSFER(a_idContext)    ( (uint16_t)(((a_idContext) >> 32) & UINT16_MAX) )
     596/** Gets the transfer event out of a context ID. */
     597#define VBOX_SHCL_CONTEXTID_GET_EVENT(a_idContext)       ( (uint32_t)( (a_idContext)        & UINT32_MAX) )
     598
     599/** Maximum number of concurrent Shared Clipboard client sessions a VM can have. */
     600#define VBOX_SHCL_MAX_SESSIONS                          (UINT16_MAX - 1)
     601/** Maximum number of concurrent Shared Clipboard transfers a single client can have. */
     602#define VBOX_SHCL_MAX_TRANSFERS                         (UINT16_MAX - 1)
     603/** Maximum number of events a single Shared Clipboard transfer can have. */
     604#define VBOX_SHCL_MAX_EVENTS                            (UINT32_MAX - 1)
     605/** @} */
     606
     607
    565608/*
    566609 * HGCM parameter structures.
    567610 */
    568 /** @todo r=bird: These structures are mostly pointless. */
     611/** @todo r=bird: These structures are mostly pointless, as they're only
     612 *        ever used by the VbglR3 part.  The host service does not use these
     613 *        structures for decoding guest requests, instead it's all hardcoded. */
    569614#pragma pack(1)
    570615/**
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette