2using System.Diagnostics.CodeAnalysis;
14 [SuppressMessage(
"ReSharper",
"UnusedAutoPropertyAccessor.Global")]
15 [SuppressMessage(
"ReSharper",
"MemberCanBePrivate.Global")]
20 #region Implementation of ITask
46 dev.SomeDummyMethod();
53 return $
"Task for devices {NameOrNotSet(mDevice1)}, {NameOrNotSet(SecondCoffeeMakerOrPal3)}, {NameOrNotSet(ThirdAnyDevice)}";
58 return dev?.
Name ??
"(not set)";
74 #region Implementation of IHaveRunlogOutput
Classes and interfaces that are meant for plugins. The classes and interfaces below this namespace ar...
A fake device. This namespace contains the fake device driver and auxiliary classes for settings,...
Example task implementations. Since there are lots of things that can be done from a task,...
To be implemented by the "device driver" part of a Chronos plugin.
string Name
User-selected name for the device instance.
Implement this interface if you have messages for our run log.
An object implementing this interface is provided by Chronos and passed to the PAL3task just before e...
bool Simulating
Gets a value indicating whether this IPAL3Services is simulating.
To be implemented if the task needs to access a device ("Autosampler" property in Chronos)
A chronos plugin implementation for a fake device. We pretend we are controlling a mixture of coffee ...
For some special cases it can be necessary to have a single task communicate with two different devic...
Action< string > WriteToRunlog
string GetTaskAction()
Description of the tasks's action (for hints/time table)
string NameOrNotSet(IDevice dev)
void PostValidate()
Called after the schedule construction is completed.
void SetDevice(IDevice yourDevice)
Will be called by chronos when building the schedule.
void Execute()
Showing how to use our device(s) from the task.
void PreValidate()
Called before the schedule construction is completed.
IDevice SecondCoffeeMakerOrPal3