public void DispatchEvent(BaseMessageParser?parser, SPPMessage.MessageIds?ids = null) { AnyMessageReceived?.Invoke(this, parser); switch (ids ?? parser?.HandledType ?? 0) { case SPPMessage.MessageIds.RESET: ResetResponse?.Invoke(this, (parser as ResetResponseParser)?.ResultCode ?? -1); break; case SPPMessage.MessageIds.FOTA_DEVICE_INFO_SW_VERSION: SwVersionResponse?.Invoke(this, (parser as SoftwareVersionOTAParser)?.SoftwareVersion ?? "null"); break; case SPPMessage.MessageIds.BATTERY_TYPE: BatteryTypeResponse?.Invoke(this, (parser as BatteryTypeParser) !); break; case SPPMessage.MessageIds.AMBIENT_MODE_UPDATED: AmbientEnabledUpdateResponse?.Invoke(this, (parser as AmbientModeUpdateParser)?.Enabled ?? false); break; case SPPMessage.MessageIds.DEBUG_BUILD_INFO: BuildStringResponse?.Invoke(this, (parser as DebugBuildInfoParser)?.BuildString ?? "null"); break; case SPPMessage.MessageIds.DEBUG_GET_ALL_DATA: GetAllDataResponse?.Invoke(this, (parser as DebugGetAllDataParser) !); break; case SPPMessage.MessageIds.DEBUG_SERIAL_NUMBER: SerialNumberResponse?.Invoke(this, (parser as DebugSerialNumberParser) !); break; case SPPMessage.MessageIds.EXTENDED_STATUS_UPDATED: BaseUpdate?.Invoke(this, (parser as IBasicStatusUpdate) !); ExtendedStatusUpdate?.Invoke(this, (parser as ExtendedStatusUpdateParser) !); break; case SPPMessage.MessageIds.FIND_MY_EARBUDS_STOP: FindMyGearStopped?.Invoke(this, EventArgs.Empty); break; case SPPMessage.MessageIds.RESP: GenericResponse?.Invoke(this, (parser as GenericResponseParser) !); break; case SPPMessage.MessageIds.SELF_TEST: SelfTestResponse?.Invoke(this, (parser as SelfTestParser) !); break; case SPPMessage.MessageIds.SET_TOUCHPAD_OTHER_OPTION: OtherOption?.Invoke(this, (parser as SetOtherOptionParser) !.OptionType); break; case SPPMessage.MessageIds.STATUS_UPDATED: StatusUpdate?.Invoke(this, (parser as StatusUpdateParser) !); BaseUpdate?.Invoke(this, (parser as IBasicStatusUpdate) !); break; case SPPMessage.MessageIds.USAGE_REPORT: UsageReport?.Invoke(this, (parser as UsageReportParser) !); break; case SPPMessage.MessageIds.MUTE_EARBUD_STATUS_UPDATED: FindMyGearMuteUpdate?.Invoke(this, (parser as MuteUpdateParser) !); break; case SPPMessage.MessageIds.NOISE_REDUCTION_MODE_UPDATE: AncEnabledUpdateResponse?.Invoke(this, (parser as NoiseReductionModeUpdateParser)?.Enabled ?? false); break; case SPPMessage.MessageIds.NOISE_CONTROLS_UPDATE: NoiseControlUpdateResponse?.Invoke(this, (parser as NoiseControlUpdateParser)?.Mode ?? NoiseControlMode.Off); break; } }
/// <summary> /// Handles the Load event of the MainForm control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> private void MainForm_Load(object sender, EventArgs e) { txtUpdateMessages.Text = string.Empty; CurrentExecutablePath = Path.GetDirectoryName(Utility.GetCurrentExecutablePath()).Replace(@"\bin\Debug", "").Replace(@"\bin\Release", ""); WriteMessage(string.Format("Current Executable path='{0}' on Class='{1}'", CurrentExecutablePath, this.GetType().Name)); DataPath = Path.Combine(CurrentExecutablePath, @"App_Data"); WriteMessage(string.Format("DataPath='{0}' on Class='{1}'", DataPath, this.GetType().Name)); // Get ZipFileFullPath ZIP_FILE_FULL_PATH = Path.Combine(DataPath, @"LOG.ZIP"); WriteMessage(string.Format("ZIP_FILE_FULL_PATH='{0}' on Class='{1}'", ZIP_FILE_FULL_PATH, this.GetType().Name)); // Get ZipFileFullPath LOG_FILE_FULL_PATH = Path.Combine(DataPath, @"LOG.LOG"); WriteMessage(string.Format("LOG_FILE_FULL_PATH='{0}' on Class='{1}'", LOG_FILE_FULL_PATH, this.GetType().Name)); // Load the object type of BaseUpdate. o = new Update_TFS_5360(); txtUpdateMessages.AppendText(@"Object created from: " + o.GetType() + @"." + Environment.NewLine); // subscribe to the WriteToLog event. txtUpdateMessages.AppendText(@"subscribing to the Object events." + Environment.NewLine); o.OnSendMessage += WriteMessage; // Create the radiobuttons inside of ngpbxEnvirontment var EnvironmentsToApply = o.EnvironmentsToApply; int PX = 10; int PY = 19; foreach (var item in EnvironmentsToApply.Keys) { if (item == Enums.UpdateEnvironment.Unknow) { continue; } var btn = new RadioButton(); btn.Name = @"rbtn" + item.ToString(); btn.Text = item.ToString(); btn.TabStop = true; btn.CheckedChanged += EnvironmentChanged; switch (item) { case UpdateEngine.Enums.UpdateEnvironment.Development: btn.Size = new System.Drawing.Size(88, 17); break; case UpdateEngine.Enums.UpdateEnvironment.Test: btn.Size = new System.Drawing.Size(46, 17); break; case UpdateEngine.Enums.UpdateEnvironment.Stage: btn.Size = new System.Drawing.Size(53, 17); break; case UpdateEngine.Enums.UpdateEnvironment.Production: btn.Size = new System.Drawing.Size(76, 17); break; default: break; } btn.Location = new System.Drawing.Point(PX, PY); gpbxEnvirontment.Controls.Add(btn); PX += btn.Size.Width + 4; } GetUpdateInformation(); }