static Scheme* parseScheme(uint8_t* data) { Scheme *ret = malloc(sizeof(Scheme)); int len = parseArraySize(data); for(int i = 0; i < len; i++) { if(i == 0) { ret->lines = parseLines(data, &(ret->linesLen)); } else if(i == 1) { ret->stations = parseStations(data, &(ret->stationsLen)); } else if(i == 2) { ret->links = parseLinks(data, &(ret->linksLen)); } } return ret; }
void AGActivityGenHandler::myStartElement(int element, const SUMOSAXAttributes& attrs) { try { switch (element) { case AGEN_TAG_GENERAL: parseGeneralCityInfo(attrs); break; case AGEN_TAG_STREET: parseStreets(attrs); break; case AGEN_TAG_WORKHOURS: parseWorkHours(); break; case AGEN_TAG_OPENING: parseOpeningHour(attrs); break; case AGEN_TAG_CLOSING: parseClosingHour(attrs); break; case AGEN_TAG_SCHOOLS: parseSchools(); break; case AGEN_TAG_SCHOOL: parseSchool(attrs); break; case AGEN_TAG_BUSSTATION: parseBusStation(attrs); break; case AGEN_TAG_BUSLINE: parseBusLine(attrs); break; case AGEN_TAG_STATIONS: parseStations(); break; case AGEN_TAG_REV_STATIONS: parseRevStations(); break; case AGEN_TAG_STATION: parseStation(attrs); break; case AGEN_TAG_FREQUENCY: parseFrequency(attrs); break; case AGEN_TAG_POPULATION: parsePopulation(); break; /*case AGEN_TAG_CHILD_ACOMP: parseChildrenAccompaniment(); break;*/ case AGEN_TAG_BRACKET: parseBracket(attrs); break; case AGEN_TAG_PARAM: parseParameters(attrs); break; case AGEN_TAG_ENTRANCE: parseCityGates(attrs); break; default: break; } } catch (const std::exception& e) { throw ProcessError(e.what()); } }