void UiTools::handleError(QWidget *parent, QString title, Fault fault) { handleError(parent, title, getFaultText(fault)); }
void CmdExternal::SetReply(DataPacket* packet, int status/*, DataPacket* param2*/) { m_finishedTime = time(NULL); //FIXME: switch(status) { case ERROR_READ_NO_ERROR: { m_finishedTime = packet->GetTimestamp(); switch(m_cmdId) { // can get 0xB or ACK_ALL_SETTINGS case REQ_SETTING_SET: switch(packet->GetCmd()) { case ACK_ACK: m_rawResult = std::string("7;Ошибка. Код ") + itoa(packet->GetDataPtr()[0]) + std::string(": ") + getFaultText(packet->GetDataPtr()[0]) + std::string("\n"); break; case ACK_ALL_SETTINGS: { //param1 - keeps setting number //param2 - new value //packet - old value m_rawResult = std::string("8;Уставка изменена\n"); time_t system_time = time(NULL); //1. get old value unsigned short oldValue; if(m_pDevice->SetCurrentSettingValue(m_param1 /* id */, m_param2 /* new value */, oldValue)) { DBEventCommon* event = new DBEventCommon(); event->setChannelId(m_pDevice->GetDeviceStateChannelId()); event->setTypeId(11); event->setRegisterTimeDate(system_time); event->setArgument1(itoa(m_param2)); event->setArgument2(itoa(oldValue)); event->setArgument3(m_pDevice->getSettingName(m_param1)); event->setArgument4(m_pParentCommand->m_sourceRaw+"$" + m_pParentCommand->m_cmdIdRaw); Log( "CheckSettigsChanged reporting"); m_pDevice->ReportEvent(event); } } break; } break; // can get 0xB only case REQ_VD_OFF: case REQ_VD_ON: case REQ_VD_ROTATION: if (packet->GetCmd() == ACK_ACK) { unsigned char errorCode = packet->GetDataPtr()[0]; m_rawResult = std::string("7;Ошибка. Код ") + itoa(errorCode) + std::string(": ") + getFaultText(errorCode) + std::string("\n"); } else if(packet->GetCmd() == ACK_INFO){ m_rawResult = std::string("8;Прием без ошибок\n"); if(m_cmdId == REQ_VD_ON) { m_pDevice->ReportStationState(1,0,time(NULL),m_pParentCommand->m_sourceRaw+"$" + m_pParentCommand->m_cmdIdRaw); } else if(m_cmdId == REQ_VD_OFF) { m_pDevice->ReportStationState(0,1,time(NULL),m_pParentCommand->m_sourceRaw+"$" + m_pParentCommand->m_cmdIdRaw); } } else { m_rawResult = std::string("7;Получен неизвестный ответ\n"); } break; } NotifyResultReady(); } break; default: //common error handling DeviceCommand::SetReply(packet, status); break; } }