diff --git a/src/libais/ais.h b/src/libais/ais.h index 3f1668ed..524909a3 100644 --- a/src/libais/ais.h +++ b/src/libais/ais.h @@ -373,6 +373,16 @@ enum Dac { class AisBitset; +class AisMdate +{ +public: + int month; + int day; + int hour; + int min; + AisMdate() { month = day = hour = min = 0; }; +}; + class AisPoint { public: double lng_deg; @@ -631,15 +641,9 @@ class Ais6_1_5 : public Ais6 { class Ais6_1_12 : public Ais6 { public: string last_port; - int utc_month_dep; // actual time of departure - int utc_day_dep; - int utc_hour_dep; - int utc_min_dep; + AisMdate utc_dep; // actual time of departure string next_port; - int utc_month_next; // estimated arrival - int utc_day_next; - int utc_hour_next; - int utc_min_next; + AisMdate utc_next; // estimated arrival string main_danger; string imo_cat; int un; diff --git a/src/libais/ais6.cpp b/src/libais/ais6.cpp index 855b80ff..6f2bde47 100644 --- a/src/libais/ais6.cpp +++ b/src/libais/ais6.cpp @@ -264,9 +264,7 @@ Ais6_1_5::Ais6_1_5(const char *nmea_payload, const size_t pad) // IMO Circ 289 - Dangerous cargo // See also Circ 236 Ais6_1_12::Ais6_1_12(const char *nmea_payload, const size_t pad) - : Ais6(nmea_payload, pad), utc_month_dep(0), utc_day_dep(0), - utc_hour_dep(0), utc_min_dep(0), utc_month_next(0), - utc_day_next(0), utc_hour_next(0), utc_min_next(0), + : Ais6(nmea_payload, pad), un(0), value(0), value_unit(0), spare2(0) { assert(dac == 1); assert(fi == 12); diff --git a/src/libais/ais_decode_normed.cpp b/src/libais/ais_decode_normed.cpp index 09bcec6f..5b8476b3 100644 --- a/src/libais/ais_decode_normed.cpp +++ b/src/libais/ais_decode_normed.cpp @@ -50,7 +50,7 @@ int main(int argc, char* argv[]) { if (fields.size() < 7) continue; if (fields[5].size() < 5) continue; if (fields[5][0] != '5') continue; - Ais5 m5(fields[5].c_str(), 2); + libais::Ais5 m5(fields[5].c_str(), 2); if (m5.had_error()) continue; std::cout << m5.mmsi << "," << m5.name << "," << m5.callsign << "," << m5.type_and_cargo << std::endl; diff --git a/src/libais/ais_py.cpp b/src/libais/ais_py.cpp index 7bb2ac37..a8aa529e 100644 --- a/src/libais/ais_py.cpp +++ b/src/libais/ais_py.cpp @@ -467,15 +467,15 @@ ais6_1_12_append_pydict(const char *nmea_payload, PyObject *dict, } DictSafeSetItem(dict, "last_port", msg.last_port); - DictSafeSetItem(dict, "utc_month_dep", msg.utc_month_dep); // actual - DictSafeSetItem(dict, "utc_day_dep", msg.utc_day_dep); - DictSafeSetItem(dict, "utc_hour_dep", msg.utc_hour_dep); - DictSafeSetItem(dict, "utc_min_dep", msg.utc_min_dep); + DictSafeSetItem(dict, "utc_month_dep", msg.utc_dep.month); // actual + DictSafeSetItem(dict, "utc_day_dep", msg.utc_dep.day); + DictSafeSetItem(dict, "utc_hour_dep", msg.utc_dep.hour); + DictSafeSetItem(dict, "utc_min_dep", msg.utc_dep.min); DictSafeSetItem(dict, "next_port", msg.next_port); - DictSafeSetItem(dict, "utc_month_next", msg.utc_month_next); // estimated - DictSafeSetItem(dict, "utc_day_next", msg.utc_day_next); - DictSafeSetItem(dict, "utc_hour_next", msg.utc_hour_next); - DictSafeSetItem(dict, "utc_min_next", msg.utc_min_next); + DictSafeSetItem(dict, "utc_month_next", msg.utc_next.month); // estimated + DictSafeSetItem(dict, "utc_day_next", msg.utc_next.day); + DictSafeSetItem(dict, "utc_hour_next", msg.utc_next.hour); + DictSafeSetItem(dict, "utc_min_next", msg.utc_next.min); DictSafeSetItem(dict, "main_danger", msg.main_danger); DictSafeSetItem(dict, "imo_cat", msg.imo_cat); DictSafeSetItem(dict, "un", msg.un);