/* 
 * File:   HighwaysParser.h
 * 
 * The HighwaysParser class takes in a character buffer and parses it into a 
 * vector of FEP_LINEs and a vector of STATIONS. The buffer is sent in via the
 * constructor and the FEP_LINE and STATION vectors are accessible via public
 * members.
 * 
 * @author John A. Torres
 */

#ifndef HIGHWAYSPARSER_H
#define	HIGHWAYSPARSER_H

#include "network.h"
#include <vector>
#include <iostream>
#include <sstream>
#include <stdio.h>
#include "DataPacker.h"

class HighwaysParser {
public:
    /**
     * Constructor. Takes in the character buffer to be parsed.
     * 
     * @param highwaysData buffer
     */
    HighwaysParser(char * highwaysData);
    /**
     * Parses the buffer into FEP_LINE and STATION vectors.
     * 
     * @param highwaysData buffer
     */
    void parseLines(char * highwaysData);
    // The public lines member, containing the parsed vector of FEP_LINES
    vector<FEP_LINE*> lines;
    // The public stations member, containing the parsed vector of STATIONS
    vector<STATION*> stations;
    // Frees all allocated memory in the class
    virtual ~HighwaysParser();
private:
};

#endif	/* HIGHWAYSPARSER_H */

