Photomechanics API
|
API implementation for MFT turn tables. More...
Public Member Functions | |
LegacyMftApi (LegacyMftCommandRunner commandRunner, ILogger logger) | |
override String | ToString () |
![]() | |
async Task | Initialize () |
Initialize connection with device. More... | |
TComponent | GetComponent< TComponent > () |
Get component of given type. More... | |
![]() | |
async ValueTask | DisposeAsync () |
Task | Initialize () |
Initialize connection with device. More... | |
TComponent | GetComponent< TComponent > () |
Get component of given type. More... | |
Protected Member Functions | |
override async Task | OnInitializing () |
Initialize connection with turn table. More... | |
override async ValueTask | DisposeAsyncCore () |
Derived type disposal logic. Do not forget to call base.DisposeAsyncCore() when overriding this. TODO: find base call analyzer for virtual methods like this More... | |
![]() | |
ComponentBasedDeviceApiBase (ILogger logger) | |
abstract Task | OnInitializing () |
Initialize connection with turn table. More... | |
override async ValueTask | DisposeAsyncCore () |
void | InitializeComponents (IEnumerable< IDeviceApiComponent > components) |
Initialize components set. More... | |
void | InitializeComponents (params IDeviceApiComponent[] components) |
Initialize components set. More... | |
![]() | |
AsyncDisposableExtendedBase (ILogger logger) | |
Base constructor for device api. More... | |
abstract ValueTask | DisposeAsyncCore () |
Derived type disposal logic. More... | |
void | UpdateLoggerContext () |
Unfortunately Serilog ForContext method does not store provided object as property value, calling its ToString method immediately instead. In some cases, we want to use information like device name/id as log context but it is only available when derived type is fully constructed and maybe some other initialization took place. For such cases, derived type can use this method to update Logger context value. | |
Properties | |
LegacyMftCommandRunner | CommandRunner [get] |
String | ConnectionInfo [get] |
Human-readable string that will contain information about connection. More... | |
![]() | |
ILogger | Logger [get] |
Logger associated with this instance. This way extension methods can use logging without requiring it as parameter. More... | |
Boolean | IsDisposed [get] |
Determines whether the object is being disposed or already disposed and no longer functional. More... | |
virtual IAsyncDisposableExtended | Owner [get] |
Type and ToString values of this object will appear when logging begin/end of DisposeAsync. This object will also be used as Disposed sender, essentially allowing seamlessly using AsyncDisposableExtendedBase logic even when directly inheriting from it is not possible. Usually it simply returns "this" value, but AsyncDisposableExtendedImpl overrides it to return its owner instance for the aforementioned reason. | |
![]() | |
Boolean | IsDisposed [get] |
Determines whether the object is being disposed or already disposed and no longer functional. More... | |
ILogger | Logger [get] |
Logger associated with this instance. This way extension methods can use logging without requiring it as parameter. More... | |
![]() | |
String | ConnectionInfo [get] |
Human-readable string that will contain information about connection. More... | |
Additional Inherited Members | |
![]() | |
AsyncTypedEventHandler< IAsyncDisposableExtended >? | Disposed |
![]() | |
AsyncTypedEventHandler< IAsyncDisposableExtended > | Disposed |
Occurs when object is disposed. It should be invoked at the end of IAsyncDisposable.DisposeAsync implementation in a Fire-and-Forget fashion (non-blocking). | |
API implementation for MFT turn tables.
Any unexpected input from turn table (invalid messages, characters not surrounded messages begin/end, etc.) will cause API to self-dispose. IAsyncDisposableExtended.IsDisposed can be used to determine API state after initialization.
|
protectedvirtual |
Initialize connection with turn table.
Implements ComponentBasedDeviceApiBase.
|
protectedvirtual |
Derived type disposal logic. Do not forget to call base.DisposeAsyncCore() when overriding this. TODO: find base call analyzer for virtual methods like this
Reimplemented from ComponentBasedDeviceApiBase.
|
get |
Human-readable string that will contain information about connection.
"COM42" "192.168.0.125:4242"
Implements ITurntableApi.