MCPcopy Create free account
hub / github.com/chainreactors/EvilProxy / RegisterPluginProvider

Function RegisterPluginProvider

internal/thinking/apply.go:62–83  ·  view source on GitHub ↗

RegisterPluginProvider registers a plugin-owned provider applier.

(owner string, name string, priority int, applier ProviderApplier)

Source from the content-addressed store, hash-verified

60
61// RegisterPluginProvider registers a plugin-owned provider applier.
62func RegisterPluginProvider(owner string, name string, priority int, applier ProviderApplier) bool {
63 owner = strings.TrimSpace(owner)
64 name = normalizedProviderName(name)
65 if owner == "" || name == "" || applier == nil {
66 return false
67 }
68 providerAppliersMu.Lock()
69 defer providerAppliersMu.Unlock()
70 if _, native := nativeProviderAppliers[name]; native {
71 return false
72 }
73 current, exists := pluginProviderAppliers[name]
74 if exists && (current.priority > priority || (current.priority == priority && current.owner <= owner)) {
75 return false
76 }
77 pluginProviderAppliers[name] = pluginProviderApplier{
78 owner: owner,
79 priority: priority,
80 applier: applier,
81 }
82 return true
83}
84
85// UnregisterPluginProviders removes all provider appliers owned by one plugin.
86func UnregisterPluginProviders(owner string) {

Callers 1

Calls 1

normalizedProviderNameFunction · 0.85

Tested by

no test coverage detected