UserAttributePacket.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System.Collections.Generic;
  4. using System.IO;
  5. namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Bcpg
  6. {
  7. /**
  8. * Basic type for a user attribute packet.
  9. */
  10. public class UserAttributePacket
  11. : ContainedPacket
  12. {
  13. private readonly UserAttributeSubpacket[] subpackets;
  14. public UserAttributePacket(
  15. BcpgInputStream bcpgIn)
  16. {
  17. UserAttributeSubpacketsParser sIn = new UserAttributeSubpacketsParser(bcpgIn);
  18. UserAttributeSubpacket sub;
  19. var v = new List<UserAttributeSubpacket>();
  20. while ((sub = sIn.ReadPacket()) != null)
  21. {
  22. v.Add(sub);
  23. }
  24. subpackets = v.ToArray();
  25. }
  26. public UserAttributePacket(
  27. UserAttributeSubpacket[] subpackets)
  28. {
  29. this.subpackets = subpackets;
  30. }
  31. public UserAttributeSubpacket[] GetSubpackets()
  32. {
  33. return subpackets;
  34. }
  35. public override void Encode(
  36. BcpgOutputStream bcpgOut)
  37. {
  38. MemoryStream bOut = new MemoryStream();
  39. for (int i = 0; i != subpackets.Length; i++)
  40. {
  41. subpackets[i].Encode(bOut);
  42. }
  43. bcpgOut.WritePacket(PacketTag.UserAttribute, bOut.ToArray(), false);
  44. }
  45. }
  46. }
  47. #pragma warning restore
  48. #endif