using System; using Org.BouncyCastle.Asn1.X500; namespace Org.BouncyCastle.Asn1.IsisMtt.X509 { /** * Some other restriction regarding the usage of this certificate. *

*

	*  RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
	* 
*/ public class Restriction : Asn1Encodable { private readonly DirectoryString restriction; public static Restriction GetInstance( object obj) { if (obj is Restriction) return (Restriction) obj; if (obj is IAsn1String) return new Restriction(DirectoryString.GetInstance(obj)); throw new ArgumentException("Unknown object in GetInstance: " + obj.GetType().Name, "obj"); } /** * Constructor from DirectoryString. *

* The DirectoryString is of type RestrictionSyntax: *

*

		*      RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
		* 
* * @param restriction A IAsn1String. */ private Restriction( DirectoryString restriction) { this.restriction = restriction; } /** * Constructor from a given details. * * @param restriction The description of the restriction. */ public Restriction( string restriction) { this.restriction = new DirectoryString(restriction); } public virtual DirectoryString RestrictionString { get { return restriction; } } /** * Produce an object suitable for an Asn1OutputStream. *

* Returns: *

*

		*      RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
		* 

*

* * @return an Asn1Object */ public override Asn1Object ToAsn1Object() { return restriction.ToAsn1Object(); } } }