Photomechanics API
ITurntableCommand Interface Reference

Represents turntable command that has status and can be awaited. More...

Inheritance diagram for ITurntableCommand:
[legend]

Public Member Functions

Task WaitEnterProcessingStateAsync ()
 Wait for command to enter TurntableCommandStatus.Processing state asynchronously. Processing state means that turntable accepted command, started executing it and will return Success status later on. Used for lengthy processes (i.e. rotation commands). More...
 
Task WaitFinishAsync ()
 Wait for command to finish asynchronously. More...
 

Properties

TurntableCommandStatus Status [get]
 Command status. More...
 
ILogger Logger [get]
 Logger attached to this command. More...
 

Events

TypedEventHandler< ITurntableCommand, TurntableCommandStatus > StatusChanged
 Occurs when command execution is finished.
 

Detailed Description

Represents turntable command that has status and can be awaited.

Member Function Documentation

◆ WaitEnterProcessingStateAsync()

Task ITurntableCommand.WaitEnterProcessingStateAsync ( )

Wait for command to enter TurntableCommandStatus.Processing state asynchronously. Processing state means that turntable accepted command, started executing it and will return Success status later on. Used for lengthy processes (i.e. rotation commands).

Implemented in TurntableCommandBase.

◆ WaitFinishAsync()

Task ITurntableCommand.WaitFinishAsync ( )

Wait for command to finish asynchronously.

Implemented in TurntableCommandBase.

Property Documentation

◆ Status

TurntableCommandStatus ITurntableCommand.Status
get

Command status.

Implemented in TurntableCommandBase.

◆ Logger

ILogger ITurntableCommand.Logger
get

Logger attached to this command.

Adding logger as constructor parameter to all commands will require too much refactoring. Injecting from command runners instead.

Implemented in TurntableCommandBase.