| 452 | } |
| 453 | |
| 454 | void Configuration::SwitchLayerVersion(const LayerManager& layers, const std::string& layer_key, const Path& manifest_path) { |
| 455 | if (manifest_path.Empty()) { |
| 456 | this->SwitchLayerLatest(layers, layer_key); |
| 457 | return; |
| 458 | } |
| 459 | |
| 460 | Parameter* parameter = this->Find(layer_key); |
| 461 | assert(parameter != nullptr); |
| 462 | |
| 463 | const Layer* new_layer = layers.FindFromManifest(manifest_path); |
| 464 | parameter->api_version = new_layer->api_version; |
| 465 | parameter->type = new_layer->type; |
| 466 | parameter->manifest = new_layer->manifest_path; |
| 467 | ::CollectDefaultSettingData(new_layer->settings, parameter->settings); |
| 468 | } |
| 469 | |
| 470 | void Configuration::SwitchLayerLatest(const LayerManager& layers, const std::string& layer_key) { |
| 471 | Parameter* parameter = this->Find(layer_key); |