RemoteUSBDeviceImpl.h revision 677833bc953b6cb418c701facbdcf4aa18d6c44e
/** @file
*
* VirtualBox IHostUSBDevice COM interface implementation
* for remote (VRDP) USB devices
*/
/*
* 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_REMOTEUSBDEVICEIMPL
#define ____H_REMOTEUSBDEVICEIMPL
#include "VirtualBoxBase.h"
#include "Collection.h"
{
void FinalRelease();
// public initializer/uninitializer for internal purposes only
#ifdef VRDP_MC
#else
#endif /* VRDP_MC */
void uninit();
// IUSBDevice properties
// IHostUSBDevice properties
// public methods only for internal purposes
#ifdef VRDP_MC
#endif /* VRDP_MC */
{
if (aCaptured)
{
}
else
{
}
}
// for VirtualBoxSupportErrorInfoImpl
bool mDirty;
#ifdef VRDP_MC
#endif /* VRDP_MC */
};
/// @todo (dmik) give a less stupid name and move to Collection.h
#define COM_DECL_READONLY_ENUM_AND_COLLECTION_FOR_BEGIN(c, iface) \
class c##Enumerator \
{ \
return WSTR_LITERAL (c) L"Enumerator"; \
} \
}; \
class c##Collection \
c##Collection> \
{ \
return WSTR_LITERAL (c) L"Collection"; \
}
#define COM_DECL_READONLY_ENUM_AND_COLLECTION_FOR_END(c, iface) \
};
#ifdef __WIN__
#define COM_IMPL_READONLY_ENUM_AND_COLLECTION_FOR(c, iface)
#else // !__WIN__
#define COM_IMPL_READONLY_ENUM_AND_COLLECTION_FOR(c, iface) \
NS_DECL_CLASSINFO(c##Collection) \
NS_DECL_CLASSINFO(c##Enumerator) \
#endif
{
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_REMOTEUSBDEVICEIMPL