HostImpl.h revision 3f39762dd6bd72f72b8dc59baa0c80df9b3d7201
/* $Id$ */
/** @file
* Implemenation of IHost.
*/
/*
* Copyright (C) 2006-2007 Sun Microsystems, Inc.
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
* Clara, CA 95054 USA or visit http://www.sun.com if you need
* additional information or have any questions.
*/
#ifndef ____H_HOSTIMPL
#define ____H_HOSTIMPL
#include "VirtualBoxBase.h"
#ifdef VBOX_WITH_USB
# include "HostUSBDeviceImpl.h"
# include "USBDeviceFilterImpl.h"
# include "USBProxyService.h"
#else
#endif
#ifdef RT_OS_WINDOWS
#endif
#include <list>
{
void FinalRelease();
// public initializer/uninitializer for internal purposes only
void uninit();
// IHost properties
#ifdef RT_OS_WINDOWS
#endif
// IHost methods
#ifdef RT_OS_WINDOWS
#endif
// public methods only for internal purposes
#ifdef VBOX_WITH_USB
/** @todo We could benefit from moving all this USB management into USBProxyService
* instead of spreading out like this. Host only needs to keep the host filter list and make
* it available to the proxy service. Then only the proxy needs to be intimate friends
* with HostUSBDevice, which would simplify the overall picture a bit.
* But, I don't dare move anything about this right now though, as I have no time nor any
* wishes to provoke the deadlock troll so close to a release... */
#ifdef NEW_HOSTUSBDEVICE_STATE
void onUSBDeviceStateChanged(HostUSBDevice *aDevice, bool aRunFilters, SessionMachine *aIgnoreMachine);
#else
#endif
/* must be called from under this object's lock */
#else /* !VBOX_WITH_USB */
#endif /* !VBOX_WITH_USB */
#ifdef RT_OS_WINDOWS
#endif
// for VirtualBoxSupportErrorInfoImpl
#if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS)
# ifdef VBOX_USE_LIBHAL
# endif
#endif
#ifdef VBOX_WITH_USB
/** specialization for IHostUSBDeviceFilter */
{
: NULL;
}
#endif /* VBOX_WITH_USB */
#ifdef RT_OS_WINDOWS
#endif
#ifdef VBOX_WITH_USB
/** Pointer to the USBProxyService object. */
#endif /* VBOX_WITH_USB */
};
#endif // ____H_HOSTIMPL