LowLevelSubsystem

eu.joaocosta.minart.backend.subsystem.LowLevelSubsystem
See theLowLevelSubsystem companion object
trait LowLevelSubsystem[Settings] extends AutoCloseable

A low-level subsystem with init and close operations.

Attributes

Companion:
object
Graph
Supertypes
trait AutoCloseable
class Object
trait Matchable
class Any
Known subtypes
class Composite[SettingsA, SettingsB, SubsystemA, SubsystemB]
trait Extended[Settings, ExtendedSettings]
trait Simple[Settings]

Members list

Concise view

Value members

Abstract methods

def changeSettings(newSettings: Settings): Unit

Changes the settings of the subsystem.

Changes the settings of the subsystem.

Attributes

newSettings

new settings to apply

def close(): Unit

Destroys the subsystem.

Destroys the subsystem.

Calling any operation on this object after calling close() without calling init() has an undefined behavior.

Attributes

def init(settings: Settings): LowLevelSubsystem.this.type

Creates the subsystem.

Creates the subsystem.

Operations can only be called after calling this.

Attributes

settings

settings used to configure the subsystem

Returns:

this subsystem

Checks if the subsystem is created or if it has been destroyed.

Checks if the subsystem is created or if it has been destroyed.

Attributes

def settings: Settings

Returns the current settings.

Returns the current settings.

Attributes

Concrete methods

def ++[SettingsB, SubsystemB <: LowLevelSubsystem[SettingsB]](that: SubsystemB): Composite[Settings, SettingsB, LowLevelSubsystem, SubsystemB]

Composes this subsystem with another subsystem

Composes this subsystem with another subsystem

Attributes