HostUSBDeviceImpl.h revision c79efcf08c72772e87ae3daeb97064f93d890e50
/** @file
*
* VirtualBox IHostUSBDevice COM interface implementation
*/
/*
* Copyright (C) 2006 InnoTek Systemberatung GmbH
*
* 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 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.
*
* If you received this file as part of a commercial VirtualBox
* distribution, then only the terms of your commercial VirtualBox
* license agreement apply instead of the previous paragraph.
*/
#ifndef ____H_HOSTUSBDEVICEIMPL
#define ____H_HOSTUSBDEVICEIMPL
#include "VirtualBoxBase.h"
#include "USBDeviceFilterImpl.h"
/* #include "USBProxyService.h" circular on Host/HostUSBDevice, the includer
* must include this. */
#include "Collection.h"
/**
* Object class used to hold Host USB Device properties.
*/
{
void FinalRelease();
// public initializer/uninitializer for internal purposes only
void uninit();
// IUSBDevice properties
// IHostUSBDevice properties
// public methods only for internal purposes
/* @note Must be called from under the object read lock. */
/* @note Must be called from under the object read lock. */
/* @note Must be called from under the object read lock. */
/* @note Must be called from under the object read lock. */
/// @todo remove
#if 0
/* @note Must be called from under the object read lock. */
#endif
/* @note Must be called from under the object read lock. */
bool isStatePending() const { return mIsStatePending; }
/* @note Must be called from under the object read lock. */
/// @todo remove
#if 0
void setIgnored();
#endif
int setHostDriven();
int reset();
/// @todo remove
#if 0
#endif
// for VirtualBoxSupportErrorInfoImpl
bool mIsStatePending : 1;
/// @todo remove
#if 0
bool mIgnored : 1;
#endif
/** Pointer to the USB Proxy Service instance. */
/** Pointer to the USB Device structure owned by this device.
* Only used for host devices. */
};
{
return E_INVALIDARG;
if (!aDevice)
return E_POINTER;
{
++ it;
}
if (!found)
"Could not find a USB device with UUID {%s}"),
}
{
if (!aAddress)
return E_INVALIDARG;
if (!aDevice)
return E_POINTER;
{
++ it;
}
if (!found)
"Could not find a USB device with address '%ls'"),
aAddress);
}
#endif // ____H_HOSTUSBDEVICEIMPL