示例#1
0
        internal PemInfo(PemDecoder decoder)
        {
            if (decoder == null)
            {
                throw new ArgumentNullException("reader");
            }

            TextData          = decoder.TextData;
            Workload          = decoder.Workload;
            PgpChecksum       = decoder.PgpChecksum;
            Kind              = decoder.Kind;
            FullHeader        = decoder.FullHeader;
            FullFooter        = decoder.FullFooter;
            AdditionalHeaders = decoder.AdditionalHeaders;
            AdditionalText    = decoder.AdditionalText;
            Warnings          = decoder.Warnings ?? new string[0];
        }
            public IData ProcessFile()
            {
                if (fileContent == null) throw new InvalidOperationException("Invalid input data: null");

                var decoder = new PemDecoder();
                var result = decoder.ReadData(fileContent);
                if (result == null)
                {
                    foreach (var error in decoder.Errors)
                        plugin.Log.Error(error);
                    return null;
                }

                foreach (var warning in result.Warnings)
                    plugin.Log.Warning(warning);

                return new PemData(result);
            }