Пример #1
0
        public async Task ValidateEncodings()
        {
            var etc       = new EncodingTypeConverter();
            var codePages = etc.GetStandardValues();

            using (var sessionProvider = new RSessionProvider(_services)) {
                await sessionProvider.TrySwitchBrokerAsync(nameof(ValidateEncodings));

                using (var script = new VsRHostScript(sessionProvider)) {
                    foreach (var cp in codePages)
                    {
                        if ((int)cp > 0)
                        {
                            var expression = Invariant($"Sys.setlocale('LC_CTYPE', '.{cp}')\n");
                            using (var inter = await script.Session.BeginInteractionAsync()) {
                                await inter.RespondAsync(expression);
                            }

                            var res = await script.Session.EvaluateAsync("Sys.getlocale()", REvaluationKind.Normal);

                            var s = res.Result.ToString();

                            s.Should().NotBeNull().And.Contain(cp.ToString());
                        }
                    }
                }
            }
        }
Пример #2
0
        public void ValidateEncodings()
        {
            var etc       = new EncodingTypeConverter();
            var codePages = etc.GetStandardValues();

            using (var script = new VsRHostScript()) {
                foreach (var cp in codePages)
                {
                    if ((int)cp > 0)
                    {
                        var completed = Task.Run(async() => {
                            var expression = Invariant($"Sys.setlocale('LC_CTYPE', '.{cp}')\n");
                            using (var inter = await script.Session.BeginInteractionAsync()) {
                                await inter.RespondAsync(expression);
                            }
                        }).Wait(2000);
                        completed.Should().BeTrue();

                        string s = null;
                        completed = Task.Run(async() => {
                            using (var e = await script.Session.BeginEvaluationAsync()) {
                                var res = await e.EvaluateAsync("Sys.getlocale()", REvaluationKind.Normal);
                                s       = res.Result.ToString();
                            }
                        }).Wait(2000);

                        completed.Should().BeTrue();
                        s.Should().NotBeNull().And.Contain(cp.ToString());
                    }
                }
            }
        }
Пример #3
0
        /// <summary>
        /// Encrypts all the public property strings with a <see cref="T:ByteDev.Crypto.Encryption.EncryptAttribute" />
        /// that have a non-null or empty value.
        /// </summary>
        /// <param name="obj">Object to encrypt.</param>
        /// <param name="encoding">Encoding to use after encrypting. Base64 is the default.</param>
        /// <exception cref="T:System.ArgumentNullException"><paramref name="obj" /> is null.</exception>
        public void EncryptProperties(object obj, EncodingType encoding = EncodingType.Base64)
        {
            if (obj == null)
            {
                throw new ArgumentNullException(nameof(obj));
            }

            var encoder = _encoderFactory.Create(EncodingTypeConverter.ToEncodingLibType(encoding));

            var properties = obj.GetType().GetEncryptableProperties();

            foreach (var property in properties)
            {
                var clearText = property.GetValue(obj)?.ToString();

                if (string.IsNullOrEmpty(clearText))
                {
                    continue;
                }

                byte[] cipher = Encrypt(clearText);

                var text = encoder.Encode(cipher);

                property.SetValue(obj, text, null);
            }
        }
Пример #4
0
        private Object processScalarParameter(ParameterInfo parameterInfo, YamlScalarNode scalarNode)
        {
            String scalarValue = scalarNode.Value;

            switch (parameterInfo.ParameterType.Name)
            {
            case "Int32": return(Int32.Parse(scalarValue));

            case "Boolean": return(TextUtil.parseBool(scalarValue));

            case "String": return(scalarValue);

            case "Encoding": return(EncodingTypeConverter.parseText(scalarValue));

            default:
                throw new InvalidArgumentException("Type conversion hasn't been built yet for: {0}", parameterInfo.ParameterType.FullName);
            }
        }
Пример #5
0
        public HtunEditFrame(HtunDriver pars)
        {
            m_pars = pars;
            InitializeComponent();

            cbxEncodingStyle.Items.Add(Texts.Get("s_default"));
            cbxEncodingStyle.Items.Add(Texts.Get("s_database"));
            cbxEncodingStyle.Items.Add(Texts.Get("s_explicit"));

            foreach (var i in EncodingTypeConverter.EncodingItems)
            {
                cbxEncoding.Items.Add(i);
            }

            cbxEncoding.SelectedIndex = EncodingTypeConverter.GetEncodingIndex(m_pars.RealEncoding);

            tbxUrl.Text                    = m_pars.Url;
            tbxHttpLogin.Text              = m_pars.HttpLogin;
            tbxHttpPassword.Text           = m_pars.HttpPassword;
            cbxEncodingStyle.SelectedIndex = (int)m_pars.EncodingStyle;
            m_loaded = true;
        }
Пример #6
0
        public PtunEditFrame(PtunStoredConnection conn)
            : base(conn)
        {
            InitializeComponent();

            cbxEncodingStyle.Items.Add(Texts.Get("s_default"));
            cbxEncodingStyle.Items.Add(Texts.Get("s_database"));
            cbxEncodingStyle.Items.Add(Texts.Get("s_explicit"));

            foreach (var i in EncodingTypeConverter.EncodingItems)
            {
                cbxEncoding.Items.Add(i);
            }

            cbxEncoding.SelectedIndex = EncodingTypeConverter.GetEncodingIndex(Params.RealEncoding);

            tbxUrl.Text = Params.Url;
            cbxExtendedSafety.Checked      = Params.ExtendedSafety;
            tbxHttpLogin.Text              = Params.HttpLogin;
            tbxHttpPassword.Text           = Params.HttpPassword;
            cbxEncodingStyle.SelectedIndex = (int)Params.EncodingStyle;
        }
Пример #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:ByteDev.Crypto.Hashing.FileChecksumService" /> class.
 /// </summary>
 /// <param name="hashAlgorithm">Hashing algorithm to use when performing any hashing operation.</param>
 /// <param name="encodingType">Expected end string encoding of the hash.</param>
 /// <exception cref="T:System.ArgumentNullException"><paramref name="hashAlgorithm" /> is null.</exception>
 /// <exception cref="T:System.InvalidOperationException">Invalid EncodingType.</exception>
 public FileChecksumService(IHashAlgorithm hashAlgorithm, EncodingType encodingType)
 {
     _hashAlgorithm = hashAlgorithm ?? throw new ArgumentNullException(nameof(hashAlgorithm));
     _encodingType  = encodingType;
     _encoder       = new EncoderFactory().Create(EncodingTypeConverter.ToEncodingLibType(encodingType));
 }
Пример #8
0
        public TextImportFrame(TextImportDataStore store)
        {
            InitializeComponent();

            foreach (var i in EncodingTypeConverter.EncodingItems)
            {
                cbxEncoding.Items.Add(i);
            }

            m_store = store;

            cbxFieldType.Items.Add(new FieldAnalyseComboItem {
                Frame = new WholeLineFieldFrame(this)
            });
            cbxFieldType.Items.Add(new FieldAnalyseComboItem {
                Frame = new SeparatedFieldsFrame(this)
            });
            cbxFieldType.Items.Add(new FieldAnalyseComboItem {
                Frame = new RegexFieldsFrame(this)
            });
            cbxFieldType.Items.Add(new FieldAnalyseComboItem {
                Frame = new ScriptFieldsFrame(this)
            });

            switch (m_store.SourceType)
            {
            case TextSourceType.File:
                tbxFile.Text    = m_store.Source;
                rbtFile.Checked = true;
                break;

            case TextSourceType.Url:
                tbxUrl.Text    = m_store.Source;
                rbtUrl.Checked = true;
                break;

            case TextSourceType.Text:
                tbxTextInput.Text    = m_store.Source;
                rbtTextInput.Checked = true;
                break;
            }

            tbxLineLimitBegin.Text  = m_store.LineLimitBegin ?? "";
            tbxLineLimitEnd.Text    = m_store.LineLimitEnd ?? "";
            tbxLineRegex.Text       = m_store.LineRegex ?? "";
            tbxLineRegexGroup.Text  = m_store.LineRegexGroup ?? "";
            tbxLineSeparator.Text   = m_store.LineSeparator ?? "";
            chbLineSepRegex.Checked = m_store.LineSeparatowIsRegex;

            switch (m_store.RowDelimiter)
            {
            case RowDelimiterType.Limitation:
                rbtLineLimitation.Checked = true;
                break;

            case RowDelimiterType.Lines:
                rbtLines.Checked = true;
                break;

            case RowDelimiterType.Regex:
                rbtLineRegex.Checked = true;
                break;

            case RowDelimiterType.Separator:
                rbtLineSeparator.Checked = true;
                break;
            }

            UpdateRowsEnabling();
            UpdateSourceEnabling();

            cbxEncoding.SelectedIndex = EncodingTypeConverter.GetEncodingIndex(m_store.SourceEncoding);

            Translating.TranslateControl(this);

            if (m_store.FieldAnalyser is WholeLineAnalyser)
            {
                cbxFieldType.SelectedIndex = 0;
            }
            else if (m_store.FieldAnalyser is SeparatedFieldsAnalyser)
            {
                cbxFieldType.SelectedIndex = 1;
            }
            else if (m_store.FieldAnalyser is RegexFieldAnalyser)
            {
                cbxFieldType.SelectedIndex = 2;
            }
            else if (m_store.FieldAnalyser is ScriptAnalyser)
            {
                cbxFieldType.SelectedIndex = 3;
            }

            FieldFrame.LoadFromAnalyser(m_store.FieldAnalyser);

            // add field frame
            panel1.Controls.Add(FieldFrame);
            FieldFrame.Dock = DockStyle.Fill;

            m_created = true;
        }