430
430
CompPlugin::push (CompPlugin *p)
432
const char *name = p->vTable->name ().c_str ();
432
const CompString &name = p->vTable->name ();
434
433
std::pair<CompPlugin::Map::iterator, bool> insertRet =
435
pluginsMap.insert (std::pair<const char *, CompPlugin *> (name, p));
434
pluginsMap.insert (std::make_pair (name, p));
437
436
if (!insertRet.second)
439
438
compLogMessage (here, CompLogLevelWarn,
440
439
"Plugin '%s' already active",
441
p->vTable->name ().c_str ());
446
445
plugins.push_front (p);
448
compLogMessage (here, CompLogLevelInfo, "Starting plugin: %s", name);
447
compLogMessage (here, CompLogLevelInfo, "Starting plugin: %s", name.c_str ());
449
448
if (CompManager::initPlugin (p))
451
compLogMessage (here, CompLogLevelDebug, "Started plugin: %s", name);
450
compLogMessage (here, CompLogLevelDebug, "Started plugin: %s", name.c_str ());
455
454
compLogMessage (here, CompLogLevelError,
456
"Failed to start plugin: %s", name);
455
"Failed to start plugin: %s", name.c_str ());
458
457
pluginsMap.erase (name);
459
458
plugins.pop_front ();
478
const char *name = p->vTable->name ().c_str ();
477
const CompString &name = p->vTable->name ();
479
478
pluginsMap.erase (name);
481
compLogMessage (here, CompLogLevelInfo, "Stopping plugin: %s", name);
480
compLogMessage (here, CompLogLevelInfo, "Stopping plugin: %s", name.c_str ());
482
481
CompManager::finiPlugin (p);
483
compLogMessage (here, CompLogLevelDebug, "Stopped plugin: %s", name);
482
compLogMessage (here, CompLogLevelDebug, "Stopped plugin: %s", name.c_str ());
485
484
plugins.pop_front ();