Esempio n. 1
0
        /// <summary>
        /// Returns the event args passed in, possibly altered, or null if the event must not be passed on.
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public static BaseStationMessageEventArgs FilterEvent(BaseStationMessageEventArgs args)
        {
            var result = args;

            if (args != null && args.Message != null)
            {
                var icaoNumber = CustomConvert.Icao24(args.Message.Icao24);
                if (icaoNumber != -1)
                {
                    if (_ParsedConfiguration.IsIcaoProhibited(icaoNumber))
                    {
                        result = null;
                    }
                    else if ((args.Message.IsMlat || args.IsOutOfBand) && _ParsedConfiguration.IsMlatProhibited())
                    {
                        result.Message.Latitude  = null;
                        result.Message.Longitude = null;
                        result.Message.Track     = null;
                    }
                }
            }

            return(result);
        }