diff options
Diffstat (limited to 'crypto/src/asn1/LazyDERSequence.cs')
-rw-r--r-- | crypto/src/asn1/LazyDERSequence.cs | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/crypto/src/asn1/LazyDERSequence.cs b/crypto/src/asn1/LazyDERSequence.cs deleted file mode 100644 index e1ee29c81..000000000 --- a/crypto/src/asn1/LazyDERSequence.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System; -using System.Collections; - -namespace Org.BouncyCastle.Asn1 -{ - internal class LazyDerSequence - : DerSequence - { - private byte[] encoded; - - internal LazyDerSequence(byte[] encoded) - : base() - { - if (null == encoded) - throw new ArgumentNullException("encoded"); - - this.encoded = encoded; - } - - private void Parse() - { - lock (this) - { - if (null != encoded) - { - Asn1InputStream e = new LazyAsn1InputStream(encoded); - Asn1EncodableVector v = e.ReadVector(); - - this.elements = v.TakeElements(); - this.encoded = null; - } - } - } - - public override Asn1Encodable this[int index] - { - get - { - Parse(); - - return base[index]; - } - } - - public override IEnumerator GetEnumerator() - { - // TODO[asn1] Support lazy enumeration - // lock (this) if (null != encoded) return new LazyConstructionEnumeration(encoded); - - Parse(); - - return base.GetEnumerator(); - } - - public override int Count - { - get - { - Parse(); - - return base.Count; - } - } - - public override Asn1Encodable[] ToArray() - { - Parse(); - - return base.ToArray(); - } - - public override string ToString() - { - Parse(); - - return base.ToString(); - } - - internal override int EncodedLength(bool withID) - { - lock (this) - { - if (encoded == null) - { - return base.EncodedLength(withID); - } - else - { - return Asn1OutputStream.GetLengthOfEncodingDL(withID, encoded.Length); - } - } - } - - internal override void Encode(Asn1OutputStream asn1Out, bool withID) - { - lock (this) - { - if (encoded == null) - { - base.Encode(asn1Out, withID); - } - else - { - asn1Out.WriteEncodingDL(withID, Asn1Tags.Constructed | Asn1Tags.Sequence, encoded); - } - } - } - } -} |