Variant getValue(ElmT elm) const { if (isInt(elm)) { return getInt(elm); } assert(isStr(elm)); return getStr(elm); }
Variant getValue(ElmT elm) const { if (isInt(elm)) { return getInt(elm); } ASSERT(isStr(elm)); return getStr(elm); }
std::string LSRValue::getType() { if (isInt()) { return "int"; } else if (isStr()) { return "str"; } else { return className; } }
void OSCServerThread::run() { oscpkt::UdpSocket server; server.bindTo(this->port); if (!server.isOk()) { std::cerr << "Error opening OSC server at " << port << std::endl; return; } std::cout << "Started OSC Server at " << port << std::endl; oscpkt::PacketReader reader; oscpkt::PacketWriter writer; while (server.isOk() && !mustQuit) { if (server.receiveNextPacket(30)) { reader.init(server.packetData(), server.packetSize()); oscpkt::Message *msg; while (reader.isOk() && (msg = reader.popMessage()) != 0) { QVariantList message; message.append(QString::fromStdString( msg->addressPattern())); auto args = msg->arg(); while (!args.isOkNoMoreArgs()) { if (args.isInt32()) { int32_t i; args = args.popInt32(i); message.append(i); } else if (args.isInt64()) { int64_t i; args = args.popInt64(i); message.append( static_cast<qlonglong>(i)); } else if (args.isFloat()) { float f; args = args.popFloat(f); message.append(f); } else if (args.isDouble()) { double d; args = args.popDouble(d); message.append(d); } else if (args.isStr()) { std::string s; args = args.popStr(s); message.append( QString::fromStdString(s)); } } emit messageIn(message); } } } }
std::string LSRValue::toString() const { if (isInt()) { std::stringstream ss; ss << intVal; return ss.str(); } else if (isStr()) { return strVal; } else { // Fill with actaul code... return "Objtype: " + className; } }
QNameCoin::SignMessageRet QNameCoin::signMessageByName(const QString& name, const QString& message) { SignMessageRet ret; try { auto val = nameShow(name); UniValue address_uni = find_value(val, "address"); if(!address_uni.isStr()) { ret.error = tr("Can't get address for name %1").arg(name); return ret; } ret.address = QString::fromStdString(address_uni.get_str()); val = signMessageByAddress(ret.address, message); if(!val.isStr()) { ret.error = tr("Can't sign message"); return ret; } ret.signature = QString::fromStdString(val.get_str()); } catch (UniValue& objError) { ret.error = errorToString(objError); } catch (const std::exception& e) { ret.error = toString(e); } return ret; }