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.
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.