using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Holo.Source { public class FuseBuilder { private StringBuilder Builder; internal FuseBuilder(string text) { Builder = new StringBuilder(text); } internal FuseBuilder(int header) { Builder = new StringBuilder(Encoding.encodeB64(header)); } internal void Initalize(int header) { Builder = new StringBuilder(Encoding.encodeB64(header)); } internal void Initalize(string header) { Builder = new StringBuilder(header); } internal FuseBuilder() { Builder = new StringBuilder(); } internal void AppendBoolean(bool b) { if (b) Builder.Append(Encoding.encodeVL64(1)); else Builder.Append(Encoding.encodeVL64(0)); } internal void AppendWired(object o) { try { Builder.Append(Encoding.encodeVL64(int.Parse(Convert.ToString(o)))); } catch (Exception x) { Out.WriteError(x.ToString()); } } internal void AppendBase64(object o) { try { Builder.Append(Encoding.encodeB64(int.Parse(Convert.ToString(o)))); } catch (Exception x) { Out.WriteError(x.ToString()); } } internal void Append(object o) { Builder.Append(o); } internal void AppendString(object o) { Builder.Append(o.ToString() + Convert.ToChar(2)); } internal void AppendString(object o, int breaker) { Builder.Append(o.ToString() + Convert.ToChar(breaker)); } internal void AppendString(object o, char breaker) { Builder.Append(o.ToString() + breaker); } internal void AppendChar(int c) { Builder.Append(Convert.ToChar(c)); } public override string ToString() { return Builder.ToString(); } public int Length { get { return Builder.Length; } } internal void Clear() { Builder.Clear(); } } }