MCPcopy Index your code
hub / github.com/MapServer/MapServer / msPluginLayerInitializeVirtualTable

Function msPluginLayerInitializeVirtualTable

mappluginlayer.c:177–201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

175}
176
177int
178msPluginLayerInitializeVirtualTable(layerObj *layer)
179{
180 VTFactoryItemObj *pVTFI;
181
182 msAcquireLock(TLOCK_LAYER_VTABLE);
183
184 pVTFI = lookupVTFItem(&gVirtualTableFactory, layer->plugin_library);
185 if ( ! pVTFI) {
186 pVTFI = loadCustomLayerDLL(layer, layer->plugin_library);
187 if ( ! pVTFI) {
188 msReleaseLock(TLOCK_LAYER_VTABLE);
189 return MS_FAILURE;
190 }
191 if (insertNewVTFItem(&gVirtualTableFactory, pVTFI) != MS_SUCCESS) {
192 destroyVTFItem(&pVTFI);
193 msReleaseLock(TLOCK_LAYER_VTABLE);
194 return MS_FAILURE;
195 }
196 }
197 msReleaseLock(TLOCK_LAYER_VTABLE);
198
199 copyVirtualTable(layer->vtable, &pVTFI->vtable);
200 return MS_SUCCESS;
201}
202
203/* msPluginFreeVirtualTableFactory()
204** Called by msCleanup() to free the virtual table factory

Callers 1

msInitializeVirtualTableFunction · 0.85

Calls 7

msAcquireLockFunction · 0.85
lookupVTFItemFunction · 0.85
loadCustomLayerDLLFunction · 0.85
msReleaseLockFunction · 0.85
insertNewVTFItemFunction · 0.85
destroyVTFItemFunction · 0.85
copyVirtualTableFunction · 0.85

Tested by

no test coverage detected