VirtualBox

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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/DrvNetSniffer.cpp

    r25893 r25966  
     1/* $Id$ */
    12/** @file
    2  *
    3  * VBox network devices:
    4  * Network sniffer filter driver
     3 * DrvNetSniffer - Network sniffer filter driver.
    54 */
    65
    76/*
    8  * Copyright (C) 2006-2007 Sun Microsystems, Inc.
     7 * Copyright (C) 2006-2010 Sun Microsystems, Inc.
    98 *
    109 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    3029#include <VBox/log.h>
    3130#include <iprt/assert.h>
     31#include <iprt/critsect.h>
    3232#include <iprt/file.h>
    3333#include <iprt/process.h>
    3434#include <iprt/string.h>
    3535#include <iprt/time.h>
    36 #include <iprt/critsect.h>
     36#include <iprt/uuid.h>
    3737#include <VBox/param.h>
    3838
     
    4646/**
    4747 * Block driver instance data.
     48 *
     49 * @implements  PDMINETWORKCONNECTOR
     50 * @implements  PDMINETWORKPORT
     51 * @implements  PDMINETWORKCONFIG
    4852 */
    4953typedef struct DRVNETSNIFFER
     
    248252
    249253/**
    250  * Queries an interface to the driver.
    251  *
    252  * @returns Pointer to interface.
    253  * @returns NULL if the interface was not supported by the driver.
    254  * @param   pInterface          Pointer to this interface structure.
    255  * @param   enmInterface        The requested interface identification.
    256  * @thread  Any thread.
    257  */
    258 static DECLCALLBACK(void *) drvNetSnifferQueryInterface(PPDMIBASE pInterface, PDMINTERFACE enmInterface)
    259 {
    260     PPDMDRVINS pDrvIns = PDMIBASE_2_PDMDRV(pInterface);
    261     PDRVNETSNIFFER pThis = PDMINS_2_DATA(pDrvIns, PDRVNETSNIFFER);
    262     switch (enmInterface)
    263     {
    264         case PDMINTERFACE_BASE:
    265             return &pDrvIns->IBase;
    266         case PDMINTERFACE_NETWORK_CONNECTOR:
    267             return &pThis->INetworkConnector;
    268         case PDMINTERFACE_NETWORK_PORT:
    269             return &pThis->INetworkPort;
    270         case PDMINTERFACE_NETWORK_CONFIG:
    271             return &pThis->INetworkConfig;
    272         default:
    273             return NULL;
    274     }
     254 * @interface_method_impl{PDMIBASE,pfnQueryInterface}
     255 */
     256static DECLCALLBACK(void *) drvNetSnifferQueryInterface(PPDMIBASE pInterface, const char *pszIID)
     257{
     258    PPDMDRVINS      pDrvIns = PDMIBASE_2_PDMDRV(pInterface);
     259    PDRVNETSNIFFER  pThis   = PDMINS_2_DATA(pDrvIns, PDRVNETSNIFFER);
     260    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
     261        return &pDrvIns->IBase;
     262    if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_NETWORK_CONNECTOR) == 0)
     263        return &pThis->INetworkConnector;
     264    if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_NETWORK_PORT) == 0)
     265        return &pThis->INetworkPort;
     266    if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_NETWORK_CONFIG) == 0)
     267        return &pThis->INetworkConfig;
     268    return NULL;
    275269}
    276270
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