private string FormatError(BattleNetSettingsErrors errorBeingTested)
        {
            string item = Resources.ResourceManager.GetString("BattleNetSettingsErrors_" + errorBeingTested.ToString());
            if (string.IsNullOrEmpty(item))
                item = errorBeingTested.ToString();

            item = "\u2022 " + item + Environment.NewLine;

            return item;
        }
        private string FormatError(BattleNetSettingsErrors errorBeingTested)
        {
            string item = Resources.ResourceManager.GetString("BattleNetSettingsErrors_" + errorBeingTested.ToString());

            if (string.IsNullOrEmpty(item))
            {
                item = errorBeingTested.ToString();
            }

            item = "\u2022 " + item + Environment.NewLine;

            return(item);
        }
        public ProfileLoadErrorDialog(BattleNetSettingsErrorsException ex)
            : this()
        {
            StringBuilder sb = new StringBuilder();

            for (int i = 1; i < (int.MaxValue >> 2); i <<= 1)
            {
                BattleNetSettingsErrors errorBeingTested = (BattleNetSettingsErrors)i;
                if ((ex.Errors & errorBeingTested) == errorBeingTested)
                {
                    sb.AppendLine(FormatError(errorBeingTested));
                }
            }
            this.textBox1.Text = sb.ToString();
        }
Beispiel #4
0
        private static void ValidateSettings(IBattleNetSettings settings)
        {
            BattleNetSettingsErrors errors = BattleNetSettingsErrors.None;

            if (!File.Exists(settings.GameExe))
            {
                errors |= BattleNetSettingsErrors.GameExeMissingOrNotFound;
            }
            if (!File.Exists(settings.GameFile2))
            {
                errors |= BattleNetSettingsErrors.GameFile2MissingOrNotFound;
            }
            if (!File.Exists(settings.GameFile3))
            {
                errors |= BattleNetSettingsErrors.GameFile3MissingOrNotFound;
            }
            if (string.IsNullOrEmpty(settings.Username))
            {
                errors |= BattleNetSettingsErrors.UserNameNull;
            }
            if (!Enum.IsDefined(typeof(PingType), settings.PingMethod))
            {
                errors |= BattleNetSettingsErrors.InvalidPingType;
            }
            if (string.IsNullOrEmpty(settings.Gateway.ServerHost))
            {
                errors |= BattleNetSettingsErrors.InvalidGatewayServer;
            }

            if (settings.CdKeyOwner == null)
            {
                settings.CdKeyOwner = string.Empty;
            }
            if (settings.Password == null)
            {
                settings.Password = string.Empty;
            }

            Product productToUse = Product.GetByProductCode(settings.Client);

            if (productToUse == null)
            {
                errors |= BattleNetSettingsErrors.InvalidEmulationClient;
            }
            else
            {
                if (!productToUse.CanConnect)
                {
                    errors |= BattleNetSettingsErrors.InvalidEmulationClient;
                }
                if (string.IsNullOrEmpty(settings.CdKey1))
                {
                    errors |= BattleNetSettingsErrors.PrimaryCdKeyMissingOrInvalid;
                }
                else
                {
                    try
                    {
                        CdKey test = new CdKey(settings.CdKey1);
                        if (!test.IsValid)
                        {
                            errors |= BattleNetSettingsErrors.PrimaryCdKeyMissingOrInvalid;
                        }
                    }
                    catch
                    {
                        errors |= BattleNetSettingsErrors.PrimaryCdKeyMissingOrInvalid;
                    }
                }
                if (productToUse.NeedsTwoKeys && string.IsNullOrEmpty(settings.CdKey2))
                {
                    errors |= BattleNetSettingsErrors.SecondaryCdKeyMissingOrInvalid;
                }
                else
                {
                    if (productToUse.NeedsTwoKeys)
                    {
                        try
                        {
                            CdKey test2 = new CdKey(settings.CdKey2);
                            if (!test2.IsValid)
                            {
                                errors |= BattleNetSettingsErrors.SecondaryCdKeyMissingOrInvalid;
                            }
                        }
                        catch
                        {
                            errors |= BattleNetSettingsErrors.SecondaryCdKeyMissingOrInvalid;
                        }
                    }
                }
                if (productToUse.NeedsLockdown)
                {
                    if (string.IsNullOrEmpty(settings.ImageFile) || !File.Exists(settings.ImageFile))
                    {
                        errors |= BattleNetSettingsErrors.LockdownFileMissingOrNotFound;
                    }
                }
            }

            if (errors != BattleNetSettingsErrors.None)
            {
                throw new BattleNetSettingsErrorsException(errors);
            }
        }
 private BattleNetSettingsErrorsException(SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
     m_errors = (BattleNetSettingsErrors)info.GetValue("m_errors", typeof(BattleNetSettingsErrors));
 }
 internal BattleNetSettingsErrorsException(BattleNetSettingsErrors errors)
     : base()
 {
     m_errors = errors;
 }
 private BattleNetSettingsErrorsException(SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
     m_errors = (BattleNetSettingsErrors)info.GetValue("m_errors", typeof(BattleNetSettingsErrors));
 }
 internal BattleNetSettingsErrorsException(BattleNetSettingsErrors errors)
     : base()
 {
     m_errors = errors;
 }