Controls
using System;
namespace Org.BouncyCastle.Asn1.Crmf
{
public class Controls : Asn1Encodable
{
private readonly Asn1Sequence m_content;
public static Controls GetInstance(object obj)
{
if (obj == null)
return null;
Controls controls = obj as Controls;
if (controls != null)
return controls;
return new Controls(Asn1Sequence.GetInstance(obj));
}
public static Controls GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
return new Controls(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
public static Controls GetOptional(Asn1Encodable element)
{
if (element == null)
throw new ArgumentNullException("element");
Controls controls = element as Controls;
if (controls != null)
return controls;
Asn1Sequence optional = Asn1Sequence.GetOptional(element);
if (optional != null)
return new Controls(optional);
return null;
}
public static Controls GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
return new Controls(Asn1Sequence.GetTagged(taggedObject, declaredExplicit));
}
private Controls(Asn1Sequence seq)
{
m_content = seq;
}
public Controls(params AttributeTypeAndValue[] atvs)
{
m_content = new DerSequence(atvs);
}
public virtual AttributeTypeAndValue[] ToAttributeTypeAndValueArray()
{
return m_content.MapElements(AttributeTypeAndValue.GetInstance);
}
public override Asn1Object ToAsn1Object()
{
return m_content;
}
}
}