Asn1Generator
using System;
using System.IO;
namespace Org.BouncyCastle.Asn1
{
public abstract class Asn1Generator : IDisposable
{
private Stream m_outStream;
protected Stream OutStream {
get {
Stream outStream = m_outStream;
if (outStream == null)
throw new InvalidOperationException();
return outStream;
}
}
protected Asn1Generator(Stream outStream)
{
if (outStream == null)
throw new ArgumentNullException("outStream");
m_outStream = outStream;
}
protected abstract void Finish();
public abstract void AddObject(Asn1Encodable obj);
public abstract void AddObject(Asn1Object obj);
public abstract Stream GetRawOutputStream();
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposing && m_outStream != null) {
Finish();
m_outStream = null;
}
}
}
}