Interface ModuleManager
public interface ModuleManager
Manages how modules are installed, restarted, and removed from Ignition
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addModuleObserver
(ModuleObserver observer) Register aModuleObserver
that gets notified when modules are added.Returns what kind of demo state the system is currently in with relation to which modules are installed, which are licensed, and which are in demo mode.Returns a list of all modules that have Gateway-scope hooksFinds a module with the given id string.int
The total count of modules currently installedReturns a list of all modulesgetVersionHash
(int scope) Retrieve the current hash for a given scope.void
installModule
(String filename, byte[] bytes) Installs a new module.void
installModule
(String filename, File tempModuleLocation) Installs a new module.void
removeModuleObserver
(ModuleObserver observer) Remove a previously registeredModuleObserver
.Class<?>
resolveClass
(String className) Loops through each module's classloader, giving it a chance to resolve the given class.void
restartModule
(String moduleId) Restarts the given module.void
uninstallModule
(String moduleId) Uninstalls the given module.void
Call this as a hint to let the system know that the config or status menu may have changed.
-
Method Details
-
getGatewayModules
List<GatewayModule> getGatewayModules()Returns a list of all modules that have Gateway-scope hooks -
getModuleCount
int getModuleCount()The total count of modules currently installed -
getModules
List<GatewayModule> getModules()Returns a list of all modules -
getModule
Finds a module with the given id string. Case sensitive. Will return null if the module is not found. -
resolveClass
Loops through each module's classloader, giving it a chance to resolve the given class. -
getVersionHash
Retrieve the current hash for a given scope.- See Also:
-
getMenuVersion
UUID getMenuVersion()- Returns:
- a UUID representing the state of the config and status menus. This UUID will change when it's possible that the menu has been updated, either when a gateway-scope module has changed or somebody calls
-
updateMenuVersion
void updateMenuVersion()Call this as a hint to let the system know that the config or status menu may have changed. Modules whose return value fromGatewayModuleHook.getConfigPanels()
orGatewayModuleHook.getStatusPanels()
has changed should call this method. -
uninstallModule
Uninstalls the given module. Any dependent modules will be restarted afterwards.- Throws:
Exception
-
restartModule
Restarts the given module. Any dependent modules will first be shut down, and then restarted afterwards.- Throws:
Exception
-
installModule
Installs a new module.- Parameters:
filename
- The desired filename for the new module, like "MyModule.modl"bytes
- The *.modl file, as a byte array.- Throws:
Exception
- if anything went wrong attempting to decode or install the module
-
installModule
Installs a new module.- Parameters:
filename
- The desired filename for the new module, like "MyModule.modl"tempModuleLocation
- The *.modl file, as a file located in a temp directory.- Throws:
Exception
- if anything went wrong attempting to decode or install the module
-
addModuleObserver
Register aModuleObserver
that gets notified when modules are added.- Parameters:
observer
- The observer to register.
-
removeModuleObserver
Remove a previously registeredModuleObserver
.- Parameters:
observer
- The observer to unregister.
-
getDemoCountdownState
DemoCountdownState getDemoCountdownState()Returns what kind of demo state the system is currently in with relation to which modules are installed, which are licensed, and which are in demo mode.
-