blob: 0902d57fddc713dba4d6b195e75f5593cb7f74d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
class ValueFactoryManagerI: ValueFactoryManager {
private var factories = [String: ValueFactory]()
private var mutex = Mutex()
func add(factory: @escaping ValueFactory, id: String) throws {
try mutex.sync {
if factories[id] != nil {
throw AlreadyRegisteredException(kindOfObject: "value factory", id: id, file: #file, line: #line)
}
factories[id] = factory
}
}
func find(_ id: String) -> ValueFactory? {
return mutex.sync {
factories[id]
}
}
}
|