| 1273 | } |
| 1274 | |
| 1275 | Status GetModuleInfo(ServerContext*, const GetModuleInfoRequest* request, |
| 1276 | GetModuleInfoResponse* response) override { |
| 1277 | std::lock_guard<std::recursive_mutex> lock(mutex_); |
| 1278 | |
| 1279 | const char* m_name; |
| 1280 | Module* m; |
| 1281 | |
| 1282 | if (!request->name().length()) |
| 1283 | return return_with_error(response, EINVAL, |
| 1284 | "Argument must be a name in str"); |
| 1285 | m_name = request->name().c_str(); |
| 1286 | |
| 1287 | const auto& it = ModuleGraph::GetAllModules().find(request->name()); |
| 1288 | if (it == ModuleGraph::GetAllModules().end()) { |
| 1289 | return return_with_error(response, ENOENT, "No module '%s' found", |
| 1290 | m_name); |
| 1291 | } |
| 1292 | m = it->second; |
| 1293 | |
| 1294 | response->set_name(m->name()); |
| 1295 | response->set_mclass(m->module_builder()->class_name()); |
| 1296 | response->set_desc(m->GetDesc()); |
| 1297 | |
| 1298 | collect_igates(m, response); |
| 1299 | collect_ogates(m, response); |
| 1300 | collect_metadata(m, response); |
| 1301 | |
| 1302 | return Status::OK; |
| 1303 | } |
| 1304 | |
| 1305 | Status ConnectModules(ServerContext*, const ConnectModulesRequest* request, |
| 1306 | EmptyResponse* response) override { |
nothing calls this directly
no test coverage detected