void ScreenArcadeDiagnostics::UpdateElements()
{
	// update the USB devices list
	vector<USBDevice> vDevList;
	GetUSBDeviceList( vDevList );

	/* Nothing's changed, why go through the list? */
	if( vDevList.size() == m_iLastSeenDevices )
		return;

	if ( vDevList.size() == 0 )
	{
		m_USBInfo.SetText("No USB Devices");
		m_Title.SetText("");
		m_iLastSeenDevices = 0;
		return;
	}

	CString sInfo, sTitleInfo;

	for (unsigned i = 0; i < vDevList.size(); i++)
	{
		sTitleInfo += vDevList[i].GetDeviceDir() + ":\n";
		CString sDevInfo = ssprintf("%04X:%04X: %s (%dmA)\n",
			vDevList[i].GetIdVendor(),
			vDevList[i].GetIdProduct(),
			vDevList[i].GetDescription().c_str(),
			vDevList[i].GetMaxPower() );
		sInfo += sDevInfo;
	}
	m_iLastSeenDevices = vDevList.size();
	
	m_USBInfo.SetText( sInfo );
	m_Title.SetText( sTitleInfo );
}
Beispiel #2
0
bool DiagnosticsUtil::HubIsConnected()
{
	vector<USBDevice> vDevices;
	GetUSBDeviceList( vDevices );

	for( unsigned i = 0; i < vDevices.size(); i++ )
		if( vDevices[i].IsHub() )
			return true;

	return false;
}