// we got (http) metadata. void eMP3Decoder::metaDataUpdated(eString meta) { { singleLock s(lock); // must protect access on metadata array eString streamTitle, streamUrl; if (meta.left(6) == "Stream") while (!meta.empty()) { unsigned int eq=meta.find('='); if (eq == eString::npos) break; eString left=meta.left(eq); meta=meta.mid(eq+1); // skip until = eq=meta.find(';'); if (eq == eString::npos) break; eString right=meta.left(eq); meta=meta.mid(eq+1); if (left=="StreamTitle") streamTitle=right; else if (left == "StreamUrl") streamUrl=right; else eDebug("unknown tag: %s = %s", left.c_str(), right.c_str()); } else streamTitle=meta; metadata[0]=streamTitle; metadata[1]=streamUrl; } handler->messages.send(eServiceHandlerMP3::eMP3DecoderMessage(eServiceHandlerMP3::eMP3DecoderMessage::infoUpdated)); }
static eString getWapZapContent(eString path) { eString tpath, result; unsigned int pos = 0, lastpos = 0, temp = 0; if ((path.find(";", 0)) == eString::npos) path = ";" + path; while ((pos = path.find(";", lastpos)) != eString::npos) { lastpos = pos + 1; if ((temp = path.find(";", lastpos)) != eString::npos) tpath = path.mid(lastpos, temp - lastpos); else tpath = path.mid(lastpos, strlen(path.c_str()) - lastpos); eServiceReference current_service = string2ref(tpath); eServiceInterface *iface = eServiceInterface::getInstance(); // first pass thru is to get all user bouquets eWapNavigatorListDirectory navlist(result, path, tpath, *iface); Signal1<void, const eServiceReference&> signal; signal.connect(slot(navlist, &eWapNavigatorListDirectory::addEntry)); iface->enterDirectory(current_service, signal); eDebug("entered"); iface->leaveDirectory(current_service); eDebug("exited"); } return result; }
std::map<eString, eString> getRequestOptions(eString opt, char delimiter) { std::map<eString, eString> result; if (opt[0] == '?') opt = opt.mid(1); while (opt.length()) { unsigned int e = opt.find("="); if (e == eString::npos) e = opt.length(); unsigned int a = opt.find(delimiter, e); if (a == eString::npos) a = opt.length(); eString n = opt.left(e); unsigned int b = opt.find(delimiter, e + 1); if (b == eString::npos) b = (unsigned)-1; eString r = httpUnescape(opt.mid(e + 1, b - e - 1)); result.insert(std::pair<eString, eString>(n, r)); opt = opt.mid(a + 1); } return result; }
eString buildShortServiceName( const eString &str ) { eString tmp; static char stropen[3] = { 0xc2, 0x86, 0x00 }; static char strclose[3] = { 0xc2, 0x87, 0x00 }; unsigned int open=eString::npos-1; while ( (open = str.find(stropen, open+2)) != eString::npos ) { unsigned int close = str.find(strclose, open); if ( close != eString::npos ) tmp += str.mid( open+2, close-(open+2) ); } if ( tmp == "" ) tmp = str; return tmp; }
static void writeSecretString( const eString &str ) { FILE *f = fopen("/etc/ppp/pap-secrets", "w"); if (!f) eFatal("couldn't create /etc/ppp/pap-secrets"); eString tmp; unsigned int pos = str.find('*'); if ( pos != eString::npos ) { tmp = '\"' + str.left(pos) + "\"\t*\t\"" + str.mid(pos+1, str.length()-pos ) + "\"\n"; } fwrite( tmp.c_str(), 1, tmp.length(), f ); fclose(f); }
void eServiceHandlerExternal::addFile(void *node, const eString &filename) { for (unsigned int i = 0; i < extensionFileList.size(); i++) { int matchsize = extensionFileList[i].pattern.length(); if (filename.right(matchsize).upper() == extensionFileList[i].pattern.upper()) { eServiceReference ref(id, 0, filename); eString filenamestripped = filename; uint i = filename.find_last_of('/'); if (i != eString::npos) { filenamestripped = filename.mid(i + 1, filename.length()); } ref.descr = filenamestripped.c_str(); eServiceFileHandler::getInstance()->addReference(node, ref); eDebug("Add file: %s", filename.c_str()); return; } } }
void eTOnlineDialog::init_eTOnlineDialog(eString Login) { setText("T - Online"); cmove(ePoint(140,140)); cresize(eSize(450,270)); eLabel *l = new eLabel(this); l->move(ePoint(10,10)); l->resize(eSize(220,30)); l->setText("Anschlusskennung:"); Kennung = new eTextInputField(this,l); Kennung->move(ePoint(230,10)); Kennung->resize(eSize(200,35)); Kennung->setMaxChars(12); Kennung->setUseableChars("1234567890"); Kennung->loadDeco(); Kennung->setHelpText("Anschlusskennung eingeben mit OK (12 Stellen)"); Kennung->setEditHelpText("Anschlusskennung eingeben (0..9, ok)"); l = new eLabel(this); l->move(ePoint(10,60)); l->resize(eSize(220,30)); l->setText("T-Online Nummer:"); tOnlineNummer = new eTextInputField(this,l); tOnlineNummer->move(ePoint(230,60)); tOnlineNummer->resize(eSize(200,35)); tOnlineNummer->setMaxChars(12); tOnlineNummer->setUseableChars("1234567890"); tOnlineNummer->loadDeco(); tOnlineNummer->setHelpText("T-Online Nummer eingeben mit OK (12 Stellen)"); tOnlineNummer->setEditHelpText("T-Online Nummer eingeben (0..9, ok)"); l = new eLabel(this); l->move(ePoint(10,110)); l->resize(eSize(220,30)); l->setText("Mitbenutzernummer:"); Mitbenutzer = new eTextInputField(this,l); Mitbenutzer->move(ePoint(230,110)); Mitbenutzer->resize(eSize(70,35)); Mitbenutzer->setMaxChars(4); Mitbenutzer->setUseableChars("1234567890"); Mitbenutzer->loadDeco(); Mitbenutzer->setHelpText("Mitbenutzernummer eingeben mit OK (4 Stellen)"); Mitbenutzer->setEditHelpText("Mitbenutzernummer eingeben (0..9, ok)"); ok = new eButton(this); ok->move(ePoint(10,160)); ok->resize(eSize(170,40)); ok->setShortcut("green"); ok->setShortcutPixmap("green"); ok->setText("speichern"); ok->setHelpText("Daten übernehmen und Fenster schliessen"); ok->loadDeco(); CONNECT(ok->selected, eWidget::accept); sbar = new eStatusBar(this); sbar->move( ePoint(0, clientrect.height()-50) ); sbar->resize( eSize( clientrect.width(), 50) ); sbar->loadDeco(); if (Login) { unsigned int pos1 = Login.find("#"), pos2 = Login.find("@"); if ( pos1 != eString::npos && pos2 != eString::npos ) { Kennung->setText(Login.left(12)); tOnlineNummer->setText(Login.mid(12,12)); Mitbenutzer->setText(Login.mid(pos1+1,4)); } } }