using System; using System.Text; namespace Cobilas.IO.Atlf { /// Base class for all ATLF classes. public abstract class ATLFBase : IDisposable { /// The number of ATLF nodes stored. public abstract long NodeCount { get; } /// Determines whether text should be indented. public abstract bool Indent { get; set; } /// Sets or returns the encoding used. public abstract Encoding Encoding { get; set; } /// Represents the version that the ATLF object is using. public abstract string TargetVersion { get; set; } /// Indicate whether the flow has been closed. public abstract bool Closed { get; protected set; } /// /// This property is used to close the workflow automatically. /// This property should be used in cases where you directly access a stream. /// Example: when a flow is called using the .Open(string) method. /// protected abstract bool CloseFlow { get; set;} /// Where ATLF nodes are stored. protected abstract ATLFNode[] Nodes { get; set; } /// Sets or returns the current stream. protected abstract MarshalByRefObject RefObject { get; set; } internal static string def_version = "std:1.0"; /// Allows you to close the current flow. public abstract void Close(); /// Allows you to discard the current stream. public abstract void Dispose(); } }