Initial Commit
This commit is contained in:
59
iTechSharp/srcbc/bcpg/UserAttributePacket.cs
Normal file
59
iTechSharp/srcbc/bcpg/UserAttributePacket.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
|
||||
namespace Org.BouncyCastle.Bcpg
|
||||
{
|
||||
/**
|
||||
* Basic type for a user attribute packet.
|
||||
*/
|
||||
public class UserAttributePacket
|
||||
: ContainedPacket
|
||||
{
|
||||
private readonly UserAttributeSubpacket[] subpackets;
|
||||
|
||||
public UserAttributePacket(
|
||||
BcpgInputStream bcpgIn)
|
||||
{
|
||||
UserAttributeSubpacketsParser sIn = new UserAttributeSubpacketsParser(bcpgIn);
|
||||
UserAttributeSubpacket sub;
|
||||
|
||||
ArrayList v = new ArrayList();
|
||||
while ((sub = sIn.ReadPacket()) != null)
|
||||
{
|
||||
v.Add(sub);
|
||||
}
|
||||
|
||||
subpackets = new UserAttributeSubpacket[v.Count];
|
||||
|
||||
for (int i = 0; i != subpackets.Length; i++)
|
||||
{
|
||||
subpackets[i] = (UserAttributeSubpacket)v[i];
|
||||
}
|
||||
}
|
||||
|
||||
public UserAttributePacket(
|
||||
UserAttributeSubpacket[] subpackets)
|
||||
{
|
||||
this.subpackets = subpackets;
|
||||
}
|
||||
|
||||
public UserAttributeSubpacket[] GetSubpackets()
|
||||
{
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public override void Encode(
|
||||
BcpgOutputStream bcpgOut)
|
||||
{
|
||||
MemoryStream bOut = new MemoryStream();
|
||||
|
||||
for (int i = 0; i != subpackets.Length; i++)
|
||||
{
|
||||
subpackets[i].Encode(bOut);
|
||||
}
|
||||
|
||||
bcpgOut.WritePacket(PacketTag.UserAttribute, bOut.ToArray(), false);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user