HostUSBDeviceImpl.h revision b9769010e0bf9346865942a20da204bd1dbc8cb6
039cd2c4871a00e51af909222a34695d9cec3000vboxsync * VirtualBox IHostUSBDevice COM interface implementation
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * Copyright (C) 2006-2007 innotek GmbH
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * available from http://www.virtualbox.org. This file is free software;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * General Public License as published by the Free Software Foundation,
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * distribution. VirtualBox OSE is distributed in the hope that it will
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * be useful, but WITHOUT ANY WARRANTY of any kind.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * If you received this file as part of a commercial VirtualBox
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * distribution, then only the terms of your commercial VirtualBox
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * license agreement apply instead of the previous paragraph.
12cd783de945853c8fc377095e8d0bbd4c97d8a1vboxsync/* #include "USBProxyService.h" circular on Host/HostUSBDevice, the includer
27537ffef7291d0bb3a24e459a6b94c65586defevboxsync * must include this. */
19edb133387698f301b529248daa3719fe0d7389vboxsync * Object class used to hold Host USB Device properties.
19edb133387698f301b529248daa3719fe0d7389vboxsync public VirtualBoxSupportErrorInfoImpl <HostUSBDevice, IHostUSBDevice>,
7203f6c17d0f467b2735c4cf235948225e73c2cevboxsync public VirtualBoxSupportTranslation <HostUSBDevice>,
7203f6c17d0f467b2735c4cf235948225e73c2cevboxsync VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT (HostUSBDevice)
// public initializer/uninitializer for internal purposes only
void uninit();
void requestRelease();
void requestHold();
void setHeld();
void reset();
void handlePendingStateChange();
void cancelPendingState();
bool aIsStrict = true);
return E_INVALIDARG;
if (!aDevice)
return E_POINTER;
++ it;
if (!found)
if (!aAddress)
return E_INVALIDARG;
if (!aDevice)
return E_POINTER;
++ it;
if (!found)
aAddress);