Reset the device on a failed information exchange.

Do not start an udp broadcast service on usb client.
This commit is contained in:
codestation
2015-02-14 22:01:42 -04:30
parent 891f545da3
commit 4fa13bd9ec
2 changed files with 9 additions and 3 deletions

View File

@@ -92,6 +92,8 @@ void CmaClient::connectWireless()
setActive(true); setActive(true);
broadcast = new CmaBroadcast(this);
do { do {
qDebug("Waiting for wireless connection"); qDebug("Waiting for wireless connection");
if((vita = VitaMTP_Get_First_Wireless_Vita(&host, 0, CC::deviceRegistered, CC::generatePin, CC::registrationComplete)) != NULL) { if((vita = VitaMTP_Get_First_Wireless_Vita(&host, 0, CC::deviceRegistered, CC::generatePin, CC::registrationComplete)) != NULL) {
@@ -122,13 +124,17 @@ void CmaClient::processNewConnection(vita_device_t *device)
{ {
QMutexLocker locker(&mutex); QMutexLocker locker(&mutex);
in_progress = true; in_progress = true;
broadcast.setUnavailable(); broadcast->setUnavailable();
qDebug("Vita connected: id %s", VitaMTP_Get_Identification(device)); qDebug("Vita connected: id %s", VitaMTP_Get_Identification(device));
DeviceCapability vita_info; DeviceCapability vita_info;
if(!vita_info.exchangeInfo(device)) { if(!vita_info.exchangeInfo(device)) {
qCritical("Error while exchanging info with the vita"); qCritical("Error while exchanging info with the vita");
if(VitaMTP_Get_Device_Type(device) == VitaDeviceUSB) {
// reset the device
VitaMTP_USB_Reset(device);
}
} else { } else {
QSettings settings; QSettings settings;
@@ -150,7 +156,7 @@ void CmaClient::processNewConnection(vita_device_t *device)
emit deviceDisconnected(); emit deviceDisconnected();
broadcast.setAvailable(); broadcast->setAvailable();
in_progress = false; in_progress = false;
sema.release(); sema.release();
} }

View File

@@ -54,7 +54,7 @@ private:
static int cancelCallback(); static int cancelCallback();
static void registrationComplete(); static void registrationComplete();
CmaBroadcast broadcast; CmaBroadcast *broadcast;
Database *m_db; Database *m_db;
static QString tempOnlineId; static QString tempOnlineId;