User:Colin The Cat/Moduprint/API

From Resonite Wiki
Revision as of 06:17, 3 June 2025 by Colin The Cat (talk | contribs) (Created page with "[https://en.wikipedia.org/wiki/API Application Programming Interfaces] are commonly used in computer software for communicating between programs. Moduprint is defining an API for interacting with the manager, other modules, and any other part of the print system. This API is based on Dynamic Impulses and Dynamic Variables. === Structure of a Module === A module is a Slot with the direct-binding Component:DynamicVariableS...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Application Programming Interfaces are commonly used in computer software for communicating between programs. Moduprint is defining an API for interacting with the manager, other modules, and any other part of the print system. This API is based on Dynamic Impulses and Dynamic Variables.

Structure of a Module

A module is a Slot with the direct-binding Dynamic Variable Space "Module" defined on itself.


Dynamic Variables
Name Type Purpose
Module/ID String Required Unique module identifier
Module/Version uint3 Optional Semantic Version (major.minor.patch)
Module/Name String Optional Human-Readable name of the module
Module/ShortDescription String Optional Human-Readable short description of the module
Module/ManifestOwner String Optional Reserved for future use
Module/Lifecycle.Register Slot Optional List of registry entries to create
Module/Lifecycle.Install Slot Optional Dynamic Impulse on install
Module/Lifecycle.Uninstall Slot Optional Dynamic Impulse on uninstall

The module ID is of the format Namespace.Module where Namespace is anything uniquely identifying the creator such as the user or group name and Module is the identifier of the module. Only one module with the same ID can be installed on the same manager at any point in time. The ID must only contain letters which are valid for a Dynamic Variable.