void MessageObject::addConnectionToObjectFromOutlet(MessageObject *messageObject, int inletIndex, int outletIndex) { // TODO(mhroth): it is assumed here that the input connection type of the destination object is MESSAGE. Correct? if (getConnectionType(outletIndex) == MESSAGE) { list<ObjectLetPair> *connections = &outgoingMessageConnections[outletIndex]; ObjectLetPair objectLetPair = make_pair(messageObject, inletIndex); connections->push_back(objectLetPair); } }
/** * @brief Event method that is fired when it's time to calculate the output of the input * * Event method that fires when the button is clicked. This calculates the result of the electrolib functionality. * @return void **/ static void calculateAndPresentOutput(){ int RESISTANCEOUTPUTLABELROW = 6; int VOLTAGEOUTPUTLABELROW = 7; int E12OUTPUTLABELROW = 8; float* replaceResistanceValues = calloc(3,sizeof(float)); float totalresistance = calc_resistance(getNumberOfComponents(), getConnectionType(), getResistanceItems()); float totalpower = calc_power_r(getVoltage(), totalresistance); int numberOfResistors = e_resistance(totalresistance, replaceResistanceValues); char formatedMessage[100]; sprintf(formatedMessage, "Ersättningsresistance: %.1f ohm", totalresistance); addOutputLabel(_mainGrid, formatedMessage, 1, RESISTANCEOUTPUTLABELROW, 2); sprintf(formatedMessage, "Effekt: %.2f W", totalpower); addOutputLabel(_mainGrid, formatedMessage, 1, VOLTAGEOUTPUTLABELROW, 2); sprintf(formatedMessage, "Ersättningsresistans i E12-serien koppliade i serie: %.0f, %.0f, %.0f", *replaceResistanceValues, *(replaceResistanceValues+1), *(replaceResistanceValues+2)); addOutputLabel(_mainGrid, formatedMessage, 1, E12OUTPUTLABELROW, 2); }
nint NConnectionConfig::compareTo(const INObject * other) const { if (this == other) return 0; try { const NConnectionConfig * obj = dynamic_cast<const NConnectionConfig *>(other); if (obj != NULL) { int result = 0; if ((result = getName().compare(obj->getName())) == 0) { if ((result = getHost().compare(obj->getHost())) == 0) { if ((result = getPort().getValue() - obj->getPort().getValue()) == 0) { if ((result = getUser().compare(obj->getUser())) == 0) { if ((result = getPassword().compare(obj->getPassword())) == 0) { if ((result = getSchema().compare(obj->getSchema())) == 0) { result = getConnectionType()->getValue().compare(obj->getConnectionType()->getValue()); } } } } } } return result; } else { return 1; } } catch (bad_cast &) { return 1; } }
bool CDStarRepeaterConfigDVRPTR3Set::Validate() { if (m_connectionType->GetCurrentSelection() == wxNOT_FOUND) return false; CONNECTION_TYPE type = getConnectionType(); if (type == CT_USB) { if (m_usbPort->GetCurrentSelection() == wxNOT_FOUND) return false; } else { unsigned int port = getPort(); if (port == 0U || port > 65535U) { wxMessageDialog dialog(this, _("The Port is not valid"), _("DV-RPTR V2 Error"), wxICON_ERROR); dialog.ShowModal(); return false; } } return m_txInvert->GetCurrentSelection() != wxNOT_FOUND; }
Response::ResponseCode Server_ProtocolHandler::cmdLogin(const Command_Login &cmd, ResponseContainer &rc) { QString userName = QString::fromStdString(cmd.user_name()).simplified(); QString clientId = QString::fromStdString(cmd.clientid()).simplified(); QString clientVersion = QString::fromStdString(cmd.clientver()).simplified(); if (userInfo != 0) return Response::RespContextError; // check client feature set against server feature set FeatureSet features; QMap<QString, bool> receivedClientFeatures; QMap<QString, bool> missingClientFeatures; for (int i = 0; i < cmd.clientfeatures().size(); ++i) receivedClientFeatures.insert(QString::fromStdString(cmd.clientfeatures(i)).simplified(), false); missingClientFeatures = features.identifyMissingFeatures(receivedClientFeatures, server->getServerRequiredFeatureList()); if (!missingClientFeatures.isEmpty()) { if (features.isRequiredFeaturesMissing(missingClientFeatures, server->getServerRequiredFeatureList())) { Response_Login *re = new Response_Login; re->set_denied_reason_str("Client upgrade required"); QMap<QString, bool>::iterator i; for (i = missingClientFeatures.begin(); i != missingClientFeatures.end(); ++i) re->add_missing_features(i.key().toStdString().c_str()); rc.setResponseExtension(re); return Response::RespClientUpdateRequired; } } QString reasonStr; int banSecondsLeft = 0; QString connectionType = getConnectionType(); AuthenticationResult res = server->loginUser(this, userName, QString::fromStdString(cmd.password()), reasonStr, banSecondsLeft, clientId, clientVersion, connectionType); switch (res) { case UserIsBanned: { Response_Login *re = new Response_Login; re->set_denied_reason_str(reasonStr.toStdString()); if (banSecondsLeft != 0) re->set_denied_end_time(QDateTime::currentDateTime().addSecs(banSecondsLeft).toTime_t()); rc.setResponseExtension(re); return Response::RespUserIsBanned; } case NotLoggedIn: return Response::RespWrongPassword; case WouldOverwriteOldSession: return Response::RespWouldOverwriteOldSession; case UsernameInvalid: { Response_Login *re = new Response_Login; re->set_denied_reason_str(reasonStr.toStdString()); rc.setResponseExtension(re); return Response::RespUsernameInvalid; } case RegistrationRequired: return Response::RespRegistrationRequired; case ClientIdRequired: return Response::RespClientIdRequired; case UserIsInactive: return Response::RespAccountNotActivated; default: authState = res; } // limit the number of non-privileged users that can connect to the server based on configuration settings if (!userInfo || QString::fromStdString(userInfo->privlevel()).toLower() == "none") { if (server->getMaxUserLimitEnabled()) { if (server->getUsersCount() > server->getMaxUserTotal()) { qDebug() << "Max Users Total Limit Reached, please increase the max_users_total setting."; return Response::RespServerFull; } } } userName = QString::fromStdString(userInfo->name()); Event_ServerMessage event; event.set_message(server->getLoginMessage().toStdString()); rc.enqueuePostResponseItem(ServerMessage::SESSION_EVENT, prepareSessionEvent(event)); Response_Login *re = new Response_Login; re->mutable_user_info()->CopyFrom(copyUserInfo(true)); if (authState == PasswordRight) { QMapIterator<QString, ServerInfo_User> buddyIterator(databaseInterface->getBuddyList(userName)); while (buddyIterator.hasNext()) re->add_buddy_list()->CopyFrom(buddyIterator.next().value()); QMapIterator<QString, ServerInfo_User> ignoreIterator(databaseInterface->getIgnoreList(userName)); while (ignoreIterator.hasNext()) re->add_ignore_list()->CopyFrom(ignoreIterator.next().value()); } // return to client any missing features the server has that the client does not if (!missingClientFeatures.isEmpty()) { QMap<QString, bool>::iterator i; for (i = missingClientFeatures.begin(); i != missingClientFeatures.end(); ++i) re->add_missing_features(i.key().toStdString().c_str()); } joinPersistentGames(rc); databaseInterface->removeForgotPassword(userName); rc.setResponseExtension(re); return Response::RespOk; }
bool Connection::isCompatible(const StringRef& url) { return isCompatible( getConnectionType( Internet::getUrlProtocol(url) ), Internet::getUrlHost(url), Internet::getUrlPort(url) ); }