Ejemplo n.º 1
0
        private static void ValidateCustomMetaEventsStatusBytes(EventTypesCollection customMetaEventTypesCollection)
        {
            if (customMetaEventTypesCollection == null)
            {
                return;
            }

            var  invalidTypes = new List <EventType>();
            Type eventType;

            foreach (var statusByte in customMetaEventTypesCollection.Select(t => t.StatusByte))
            {
                if (StandardEventTypes.Meta.TryGetType(statusByte, out eventType))
                {
                    invalidTypes.Add(new EventType(eventType, statusByte));
                }
            }

            if (invalidTypes.Any())
            {
                throw new InvalidOperationException("Following custom meta events status bytes correspond to standard ones: " +
                                                    string.Join(", ", invalidTypes.Select(t => $"{t.StatusByte} -> {t.Type.Name}")));
            }
        }
Ejemplo n.º 2
0
 private static bool TryGetEventType(EventTypesCollection customMetaEventTypes, byte statusByte, out Type eventType)
 {
     return(StandardEventTypes.Meta.TryGetType(statusByte, out eventType) ||
            (customMetaEventTypes?.TryGetType(statusByte, out eventType) == true && IsMetaEventType(eventType)));
 }