mirror of
https://github.com/Quad4-Software/Reticulum-Go
synced 2026-08-29 23:48:44 -04:00
27 lines
614 B
Go
27 lines
614 B
Go
// SPDX-License-Identifier: Apache-2.0
|
|
// Copyright (c) 2024-2026 Quad4.io
|
|
|
|
package interfaces
|
|
|
|
import "sync"
|
|
|
|
var (
|
|
builtinFromConfigMu sync.RWMutex
|
|
builtinFromConfig = map[string]ExternalFactory{}
|
|
)
|
|
|
|
func registerBuiltinFromConfig(typeName string, factory ExternalFactory) {
|
|
if typeName == "" || factory == nil {
|
|
return
|
|
}
|
|
builtinFromConfigMu.Lock()
|
|
builtinFromConfig[typeName] = factory
|
|
builtinFromConfigMu.Unlock()
|
|
}
|
|
|
|
func lookupBuiltinFromConfig(typeName string) ExternalFactory {
|
|
builtinFromConfigMu.RLock()
|
|
factory := builtinFromConfig[typeName]
|
|
builtinFromConfigMu.RUnlock()
|
|
return factory
|
|
}
|