VirtualBox

Changeset 92735 in vbox for trunk/include/VBox/GuestHost


Ignore:
Timestamp:
Dec 3, 2021 4:03:24 PM (3 years ago)
Author:
vboxsync
Message:

Shared Clipboard/Transfers: Resolved @todos: Revamped event [source] interface to now use the event objects directly instead of the event ID. bugref:9437

File:
1 edited

Legend:

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

    r86959 r92735  
    44
    55/*
    6  * Copyright (C) 2006-2020 Oracle Corporation
     6 * Copyright (C) 2006-2021 Oracle Corporation
    77 *
    88 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    3030#endif
    3131
     32#include <iprt/critsect.h>
    3233#include <iprt/types.h>
    3334#include <iprt/list.h>
     
    136137#define NIL_SHCLEVENTID                          UINT32_MAX
    137138
     139/* Forward declaration, needed for SHCLEVENT. */
     140struct SHCLEVENTSOURCE;
     141
    138142/**
    139143 * Shared Clipboard event.
     
    143147    /** List node. */
    144148    RTLISTNODE          Node;
     149    /** Parent (source) this event belongs to. */
     150    SHCLEVENTSOURCE    *pParent;
    145151    /** The event's ID, for self-reference. */
    146152    SHCLEVENTID         idEvent;
     
    165171    /** The event source ID. */
    166172    SHCLEVENTSOURCEID uID;
     173    /** Critical section for serializing access. */
     174    RTCRITSECT        CritSect;
    167175    /** Next upcoming event ID. */
    168176    SHCLEVENTID       idNextEvent;
     
    184192 */
    185193int ShClEventSourceCreate(PSHCLEVENTSOURCE pSource, SHCLEVENTSOURCEID idEvtSrc);
    186 void ShClEventSourceDestroy(PSHCLEVENTSOURCE pSource);
     194int ShClEventSourceDestroy(PSHCLEVENTSOURCE pSource);
    187195void ShClEventSourceReset(PSHCLEVENTSOURCE pSource);
     196int ShClEventSourceGenerateAndRegisterEvent(PSHCLEVENTSOURCE pSource, PSHCLEVENT *ppEvent);
     197PSHCLEVENT ShClEventSourceGetFromId(PSHCLEVENTSOURCE pSource, SHCLEVENTID idEvent);
     198PSHCLEVENT ShClEventSourceGetLast(PSHCLEVENTSOURCE pSource);
    188199/** @} */
    189200
     
    191202 *  @{
    192203 */
    193 SHCLEVENTID ShClEventIdGenerateAndRegister(PSHCLEVENTSOURCE pSource);
    194 PSHCLEVENT ShClEventGet(PSHCLEVENTSOURCE pSource, SHCLEVENTID idEvent);
    195 SHCLEVENTID ShClEventGetLast(PSHCLEVENTSOURCE pSource);
    196 uint32_t ShClEventGetRefs(PSHCLEVENTSOURCE pSource, SHCLEVENTID idEvent);
    197 uint32_t ShClEventRetain(PSHCLEVENTSOURCE pSource, SHCLEVENTID idEvent);
    198 uint32_t ShClEventRelease(PSHCLEVENTSOURCE pSource, SHCLEVENTID idEvent);
    199 int ShClEventSignal(PSHCLEVENTSOURCE pSource, SHCLEVENTID idEvent, PSHCLEVENTPAYLOAD pPayload);
    200 int ShClEventUnregister(PSHCLEVENTSOURCE pSource, SHCLEVENTID idEvent);
    201 int ShClEventWait(PSHCLEVENTSOURCE pSource, SHCLEVENTID idEvent, RTMSINTERVAL uTimeoutMs, PSHCLEVENTPAYLOAD *ppPayload);
     204uint32_t ShClEventGetRefs(PSHCLEVENT pEvent);
     205uint32_t ShClEventRetain(PSHCLEVENT pEvent);
     206uint32_t ShClEventRelease(PSHCLEVENT pEvent);
     207int ShClEventSignal(PSHCLEVENT pEvent, PSHCLEVENTPAYLOAD pPayload);
     208int ShClEventWait(PSHCLEVENT pEvent, RTMSINTERVAL uTimeoutMs, PSHCLEVENTPAYLOAD *ppPayload);
    202209/** @} */
    203210
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