コード例 #1
0
 protected StaticDataReportMessage(StaticDataReportMessage message)
     : this()
 {
     Repeat     = message.Repeat;
     Mmsi       = message.Mmsi;
     PartNumber = message.PartNumber;
 }
コード例 #2
0
        public static AisMessage Create(Payload payload)
        {
            var message = new StaticDataReportMessage(payload);

            if (message.PartNumber == 0)
            {
                return(new StaticDataReportPartAMessage(message, payload));
            }

            return(new StaticDataReportPartBMessage(message, payload));
        }
コード例 #3
0
        public StaticDataReportPartBMessage(StaticDataReportMessage message, Payload payload)
            : base(message)
        {
            ShipType      = payload.ReadEnum <ShipType>(40, 8);
            VendorId      = payload.ReadString(48, 18);
            UnitModelCode = payload.ReadUInt(66, 4);
            SerialNumber  = payload.ReadUInt(70, 20);
            CallSign      = payload.ReadString(90, 42);

            // TODO: handle MMSI auxiliary craft
            //MothershipMmsi = payload.ReadUInt(132, 30);

            DimensionToBow       = payload.ReadUInt(132, 9);
            DimensionToStern     = payload.ReadUInt(141, 9);
            DimensionToPort      = payload.ReadUInt(150, 6);
            DimensionToStarboard = payload.ReadUInt(156, 6);
            Spare = payload.ReadUInt(162, 6);
        }
コード例 #4
0
 public StaticDataReportPartAMessage(StaticDataReportMessage message, Payload payload)
     : base(message)
 {
     ShipName = payload.ReadString(40, 120);
     Spare    = payload.ReadUInt(160, 8);
 }