MCPcopy Create free account
hub / github.com/CppMicroServices/CppMicroServices / Start

Method Start

framework/src/bundle/BundlePrivate.cpp:418–446  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

416 }
417
418 void
419 BundlePrivate::Start(uint32_t options)
420 {
421 auto l = this->Lock();
422 US_UNUSED(l);
423 auto frameworkBlock = coreCtx->GetFrameworkStateAndBlock();
424 if (frameworkBlock->frameworkHasStopped)
425 {
426 throw std::runtime_error("Bundle " + symbolicName + " (location=" + location
427 + ") belongs to a stopped framework");
428 }
429 if (state == Bundle::STATE_UNINSTALLED)
430 {
431 throw std::logic_error("Bundle " + symbolicName + " (location=" + location + ") is uninstalled");
432 }
433
434 if (state == Bundle::STATE_ACTIVE)
435 {
436 return;
437 }
438
439 if ((options & Bundle::START_TRANSIENT) == 0)
440 {
441 SetAutostartSetting(options);
442 }
443
444 FinalizeActivation();
445 return;
446 }
447
448 AnyMap const&
449 BundlePrivate::GetHeaders() const

Callers 1

Start0Method · 0.45

Calls 2

LockMethod · 0.80

Tested by

no test coverage detected