VirtualBox

Changeset 25966 in vbox for trunk/src/VBox/Devices/VMMDev


Ignore:
Timestamp:
Jan 22, 2010 11:15:43 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56818
Message:

PDMIBASE refactoring; use UUID as interface IDs.

Location:
trunk/src/VBox/Devices/VMMDev
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/VMMDev/VMMDev.cpp

    r25848 r25966  
    4242#ifndef IN_RC
    4343# include <iprt/mem.h>
     44#endif
     45#ifdef IN_RING3
     46# include <iprt/uuid.h>
    4447#endif
    4548
     
    18251828
    18261829/**
    1827  * Queries an interface to the driver.
    1828  *
    1829  * @returns Pointer to interface.
    1830  * @returns NULL if the interface was not supported by the driver.
    1831  * @param   pInterface          Pointer to this interface structure.
    1832  * @param   enmInterface        The requested interface identification.
    1833  * @thread  Any thread.
     1830 * @interface_method_impl{PDMIBASE,pfnQueryInterface}
    18341831 */
    1835 static DECLCALLBACK(void *) vmmdevPortQueryInterface(PPDMIBASE pInterface, PDMINTERFACE enmInterface)
    1836 {
    1837     VMMDevState *pThis = (VMMDevState*)((uintptr_t)pInterface - RT_OFFSETOF(VMMDevState, Base));
    1838     switch (enmInterface)
    1839     {
    1840         case PDMINTERFACE_BASE:
    1841             return &pThis->Base;
    1842         case PDMINTERFACE_VMMDEV_PORT:
    1843             return &pThis->Port;
     1832static DECLCALLBACK(void *) vmmdevPortQueryInterface(PPDMIBASE pInterface, const char *pszIID)
     1833{
     1834    VMMDevState *pThis = RT_FROM_MEMBER(pInterface, VMMDevState, Base);
     1835
     1836    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
     1837        return &pThis->Base;
     1838    if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_VMMDEV_PORT) == 0)
     1839        return &pThis->Port;
    18441840#ifdef VBOX_WITH_HGCM
    1845         case PDMINTERFACE_HGCM_PORT:
    1846             return &pThis->HGCMPort;
     1841    if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_HGCM_PORT) == 0)
     1842        return &pThis->HGCMPort;
    18471843#endif
    1848         case PDMINTERFACE_LED_PORTS:
    1849             /* Currently only for shared folders */
    1850             return &pThis->SharedFolders.ILeds;
    1851         default:
    1852             return NULL;
    1853     }
     1844    if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_LED_PORTS) == 0)
     1845        /* Currently only for shared folders */
     1846        return &pThis->SharedFolders.ILeds;
     1847    return NULL;
    18541848}
    18551849
  • trunk/src/VBox/Devices/VMMDev/VMMDevState.h

    r25848 r25966  
    5151    /** Pointer to device instance. */
    5252    PPDMDEVINSR3 pDevIns;
    53     /** VMMDev port base interface. */
     53    /** LUN\#0 + Status: VMMDev port base interface. */
    5454    PDMIBASE Base;
    55     /** VMMDev port interface. */
     55    /** LUN\#0: VMMDev port interface. */
    5656    PDMIVMMDEVPORT Port;
    5757#ifdef VBOX_WITH_HGCM
    58     /** HGCM port interface. */
     58    /** LUN\#0: HGCM port interface. */
    5959    PDMIHGCMPORT HGCMPort;
    6060#endif
     
    188188#endif /* VBOX_WITH_HGCM */
    189189
    190     /* Shared folders LED */
     190    /** Status LUN: Shared folders LED */
    191191    struct
    192192    {
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