int main(int argc, char **argv) { time_t starttime, endtime; SIsectionsSDT sdtset; starttime=time(NULL); sdtset.readSections(); endtime=time(NULL); printf("Sections read: %d\n", sdtset.size()); printf("Time needed: %ds\n", (int)difftime(endtime, starttime)); // for_each(sdtset.begin(), sdtset.end(), printSmallSectionHeader()); // for_each(sdtset.begin(), sdtset.end(), printSIsection()); for_each(sdtset.begin(), sdtset.end(), printSIsectionSDT()); return 0; }
int main(int /*argc*/, char** /*argv*/) { time_t starttime, endtime; SIsectionsSDT sdtset; #ifdef READ_PRESENT_INFOS SIsectionsEIT epgset; #else SIsectionsEITschedule epgset; #endif tzset(); // TZ auswerten starttime=time(NULL); epgset.readSections(); sdtset.readSections(); endtime=time(NULL); printf("EIT Sections read: %d\n", epgset.size()); printf("SDT Sections read: %d\n", sdtset.size()); printf("Time needed: %ds\n", (int)difftime(endtime, starttime)); // for_each(epgset.begin(), epgset.end(), printSmallSectionHeader()); // for_each(epgset.begin(), epgset.end(), printSIsection()); SIevents events; for(SIsectionsEIT::iterator k=epgset.begin(); k!=epgset.end(); k++) events.insert((k->events()).begin(), (k->events()).end()); SIservices services; for(SIsectionsSDT::iterator k=sdtset.begin(); k!=sdtset.end(); k++) services.insert((k->services()).begin(), (k->services()).end()); // Damit wir die Zeiten der nvods richtig einsortiert bekommen // Ist bei epgLarge eigentlich nicht noetig, da die NVODs anscheinend nur im present/actual (epgSmall) vorkommen events.mergeAndRemoveTimeShiftedEvents(services); for_each(events.begin(), events.end(), printSIeventWithService(services)); // for_each(events.begin(), events.end(), printSIevent()); // for_each(epgset.begin(), epgset.end(), printSIsectionEIT()); // int i=0; // for(SIsectionsEIT::iterator s=epgset.begin(); s!=epgset.end(); s++, i++) { // char fname[20]; // sprintf(fname, "seit%d", i+1); // s->saveBufferToFile(fname); // } return 0; }
int main(int argc, char **argv) { SIsectionsSDT sdtset; if(argc!=2) { fprintf(stderr, "Aufruf: %s Sendername\n", argv[0]); return 1; } tzset(); // TZ auswerten sdtset.readSections(); // Die for-Schleifen sind laestig, // Evtl. sollte man aus den sets maps machen, damit man den key einfacher aendern // kann und somit find() funktioniert for(SIsectionsSDT::iterator k=sdtset.begin(); k!=sdtset.end(); k++) for(SIservices::iterator ks=k->services().begin(); ks!=k->services().end(); ks++) { // Erst mal die Controlcodes entfernen // printf("Servicename: '%s'\n", ks->serviceName.c_str()); char servicename[50]; strncpy(servicename, ks->serviceName.c_str(), sizeof(servicename)-1); servicename[sizeof(servicename)-1]=0; removeControlCodes(servicename); // Jetz pruefen ob der Servicename der gewuenschte ist // printf("Servicename: '%s'\n", servicename); if(!strcmp(servicename, argv[1])) { // Event (serviceid) suchen SIevent evt=SIevent::readActualEvent(ks->service_id); if(evt.service_id != 0) evt.saveXML(stdout); // gefunden // evt.dump(); // gefunden else printf("Kein aktuelles EPG fuer %s gefunden!\n", argv[1]); return 0; } } return 1; }