MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / load_plugins

Method load_plugins

src/jrd/trace/TraceManager.cpp:133–157  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

131}
132
133void TraceManager::load_plugins()
134{
135 // Initialize all trace needs to false
136 trace_needs = 0;
137
138 if (init_factories)
139 return;
140
141 WriteLockGuard guard(init_factories_lock, FB_FUNCTION);
142 if (init_factories)
143 return;
144
145 factories = FB_NEW_POOL(*getDefaultMemoryPool()) TraceManager::Factories(*getDefaultMemoryPool());
146 for (GetPlugins<ITraceFactory> traceItr(IPluginManager::TYPE_TRACE); traceItr.hasData(); traceItr.next())
147 {
148 FactoryInfo info;
149 info.factory = traceItr.plugin();
150 info.factory->addRef();
151 string name(traceItr.name());
152 name.copyTo(info.name, sizeof(info.name));
153 factories->add(info);
154 }
155
156 init_factories = true;
157}
158
159
160void TraceManager::shutdown()

Callers

nothing calls this directly

Calls 9

getDefaultMemoryPoolFunction · 0.85
FactoriesClass · 0.85
pluginMethod · 0.80
hasDataMethod · 0.45
nextMethod · 0.45
addRefMethod · 0.45
nameMethod · 0.45
copyToMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected