// ignore_for_file: constant_identifier_names import 'parser.dart'; import 'sentence.dart'; const TypeDOR = "DOR"; // TypeSingleDoorDOR is type for single door related event const TypeSingleDoorDOR = "E"; // TypeFaultDOR is type for fault with door const TypeFaultDOR = "F"; // TypeSectionDOR is type for section of doors related event const TypeSectionDOR = "S"; // DoorStatusOpenDOR is status for open door const DoorStatusOpenDOR = "O"; // DoorStatusClosedDOR is status for closed door const DoorStatusClosedDOR = "C"; // DoorStatusFaultDOR is status for fault with door const DoorStatusFaultDOR = "X"; // SwitchSettingHarbourModeDOR is setting for Harbour mode (allowed open) const SwitchSettingHarbourModeDOR = "O"; // SwitchSettingSeaModeDOR is setting for Sea mode (ordered closed) const SwitchSettingSeaModeDOR = "C"; class DOR { String type; Time time; String systemIndicator; String divisionIndicator1; int divisionIndicator2; int doorNumberOrCount; String doorStatus; String switchSetting; String message; DOR( {required this.type, required this.time, required this.systemIndicator, required this.divisionIndicator1, required this.divisionIndicator2, required this.doorNumberOrCount, required this.doorStatus, required this.switchSetting, required this.message}); static DOR newDOR(BaseSentence s) { var p = Parser(s); return DOR( type: p.enumString( 0, "message type", [TypeSingleDoorDOR, TypeFaultDOR, TypeSectionDOR]), time: p.time(1, "time"), systemIndicator: p.string(2, "system indicator"), divisionIndicator1: p.string(3, "division indicator 1"), divisionIndicator2: p.int64(4, "division indicator 2"), doorNumberOrCount: p.int64(5, "door number or count"), doorStatus: p.enumString(6, "door state", [DoorStatusOpenDOR, DoorStatusClosedDOR, DoorStatusFaultDOR]), switchSetting: p.enumString(7, "switch setting mode", [SwitchSettingHarbourModeDOR, SwitchSettingSeaModeDOR]), message: p.string(8, "message"), ); } }