API for linking to the Huxley National Rail REST proxy for the retrieval of live National Rail data. Still needs work (sadly), but works well for the time being!

Dependencies:   EthernetInterface

National Rail Huxley Integration Interface

This API provides a clear link between the National Rail Huxley Integration JSON interface (available at https://huxley.unop.uk/), and mbed devices, over an Ethernet connection. This project is still very much a work-in-progress, but hopefully I will be able to provide a comprehensive method of retrieving live National Rail departures data in a simple and effective way.


Fri Apr 22 10:31:59 2016 +0000
Fixed a linker error

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Leigh_LbR 1:1de042ff6324 1 #ifndef ARRIVAL_BOARD_H
Leigh_LbR 1:1de042ff6324 2 #define ARRIVAL_BOARD_H
Leigh_LbR 0:bf04f62339a4 3
Leigh_LbR 0:bf04f62339a4 4 #include "arrival.h"
Leigh_LbR 0:bf04f62339a4 5 #include <string>
Leigh_LbR 0:bf04f62339a4 6
Leigh_LbR 3:a287e75a2121 7 /** Arrival_Board
Leigh_LbR 3:a287e75a2121 8 * Contains information pertaining to an arrival board; namely, a list of arrivals and a list of National Rail messages.
Leigh_LbR 3:a287e75a2121 9 */
Leigh_LbR 0:bf04f62339a4 10 class Arrival_Board
Leigh_LbR 0:bf04f62339a4 11 {
Leigh_LbR 0:bf04f62339a4 12 public:
Leigh_LbR 0:bf04f62339a4 13 Arrival* arrivals;
Leigh_LbR 0:bf04f62339a4 14 int num_arrivals;
Leigh_LbR 0:bf04f62339a4 15
Leigh_LbR 0:bf04f62339a4 16 std::string* messages;
Leigh_LbR 0:bf04f62339a4 17 int num_messages;
Leigh_LbR 0:bf04f62339a4 18
Leigh_LbR 4:7e8a23454d85 19 /** Arrival_Board constructor
Leigh_LbR 4:7e8a23454d85 20 * @param _arrivals pointer to a list of arrivals
Leigh_LbR 4:7e8a23454d85 21 * @param _num_arrivals number of arrivals in that list
Leigh_LbR 4:7e8a23454d85 22 * @param _messages pointer to a list of messages
Leigh_LbR 4:7e8a23454d85 23 * @param _num_messages number of messages in that list
Leigh_LbR 4:7e8a23454d85 24 */
Leigh_LbR 3:a287e75a2121 25 Arrival_Board(Arrival* _arrivals, const int& _num_arrivals, std::string* _messages, const int& _num_messages);
Leigh_LbR 4:7e8a23454d85 26 /** Arrival_Board default constructor
Leigh_LbR 4:7e8a23454d85 27 */
Leigh_LbR 5:a4a33e6729c2 28 Arrival_Board() {};
Leigh_LbR 0:bf04f62339a4 29
Leigh_LbR 4:7e8a23454d85 30 /** Arrival_Board destructor
Leigh_LbR 4:7e8a23454d85 31 */
Leigh_LbR 0:bf04f62339a4 32 ~Arrival_Board();
Leigh_LbR 0:bf04f62339a4 33 };
Leigh_LbR 0:bf04f62339a4 34
Leigh_LbR 4:7e8a23454d85 35 /** Creates an Arrival_Board object from a JSON object string. Uses the MbedJSONValue library.
Leigh_LbR 4:7e8a23454d85 36 * @param jsonObject the JSON object to be parsed
Leigh_LbR 4:7e8a23454d85 37 * @return an Arrival_Board object containing the information from the JSON object string
Leigh_LbR 4:7e8a23454d85 38 */
Leigh_LbR 0:bf04f62339a4 39 Arrival_Board arrBoardFromJson(const std::string& jsonObject);
Leigh_LbR 0:bf04f62339a4 40
Leigh_LbR 0:bf04f62339a4 41 #endif