void InputDialog::resetMapping() { { Mutual<KeyMapping>::Locked lkm(keyMapping_); lkm->map.clear(); lkm->rapidvec.clear(); for (std::size_t i = 0; i < config_.size(); ++i) { if (config_[i].event.value == InputBox::value_kbd) { lkm->map.insert(std::make_pair( config_[i].event.id, MappedKey(buttons_[i >> 1], config_[i].fpp))); } } }
void WFStartupUpgrade::EventCallback(int32 eventType, WFStartupEventCallbackParameter* param) { if (param->m_type == SP_Upgrade) { if ( m_upgradeParams && param != m_upgradeParams ) { delete m_upgradeParams; m_upgradeParams = NULL; } m_upgradeParams = static_cast<WFStartupEventUpgradeCallbackParameter*>(param); if ((m_upgradeParams->m_keyStr != NULL) && (strlen(m_upgradeParams->m_keyStr) == 0)) { class WFStartupEventUpgradeFailedCallbackParameter* params = new WFStartupEventUpgradeFailedCallbackParameter(false, true, true, true, true); m_handler->TriggerEvent(SS_UpgradeFailed, params); } else if ((m_upgradeParams->m_phone != NULL) && (strlen(m_upgradeParams->m_phone) == 0)) { class WFStartupEventUpgradeFailedCallbackParameter* params = new WFStartupEventUpgradeFailedCallbackParameter(true, false, true, true, true); m_handler->TriggerEvent(SS_UpgradeFailed, params); } else if ((m_upgradeParams->m_name != NULL) && (strlen(m_upgradeParams->m_name) == 0)) { class WFStartupEventUpgradeFailedCallbackParameter* params = new WFStartupEventUpgradeFailedCallbackParameter(true, true, false, true, true); m_handler->TriggerEvent(SS_UpgradeFailed, params); } else if ((m_upgradeParams->m_email != NULL) && (strlen(m_upgradeParams->m_email) == 0)) { class WFStartupEventUpgradeFailedCallbackParameter* params = new WFStartupEventUpgradeFailedCallbackParameter(true, true, true, false, true); m_handler->TriggerEvent(SS_UpgradeFailed, params); } else { isab::LicenseKeyMess lkm(m_upgradeParams->m_keyStr, m_upgradeParams->m_phone, m_upgradeParams->m_name, m_upgradeParams->m_email, m_upgradeParams->m_optional, m_upgradeParams->m_countryId); m_sender->SendMessage(lkm, this); lkm.deleteMembers(); } } }
void UDPWiimote::mainThread() { std::unique_lock<std::mutex> lk(d->termLock); Common::Timer time; fd_set fds; struct timeval timeout; timeout.tv_sec=0; timeout.tv_usec=0; time.Update(); do { int maxfd=0; FD_ZERO(&fds); for (auto& fd : d->sockfds) { FD_SET(fd,&fds); #ifndef _WIN32 if (fd>=maxfd) maxfd=(fd)+1; #endif } u64 tleft=timeout.tv_sec*1000+timeout.tv_usec/1000; u64 telapsed=time.GetTimeDifference(); time.Update(); if (tleft<=telapsed) { timeout.tv_sec=1; timeout.tv_usec=500000; broadcastPresence(); } else { tleft-=telapsed; timeout.tv_sec=(long)(tleft/1000); timeout.tv_usec=(tleft%1000)*1000; } lk.unlock(); //VERY hacky. don't like it if (d->exit) return; int rt=select(maxfd,&fds,NULL,NULL,&timeout); if (d->exit) return; lk.lock(); if (d->exit) return; if (rt) { for (sock_t fd : d->sockfds) { if (FD_ISSET(fd,&fds)) { u8 bf[64]; int size=60; size_t addr_len; struct sockaddr_storage their_addr; addr_len = sizeof their_addr; if ((size = recvfrom(fd, (dataz)bf, size , 0,(struct sockaddr *)&their_addr, (socklen_t*)&addr_len)) == -1) { ERROR_LOG(WIIMOTE,"UDPWii Packet error"); } else { std::lock_guard<std::mutex> lkm(d->mutex); if (pharsePacket(bf,size)==0) { //NOTICE_LOG(WIIMOTE,"UDPWII New pack"); } else { //NOTICE_LOG(WIIMOTE,"UDPWII Wrong pack format... ignoring"); } } } } } } while (!(d->exit)); }