Skip to main content

Mountain/IPC/WindServiceHandlers/
Extensions.rs

1#![allow(non_snake_case)]
2
3//! # Extension management handlers
4//!
5//! Wind queries the scanner's registry through these. Each
6//! delegates to `MountainEnvironment::GetExtensions` /
7//! `GetExtension`; the work has already happened in
8//! `ExtensionPopulate` / `Scanner::ScanDirectoryForExtensions`.
9//!
10//! Layout (one export per file, file name = identity):
11//! - `ExtensionsGetInstalled::ExtensionsGetInstalled` -
12//!   `ILocalExtension`-shaped list with optional `0`/`1` type filter; carries
13//!   the boot-race poll (≤5 s wait for `ExtensionPopulate`) and the manifest
14//!   skeleton fix that keeps the trusted-publishers migration from crashing the
15//!   webview on `manifest.publisher.toLowerCase()`.
16//! - `ExtensionsGetAll::ExtensionsGetAll` - raw manifests, no reshape. Tooling
17//!   / debug surfaces only.
18//! - `ExtensionsGet::ExtensionsGet` - single extension by `<publisher>.<name>`.
19//! - `ExtensionsIsActive::ExtensionsIsActive` - currently a "scanned & present"
20//!   predicate; TODO: consult Cocoon's activation table for a real answer.
21
22pub mod ExtensionsGet;
23pub mod ExtensionsGetAll;
24pub mod ExtensionsGetInstalled;
25pub mod ExtensionsIsActive;