| 104 | ExtensionTypeRegistryImpl() {} |
| 105 | |
| 106 | Status RegisterType(std::shared_ptr<ExtensionType> type) override { |
| 107 | std::lock_guard<std::mutex> lock(lock_); |
| 108 | std::string type_name = type->extension_name(); |
| 109 | auto it = name_to_type_.find(type_name); |
| 110 | if (it != name_to_type_.end()) { |
| 111 | return Status::KeyError("A type extension with name ", type_name, |
| 112 | " already defined"); |
| 113 | } |
| 114 | name_to_type_[type_name] = std::move(type); |
| 115 | return Status::OK(); |
| 116 | } |
| 117 | |
| 118 | Status UnregisterType(const std::string& type_name) override { |
| 119 | std::lock_guard<std::mutex> lock(lock_); |
no test coverage detected