Interface ModuleManager


public interface ModuleManager
Manages how modules are installed, restarted, and removed from Ignition
  • 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

      GatewayModule getModule(String id)
      Finds a module with the given id string. Case sensitive. Will return null if the module is not found.
    • resolveClass

      Class<?> resolveClass(String className)
      Loops through each module's classloader, giving it a chance to resolve the given class.
    • getVersionHash

      ScopeVersionHash getVersionHash(int scope)
      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 from GatewayModuleHook.getConfigPanels() or GatewayModuleHook.getStatusPanels() has changed should call this method.
    • uninstallModule

      void uninstallModule(String moduleId) throws Exception
      Uninstalls the given module. Any dependent modules will be restarted afterwards.
      Throws:
      Exception
    • restartModule

      void restartModule(String moduleId) throws Exception
      Restarts the given module. Any dependent modules will first be shut down, and then restarted afterwards.
      Throws:
      Exception
    • installModule

      void installModule(String filename, byte[] bytes) throws Exception
      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

      void installModule(String filename, File tempModuleLocation) throws Exception
      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

      void addModuleObserver(ModuleObserver observer)
      Register a ModuleObserver that gets notified when modules are added.
      Parameters:
      observer - The observer to register.
    • removeModuleObserver

      void removeModuleObserver(ModuleObserver observer)
      Remove a previously registered ModuleObserver.
      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.