VirtualBox

Changeset 28297 in vbox for trunk/src/VBox/Main/include


Ignore:
Timestamp:
Apr 14, 2010 12:17:11 PM (15 years ago)
Author:
vboxsync
Message:

Guest Control: Update (update on contexts for callbacks).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/GuestImpl.h

    r28286 r28297  
    118118
    119119# ifdef VBOX_WITH_GUEST_CONTROL
    120 
    121120    struct CallbackContext
    122121    {
    123         uint32_t  mContextID;
    124         void     *pvData;
    125         uint32_t  cbData;
     122        uint32_t        mContextID;
     123        void           *pvData;
     124        uint32_t        cbData;
     125        /** Atomic flag whether callback was called. */
     126        volatile bool   bCalled;
    126127    };
     128    typedef std::list< CallbackContext > CallbackList;
     129    typedef std::list< CallbackContext >::iterator CallbackListIter;
     130    typedef std::list< CallbackContext >::const_iterator CallbackListIterConst;
    127131
    128132    int prepareExecuteArgs(const char *pszArgs, void **ppvList, uint32_t *pcbList, uint32_t *pcArgs);
     
    130134    /** Handler for guest execution control notifications. */
    131135    int notifyCtrlExec(uint32_t u32Function, PHOSTEXECCALLBACKDATA pData);
    132     void freeCtrlCallbackContextData(CallbackContext *pContext);
     136    CallbackListIter getCtrlCallbackContext(uint32_t u32ContextID);
     137    void removeCtrlCallbackContext(CallbackListIter it);
    133138    uint32_t addCtrlCallbackContext(void *pvData, uint32_t cbData);
    134139# endif
     
    158163       
    159164    volatile uint32_t mNextContextID;
    160     typedef std::list< CallbackContext > CallbackList;
    161165    CallbackList mCallbackList;
    162166# endif
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