feat: implement MTR Next Train Handler with arrival and line info parsing

This commit is contained in:
GW_MC
2026-01-24 16:45:53 +08:00
parent 694ead2b42
commit d01167fd77
8 changed files with 359 additions and 5 deletions

View File

@@ -21,6 +21,10 @@ public:
return _arrival_time.c_str();
}
const char* destination() const {
return _destination_name.c_str();
}
private:
const std::string _arrival_time;
const std::string _destination_name; // not the code of the station
@@ -38,6 +42,14 @@ struct StationArrivalInfo {
public:
friend class MTRNextTrainHandler;
// Public accessors
StatusEnum status() const { return _status; }
const char* message() const { return _message.c_str(); }
const char* train_line() const { return _train_line.c_str(); }
const char* train_station() const { return _train_station.c_str(); }
const std::vector<ArrivalInfo>* up_arrivals() const { return &_up_arrivals; }
const std::vector<ArrivalInfo>* down_arrivals() const { return &_down_arrivals; }
private:
StationArrivalInfo(
cJSON* mtr_line_station_json,