Example #1
0
        private IList <SgbmIdChange> GetSgbmIds(IPsdzTalLine talLine)
        {
            IList <SgbmIdChange> list = new List <SgbmIdChange>();

            foreach (IPsdzTa psdzTa in talLine.TaCategory.Tas)
            {
                IPsdzSgbmId sgbmId = psdzTa.SgbmId;
                if (sgbmId != null)
                {
                    SgbmIdentifier sgbmIdentifier = new SgbmIdentifier();
                    sgbmIdentifier.ProcessClass = sgbmId.ProcessClass;
                    sgbmIdentifier.Id           = sgbmId.IdAsLong;
                    sgbmIdentifier.MainVersion  = sgbmId.MainVersion;
                    sgbmIdentifier.SubVersion   = sgbmId.SubVersion;
                    sgbmIdentifier.PatchVersion = sgbmId.PatchVersion;
                    list.Add(new SgbmIdChange(this.GetSgbmIdActual(sgbmId), sgbmIdentifier.ToString()));
                }
            }
            return(list);
        }
Example #2
0
        private ProgrammingActionState CalculateProgrammingState(IPsdzTalLine talLine)
        {
            ProgrammingActionState programmingActionState;

            if (talLine.TaCategories != PsdzTaCategories.FscDeploy)
            {
                programmingActionState = this.MapState(talLine.ExecutionState);
            }
            else
            {
                programmingActionState = ProgrammingActionState.ActionSuccessful;
                foreach (IPsdzTa psdzTa in this.GetFscTas(talLine.FscDeploy))
                {
                    ProgrammingActionState programmingActionState2 = this.MapState(psdzTa.ExecutionState);
                    if (programmingActionState2.CompareTo(programmingActionState) > 0)
                    {
                        programmingActionState = programmingActionState2;
                    }
                }
            }
            return(programmingActionState);
        }
Example #3
0
        internal static ISet <ProgrammingActionType> MapProgrammingActionType(IPsdzTalLine talLine)
        {
            ISet <ProgrammingActionType> set = new HashSet <ProgrammingActionType>();

            switch (talLine.TaCategories)
            {
            case PsdzTaCategories.BlFlash:
            case PsdzTaCategories.GatewayTableDeploy:
            case PsdzTaCategories.SwDeploy:
                set.Add(ProgrammingActionType.Programming);
                return(set);

            case PsdzTaCategories.CdDeploy:
                set.Add(ProgrammingActionType.Coding);
                return(set);

            case PsdzTaCategories.FscBackup:
                set.Add(ProgrammingActionType.FscBakup);
                return(set);

            case PsdzTaCategories.FscDeploy:
                using (IEnumerator <PsdzSwtActionType?> enumerator = (from ta in talLine.FscDeploy.Tas.OfType <PsdzFscDeployTa>()
                                                                      select ta.Action).GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        PsdzSwtActionType?psdzSwtActionType = enumerator.Current;
                        if (psdzSwtActionType != null)
                        {
                            switch (psdzSwtActionType.GetValueOrDefault())
                            {
                            case PsdzSwtActionType.ActivateStore:
                                set.Add(ProgrammingActionType.FscStore);
                                continue;

                            case PsdzSwtActionType.ActivateUpdate:
                            case PsdzSwtActionType.ActivateUpgrade:
                            case PsdzSwtActionType.WriteVin:
                                set.Add(ProgrammingActionType.FscActivate);
                                continue;

                            case PsdzSwtActionType.Deactivate:
                                set.Add(ProgrammingActionType.FscDeactivate);
                                continue;
                            }
                        }
                        throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, "Unsupported FSC action {0}.", psdzSwtActionType));
                    }
                    return(set);
                }

            case PsdzTaCategories.HddUpdate:
                set.Add(ProgrammingActionType.HddUpdate);
                return(set);

            case PsdzTaCategories.HwDeinstall:
                set.Add(ProgrammingActionType.Unmounting);
                return(set);

            case PsdzTaCategories.HwInstall:
                set.Add(ProgrammingActionType.Mounting);
                return(set);

            case PsdzTaCategories.IbaDeploy:
                set.Add(ProgrammingActionType.IbaDeploy);
                return(set);

            case PsdzTaCategories.IdBackup:
                set.Add(ProgrammingActionType.IdSave);
                return(set);

            case PsdzTaCategories.IdRestore:
                set.Add(ProgrammingActionType.IdRestore);
                return(set);

            case PsdzTaCategories.SFADeploy:
                if (talLine.SFADeploy.Tas.OfType <PsdzSFAWriteTA>().Any <PsdzSFAWriteTA>())
                {
                    set.Add(ProgrammingActionType.SFAWrite);
                }
                if (talLine.SFADeploy.Tas.OfType <PsdzSFADeleteTA>().Any <PsdzSFADeleteTA>())
                {
                    set.Add(ProgrammingActionType.SFADelete);
                }
                if (talLine.SFADeploy.Tas.OfType <PsdzSFAVerifyTA>().Any <PsdzSFAVerifyTA>())
                {
                    set.Add(ProgrammingActionType.SFAVerfy);
                    return(set);
                }
                return(set);

            case PsdzTaCategories.Unknown:
                return(set);

            case PsdzTaCategories.EcuActivate:
            case PsdzTaCategories.EcuPoll:
            case PsdzTaCategories.EcuMirrorDeploy:
                //Log.Warning(Log.CurrentMethod(), string.Format(CultureInfo.InvariantCulture, "Unimplemented TA category type {0}.", talLine.TaCategories), Array.Empty<object>());
                return(set);
            }
            throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, "Unsupported TA category type {0}.", talLine.TaCategories));
        }