protected override IEnumerable <InitializeProcess> GetSystemItemsToInitialize() { var items = new List <InitializeProcess>(); if (Switcher != null) { items.Add(new InitializeProcess(Switcher.Init, "Initializing Central Matrix Switcher connections")); } if (Dsp != null) { items.Add(new InitializeProcess(InitializeDsp, "Connecting to audio DSP")); } items.AddRange( _oneBeyondControllers.Select( oneBeyond => new InitializeProcess(oneBeyond.Value.Initialize, "Initializing OneBeyond Controller " + oneBeyond.Key))); if (Codecs != null) { items.AddRange(Codecs.Select(codec => new InitializeProcess(codec.Value.Initialize, string.Format("Connecting to Codec {0}", codec.Key)))); } if (FireAlarmListener != null) { items.Add(new InitializeProcess(FireAlarmListener.Start, "Starting fire alarm interface listener")); } items.Add(new InitializeProcess(SoftwareUpdate.SoftwareUpdate.ListenForUpdateServers, "Starting Software Update Listener")); return(items); }