Asn1EncodableVector.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using System.Collections;
  5. using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
  6. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1
  7. {
  8. public class Asn1EncodableVector
  9. : IEnumerable
  10. {
  11. private IList v = BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.CreateArrayList();
  12. public static Asn1EncodableVector FromEnumerable(
  13. IEnumerable e)
  14. {
  15. Asn1EncodableVector v = new Asn1EncodableVector();
  16. foreach (Asn1Encodable obj in e)
  17. {
  18. v.Add(obj);
  19. }
  20. return v;
  21. }
  22. // public Asn1EncodableVector()
  23. // {
  24. // }
  25. public Asn1EncodableVector(
  26. params Asn1Encodable[] v)
  27. {
  28. Add(v);
  29. }
  30. // public void Add(
  31. // Asn1Encodable obj)
  32. // {
  33. // v.Add(obj);
  34. // }
  35. public void Add(
  36. params Asn1Encodable[] objs)
  37. {
  38. foreach (Asn1Encodable obj in objs)
  39. {
  40. v.Add(obj);
  41. }
  42. }
  43. public void AddOptional(
  44. params Asn1Encodable[] objs)
  45. {
  46. if (objs != null)
  47. {
  48. foreach (Asn1Encodable obj in objs)
  49. {
  50. if (obj != null)
  51. {
  52. v.Add(obj);
  53. }
  54. }
  55. }
  56. }
  57. public Asn1Encodable this[
  58. int index]
  59. {
  60. get { return (Asn1Encodable) v[index]; }
  61. }
  62. [Obsolete("Use 'object[index]' syntax instead")]
  63. public Asn1Encodable Get(
  64. int index)
  65. {
  66. return this[index];
  67. }
  68. [Obsolete("Use 'Count' property instead")]
  69. public int Size
  70. {
  71. get { return v.Count; }
  72. }
  73. public int Count
  74. {
  75. get { return v.Count; }
  76. }
  77. public IEnumerator GetEnumerator()
  78. {
  79. return v.GetEnumerator();
  80. }
  81. }
  82. }
  83. #pragma warning restore
  84. #endif