private void setFeature(string name, string val) { if (name == "ping") { ftPing = (val == "1"); if (ftPing) { SupportedFeatures.Add("ping"); } } else if (name == "setboard") { ftSetboard = (val == "1"); if (ftSetboard) { SupportedFeatures.Add("setboard"); } } /* else if( name == "san" ) * { * if( val == "1" ) * m_notation = MoveNotation.StandardAlgebraic; * else * m_notation = MoveNotation.LongAlgebraic; * }*/ else if (name == "usermove") { ftUsermove = (val == "1"); if (ftUsermove) { SupportedFeatures.Add("usermove"); } } else if (name == "nps") { ftNps = (val == "1"); if (ftNps) { SupportedFeatures.Add("nps"); } } else if (name == "time") { ftTime = (val == "1"); if (ftTime) { SupportedFeatures.Add("time"); } } else if (name == "reuse") { ftReuse = (val == "1"); if (ftReuse) { SupportedFeatures.Add("reuse"); } } else if (name == "myname") { if (Name == "XboardEngine") { Name = val; } } else if (name == "variants") { clearVariants(); string[] variants = val.Split(','); foreach (string str in variants) { string variant = str.Trim(); if (variant != "") { addVariant(variant); } } } else if (name == "name") { ftName = (val == "1"); if (ftName) { SupportedFeatures.Add("name"); } } else if (name == "memory") { if (val == "1") { addOption(new EngineSpinOption("memory", 32, 32, 0, 32768)); SupportedFeatures.Add("memory"); } } else if (name == "smp") { if (val == "1") { addOption(new EngineSpinOption("cores", 1, 1, 0, Environment.ProcessorCount)); SupportedFeatures.Add("smp"); } } else if (name == "egt") { string[] splitVal = val.Split(','); foreach (string str in splitVal) { string egtType = string.Format("egtpath {0}", str.Trim()); addOption(new EngineTextOption(egtType, null, null)); } } else if (name == "option") { EngineOption option = parseOption(val); if (option == null || !option.IsValid()) { ; //qDebug() << "Invalid Xboard option from" << this->name() << ":" << val; } else { addOption(option); } } else if (name == "done") { Write("accepted done", WriteMode.Unbuffered); initTimer.Stop(); if (val == "1") { initialize(this, null); } return; } else { Write("rejected " + name, WriteMode.Unbuffered); return; } Write("accepted " + name, WriteMode.Unbuffered); }