Skip to content

API Reference

James Daley edited this page Jun 20, 2026 · 3 revisions

API Reference

All public framework types live in the Forsetti namespace. Public headers are under include/ForsettiCore, include/ForsettiPlatform, and include/ForsettiHostTemplate.

Core Interfaces

Interface Header Purpose
IForsettiModule ForsettiProtocols.h Base module interface: descriptor, manifest, start, stop.
IForsettiUIModule ForsettiProtocols.h Module interface for UI contributions.
IForsettiAppModule ForsettiProtocols.h Marker interface for application-level modules.
IForsettiModuleContext ForsettiContext.h Module-facing scoped API for services, logging, event publishing, message sending, and subscriptions.
IEntitlementProvider ForsettiProtocols.h Unlock, refresh, restore, and entitlement change callbacks.
ICapabilityPolicy CapabilityPolicy.h Evaluates requested capabilities for a module.
IActivationStore ActivationStore.h Loads and saves persisted activation state.
IModuleRegistrationStore ModuleRegistration.h Loads, saves, lists, and removes module registration records.
IManifestDigestProvider ModuleRegistration.h Produces canonical manifest JSON and manifest digests.
IRegistrationClock ModuleRegistration.h Supplies registration timestamps.
IForsettiEventBus ForsettiEventBus.h Publishes and subscribes to events.
IServiceProvider ForsettiServiceContainer.h Resolves services by C++ type.
IForsettiLogger ForsettiLogger.h Logs messages with optional source module ID and metadata.
IOverlayRouter ForsettiContext.h Opens overlay pointers and routes.
IModuleCommunicationGuard ForsettiContext.h Validates module-to-module messages.

Runtime Components

Component Header Notes
ForsettiRuntime ForsettiRuntime.h Host-facing boot, shutdown, activation, deactivation, and entitlement reconciliation.
ModuleManager ModuleManager.h Discovery, registration confirmation, activation, validation, UI surface coordination, persistence, and restore diagnostics.
ManifestLoader ManifestLoader.h Recursive JSON manifest loader and validator.
ModuleRequirementValidator ModuleRequirementValidator.h Validates I/O, UI, default-role, and data-isolation requirements.
ModuleRegistrationService ModuleRegistration.h Registers and confirms canonical manifests.
ModuleRegistry ModuleRegistry.h Maps entry point keys to factory functions.
ForsettiStaticModuleRegistry StaticModuleRegistry.h Static registry helper.
CompatibilityChecker CompatibilityChecker.h Produces compatibility reports from manifest rules and capability policy.
InMemoryEventBus ForsettiEventBus.h In-process pub/sub bus.
ServiceContainer ForsettiServiceContainer.h Type-erased service registration and resolution.
CapabilityScopedServiceProvider ForsettiServiceContainer.h Filters governed services by module capabilities.
ForsettiContext ForsettiContext.h Module-facing API for services, logging, routing, and events.
UISurfaceManager UISurfaceManager.h Tracks and rebuilds active UI contribution state.
ConsoleLogger ForsettiLogger.h Console logger implementation.

Important Value Types

Type Header Key Fields
SemVer SemVer.h major, minor, patch, prerelease.
ModuleDescriptor ModuleModels.h moduleID, displayName, version, type.
ModuleManifest ModuleModels.h schema, template version, ID, type, platform, version bounds, capabilities, entitlement product, entry point, default role, runtime requirements.
ModuleIORequirement ModuleRequirements.h requirementID, kind, access, required, description.
ModuleUIRequirements ModuleRequirements.h control, layout, theme, view, slot, toolbar, route, and pointer IDs.
ModuleDataIsolation ModuleRequirements.h isolation mode, owned store IDs, required default roles.
ModuleRegistrationRecord ModuleRegistration.h identity, version, type, entry point, canonical hash, capabilities, requirements, timestamps, confirmation flag.
ForsettiEvent ForsettiEventBus.h type, payload, sourceModuleID, timestamp.
ActivationState ActivationStore.h enabled service IDs, enabled UI IDs, selected UI ID.
ActivationRestoreResult ModuleManager.h restored IDs and failure diagnostics.
CompatibilityReport CompatibilityChecker.h module ID, issues, isCompatible().
UIContributions UIModels.h theme mask, toolbar items, view injections, overlay schema.

Enums

Enum Values
Platform Windows
ModuleType Service, UI, App
Capability Networking, Storage, SecureStorage, FileExport, CryptoUtilities, Telemetry, RoutingOverlay, ToolbarItems, ViewInjection, UIThemeMask, EventPublishing, SharedDatabase, Authentication, Diagnostics, API, Security
ManifestTemplateVersion V1_0, V1_1
DefaultModuleRole UI, SharedDatabase, Authentication, Diagnostics, API, Security
ModuleIOKind Networking, Storage, SecureStorage, FileExport, CryptoUtilities, Telemetry, SharedDatabase, Authentication, Diagnostics, API, Security
ModuleIOAccess Read, Write, ReadWrite, Execute, Emit, Consume
ModuleDataIsolationMode PrivateToModule, FrameworkMediatedShared
CapabilityPolicyDecision Allowed, Denied
CompatibilitySeverity Info, Warning, Error
CompatibilityIssueCode UnsupportedSchemaVersion, UnsupportedPlatform, IncompatibleForsettiVersion, DeniedCapability
ModuleManagerError Module lookup, compatibility, entitlement, active-state, identity, type, version, manifest, registration, requirement, and capability errors
ForsettiContextError Invalid module ID, self-message, reserved namespace, unscoped module context
OverlayPresentation Sheet, FullScreen, Popover
WindowsViewFactoryRegistryError UndeclaredViewID, DuplicateFactory, FactoryNotFound

Platform Interfaces And Implementations

Interface Implementation Header
INetworkingService WinHttpNetworkingService PlatformServices.h
IStorageService RegistryStorageService PlatformServices.h
ISecureStorageService DpapiSecureStorageService PlatformServices.h
IFileExportService LocalFileExportService PlatformServices.h
ITelemetryService NoopTelemetryService PlatformServices.h
IModuleRegistrationStore RegistryModuleRegistrationStore ModuleRegistrationPlatform.h
IManifestDigestProvider CngSha256ManifestDigestProvider ModuleRegistrationPlatform.h
IWindowsViewFactoryRegistry ForsettiViewFactoryRegistry WindowsViewFactoryRegistry.h
IWindowsDispatcher ImmediateWindowsDispatcher WindowsViewFactoryRegistry.h

Host Template Contracts

Contract Header Purpose
IForsettiHostBootstrap ForsettiHostBootstrap.h Creates a host controller from concrete runtime dependencies.
ForsettiHostBootstrapConfiguration ForsettiHostBootstrap.h Collects manifest directory, registry, stores, providers, services, event bus, logger, routers, registration, and requirement validation.
IForsettiHostController ForsettiHostController.h Boots, shuts down, activates/deactivates modules, and exposes snapshots.
ForsettiHostStateSnapshot ForsettiHostState.h Captures host state, active modules, selected UI/app module, and last failure.
ForsettiHostOverlayRouter ForsettiHostOverlayRouter.h Host-owned overlay routing adapter.
ForsettiSurfaceStateAdapter ForsettiSurfaceStateAdapter.h Converts framework surface state into host-facing state.

Interface Relationships

classDiagram
    class ForsettiRuntime
    class ModuleManager
    class ModuleRegistrationService
    class ModuleRequirementValidator
    class ModuleRegistry
    class IForsettiModule
    class IForsettiModuleContext
    class ForsettiContext
    class IServiceProvider
    class IForsettiEventBus
    class UISurfaceManager
    class ForsettiHostController

    ForsettiHostController --> ForsettiRuntime
    ForsettiRuntime --> ModuleManager
    ModuleManager --> ModuleRegistrationService
    ModuleManager --> ModuleRequirementValidator
    ModuleManager --> ModuleRegistry
    ModuleRegistry --> IForsettiModule
    ModuleManager --> ForsettiContext
    ForsettiContext ..|> IForsettiModuleContext
    IForsettiModule --> IForsettiModuleContext
    ForsettiContext --> IServiceProvider
    ForsettiContext --> IForsettiEventBus
    ModuleManager --> UISurfaceManager
Loading

Header Groups

Group Headers
Models ModuleModels.h, ModuleRequirements.h, SemVer.h, UIModels.h, ActivationStore.h
Runtime ForsettiRuntime.h, ModuleManager.h, ManifestLoader.h, ModuleRegistry.h, StaticModuleRegistry.h, ModuleRegistration.h, ModuleRequirementValidator.h
Policy CompatibilityChecker.h, CapabilityPolicy.h, DefaultModuleRoles.h, EntitlementProviders.h
Context ForsettiContext.h, ForsettiEventBus.h, ForsettiServiceContainer.h, ForsettiLogger.h, ForsettiServices.h
Platform DefaultPlatformServices.h, EntitlementProviders.h, ModuleRegistrationPlatform.h, PlatformServices.h, WindowsViewFactoryRegistry.h
Host Template ForsettiHostBootstrap.h, ForsettiHostController.h, ForsettiHostOverlayRouter.h, ForsettiHostState.h, ForsettiSurfaceStateAdapter.h

Clone this wiki locally