public override void FromXml(string source) { // Deserializes initial condition from xml string XqlParser parser = new XqlParser(); parser.LoadData(source); List <Hashtable> results = parser.Query("SELECT type, key, value FROM " + ElementType); if (results.Count == 0) { throw new HsfElementException("Unable to parse " + ElementType + " from xml"); } // Load type enum Array posValues = Enum.GetValues(typeof(HsfType)); foreach (HsfType v in posValues) { if (Enum.GetName(typeof(HsfType), v) == results[0]["type"].ToString()) { Type = v; } } // Load values Key = results[0]["key"].ToString(); Value = results[0]["key"].ToString(); }
public IcElement() { ElementType = "IC"; Type = HsfType.Bool; Key = "unnamed_variable"; Value = "0.0"; }
public override void FromXml(string source) { // Deserializes object from xml string XqlParser parser = new XqlParser(); parser.LoadData(source); List <Hashtable> results = parser.Query("SELECT scripted, type, key, callKey FROM " + ElementType); if (results.Count == 0) { throw new HsfElementException("Unable to parse " + ElementType + " from xml"); } // Load type enum Array posValues = Enum.GetValues(typeof(HsfType)); foreach (HsfType v in posValues) { if (Enum.GetName(typeof(HsfType), v) == results[0]["type"].ToString()) { Type = v; } } // Load flag IsScripted = results[0]["scripted"].ToString() == "True" ? true : false; // Load strings Key = results[0]["key"].ToString(); CallKey = results[0]["callKey"].ToString(); }
public void LoadFunction(string functionHeader) { // Parses and loads function from given header // Sample: Double getValueAtTime(String SubsystemKey, Double time) // ASSUMES CORRECT FORMAT string[] parenSplitter = { "(" }; string[] spaceSplitter = { " " }; string[] paramSplitter = { ", " }; string[] header = functionHeader.Split(parenSplitter, StringSplitOptions.RemoveEmptyEntries); // Parse type and name from first two strings string[] title = header[0].Split(spaceSplitter, StringSplitOptions.RemoveEmptyEntries); _functionType = stringToType(title[0]); _functionName = title[1]; // Parse function parameters _parameterNames.Clear(); _parameterTypes.Clear(); string[] parameters = header[1].Replace(")", "").Split(paramSplitter, StringSplitOptions.RemoveEmptyEntries); foreach (string param in parameters) { string[] pair = param.Split(spaceSplitter, StringSplitOptions.RemoveEmptyEntries); _parameterTypes.Add(stringToType(pair[0])); _parameterNames.Add(pair[1]); } // Set contents and resize accordingly Text = RawHeader; Width = Text.Length * 6 + Text.Length / 3; }
public DependencyFunctionElement() { Enabled = false; ElementType = "DEPENDENCY_FCN"; IsScripted = false; Type = HsfType.Bool; Key = "unknown_key"; CallKey = "unknown_call_key"; }
private string typeToString(HsfType type) { // Converts given HsfType to string equivalent return(Enum.GetName(typeof(HsfType), type)); }