MCPcopy Create free account
hub / github.com/cutechess/cutechess / applyConfiguration

Method applyConfiguration

projects/lib/src/chessengine.cpp:96–136  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

94}
95
96void ChessEngine::applyConfiguration(const EngineConfiguration& configuration)
97{
98 if (!configuration.name().isEmpty())
99 setName(configuration.name());
100
101 const auto initStrings = configuration.initStrings();
102 for (const QString& str : initStrings)
103 write(str);
104
105 const auto options = configuration.options();
106 for (const auto option : options)
107 {
108 if (option->isEditable())
109 setOption(option->name(), option->value());
110 }
111
112 m_whiteEvalPov = configuration.whiteEvalPov();
113 m_pondering = configuration.pondering();
114 m_timeoutScale = configuration.timeoutScale();
115 m_restartMode = configuration.restartMode();
116 m_debugEnabled = configuration.debugEnabled();
117
118 setClaimsValidated(configuration.areClaimsValidated());
119
120 // Read protocol timeouts from QSettings.
121 // Scale timer intervals according to m_timeoutScale
122 QSettings settings;
123 settings.beginGroup("Timing");
124
125 int pingTimeout = m_timeoutScale * settings.value("PingTimeout", defaultPingTimeout).toInt();
126 int quitTimeout = m_timeoutScale * settings.value("QuitTimeout", defaultQuitTimeout).toInt();
127 int idleTimeout = m_timeoutScale * settings.value("IdleTimeout", defaultIdleTimeout).toInt();
128 double protocolStartTimeout = m_timeoutScale * settings.value("ProtocolStartTimeout",
129 defaultProtocolStartTimeout).toInt();
130 settings.endGroup();
131
132 m_pingTimer->setInterval(pingTimeout);
133 m_quitTimer->setInterval(quitTimeout);
134 m_idleTimer->setInterval(idleTimeout);
135 m_protocolStartTimer->setInterval(protocolStartTimeout);
136}
137
138void ChessEngine::addOption(EngineOption* option)
139{

Callers 1

createMethod · 0.45

Calls 12

initStringsMethod · 0.80
valueMethod · 0.80
timeoutScaleMethod · 0.80
isEmptyMethod · 0.45
nameMethod · 0.45
optionsMethod · 0.45
isEditableMethod · 0.45
whiteEvalPovMethod · 0.45
ponderingMethod · 0.45
restartModeMethod · 0.45
debugEnabledMethod · 0.45
areClaimsValidatedMethod · 0.45

Tested by

no test coverage detected