• OctoMY API
  • OctoMY API Reference
  • C++ Classes
  • OctoMY
  • ToolchainBootstrapService
  • toolchain::ToolchainBootstrapService Class

    class toolchain::ToolchainBootstrapService

    Lazy + async orchestration of every toolchain's component builds. More...

    Header: #include <ToolchainBootstrapService>
    Since: Phase 20a
    Inherits: QObject

    Detailed Description

    Singleton accessed via `instance()`. Configure once with a root directory for the on-disk cache + manifest (default: `<userDataDir>/octomy-toolchain/`). `start()` triggers background bootstrap of every component referenced by every registered toolchain; `waitFor(tc, hook)` is the blocking accessor consumers call when they need a `SysrootHandle`.

    Threading: `waitFor()` blocks the caller's thread (must not be the GUI thread) until all of the toolchain's components reach `Ready`. The hook is invoked on the caller's thread between waits, relaying progress events from the worker.

    Crash recovery: on `configure()`, every `Building` entry whose `buildPid` is no longer alive transitions to `Stale` and gets rebuilt on next request.

    Multi-process safety: file-locking through Manifest + per-component cache-dir lock files (held during recipe execution).

    See also ToolchainRegistry, Component, Toolchain, and SysrootHandle.