imBMW.iBus.MessageReceiverRegistration.Matches C# (CSharp) Method

Matches() public method

public Matches ( Message m ) : bool
m Message
return bool
        public bool Matches(Message m)
        {
            switch (Match)
            {
                case MessageReceiverRegistration.MatchType.Source:
                    if (Source == m.SourceDevice)
                    {
                        return true;
                    }
                    break;
                case MessageReceiverRegistration.MatchType.Destination:
                    if (Destination == m.DestinationDevice
                        || m.DestinationDevice == DeviceAddress.Broadcast
                        || m.DestinationDevice == DeviceAddress.GlobalBroadcastAddress)
                    {
                        return true;
                    }
                    break;
                case MessageReceiverRegistration.MatchType.SourceAndDestination:
                    if (Source == m.SourceDevice
                        && (Destination == m.DestinationDevice
                            || m.DestinationDevice == DeviceAddress.Broadcast
                            || m.DestinationDevice == DeviceAddress.GlobalBroadcastAddress))
                    {
                        return true;
                    }
                    break;
                case MessageReceiverRegistration.MatchType.SourceOrDestination:
                    if (Source == m.SourceDevice
                        || Destination == m.DestinationDevice
                        || m.DestinationDevice == DeviceAddress.Broadcast
                        || m.DestinationDevice == DeviceAddress.GlobalBroadcastAddress)
                    {
                        return true;
                    }
                    break;
            }
            return false;
        }