DEKI/ENGINE docs
Deki 0.19.0
Modular C++ 2D engine for embedded displays and desktop
Loading...
Searching...
No Matches
DekiEditor::ToolchainComponentManager Class Reference

Manages a builder's toolchain components as its BuilderDefinition describes them: detects them, downloads and installs them, and checks for updates. More...

#include <C:/Users/kirby/Documents/Github/deki/deki-editor/deki-editor/include/deki-editor/build/ToolchainComponentManager.h>

Public Member Functions

 ToolchainComponentManager ()
 ~ToolchainComponentManager ()
void Initialize (const BuilderDefinition &def)
bool IsInitialized () const
 True once initialised with a valid definition.
const BuilderDefinition & GetDefinition () const
std::vector< ToolchainComponent > GetComponents () const
 Runs the detection rules and lists the components for the UI.
void InstallComponent (const std::string &componentId, BuildProgressCallback cb=nullptr)
 Downloads and extracts a component, asynchronously.
void SetupComponent (const std::string &componentId, BuildProgressCallback cb=nullptr)
 Runs the postInstall script of an installed component, asynchronously.
void CheckForUpdates (std::function< void()> onComplete=nullptr)
 Checks the GitHub API for newer versions, asynchronously.
bool IsBusy () const
 Whether an operation is in progress.
std::vector< std::string > InstalledPathEntries () const
 The PATH entries (ComponentDef::pathEntries) of every installed component, absolute and in definition order, for this platform.

Detailed Description

Manages a builder's toolchain components as its BuilderDefinition describes them: detects them, downloads and installs them, and checks for updates.

Each ITargetBuilder owns one, initialised from its builder JSON.

Constructor & Destructor Documentation

◆ ToolchainComponentManager()

DekiEditor::ToolchainComponentManager::ToolchainComponentManager ( )

◆ ~ToolchainComponentManager()

DekiEditor::ToolchainComponentManager::~ToolchainComponentManager ( )

Member Function Documentation

◆ Initialize()

void DekiEditor::ToolchainComponentManager::Initialize ( const BuilderDefinition & def)

◆ IsInitialized()

bool DekiEditor::ToolchainComponentManager::IsInitialized ( ) const
inline

True once initialised with a valid definition.

◆ GetDefinition()

const BuilderDefinition & DekiEditor::ToolchainComponentManager::GetDefinition ( ) const
inline

◆ GetComponents()

std::vector< ToolchainComponent > DekiEditor::ToolchainComponentManager::GetComponents ( ) const

Runs the detection rules and lists the components for the UI.

◆ InstallComponent()

void DekiEditor::ToolchainComponentManager::InstallComponent ( const std::string & componentId,
BuildProgressCallback cb = nullptr )

Downloads and extracts a component, asynchronously.

◆ SetupComponent()

void DekiEditor::ToolchainComponentManager::SetupComponent ( const std::string & componentId,
BuildProgressCallback cb = nullptr )

Runs the postInstall script of an installed component, asynchronously.

◆ CheckForUpdates()

void DekiEditor::ToolchainComponentManager::CheckForUpdates ( std::function< void()> onComplete = nullptr)

Checks the GitHub API for newer versions, asynchronously.

◆ IsBusy()

bool DekiEditor::ToolchainComponentManager::IsBusy ( ) const
inline

Whether an operation is in progress.

◆ InstalledPathEntries()

std::vector< std::string > DekiEditor::ToolchainComponentManager::InstalledPathEntries ( ) const

The PATH entries (ComponentDef::pathEntries) of every installed component, absolute and in definition order, for this platform.


The documentation for this class was generated from the following file: