Chronos Plugins
5.2.0
This documentation covers the plugin interfaces definitions and an example implementation.
|
Classes and interfaces that are meant for plugins. The classes and interfaces below this namespace are meant to be upwards compatible across Chronos versions. If you notice any incompatibilities, please let us know. More...
Namespaces | |
namespace | Columns |
Interfaces for custom sample list column type definitions. These interfaces allow you to define new custom column types definitions which behave just like builtin types and let you define your own column context menus and editors for the sample list. | |
namespace | Config |
Information regarding the currently active configuration. These classes reflect configuration information which is meant to be accessed by plugins. If you miss information here, please let us know, and don't start parsing the Chronos configuration files, as these may change in the future. | |
namespace | Consumables |
namespace | LegacyDevices |
Access to some functionality of Chronos builtin device drivers. These are added as required. If you are missing something here that would be useful for your plugin, please let us know. | |
namespace | MethodEditor |
Auxiliary functions that can improve the usablility of the method editor for your task types. | |
namespace | SDKSupport |
Functionality supporting CTC's Task SDK plugins. This is not maintained by Axel Semrau, but by CTC directly. We can forward any requests about this if necessary. | |
namespace | WPF |
Classes | |
interface | IAcquisitionServiceBase |
Base for acquisition services, parts that are the same regardless of the parameter list. If you want to provide an acquisition service from your plugin, you must implement the generic interface for your specific parameter type. More... | |
interface | IPerseveringAcquisitionService |
Request retrying if IsAvailable returned false. More... | |
interface | IDetailProvidingAcquisitionService |
If there are several instruments or you can provide some version/configuration information for the service, this is the place to do it. More... | |
interface | ISoftHandshakingAcquisitionService |
Implement this interface if you want to support soft handshaking (read: not by cable) for your acquisition service. More... | |
interface | IAcquisitionService |
Implement this interface if you want to provide an acquisition service that is loaded on program start, can provide an optional configuration dialog and be used by the normal Acquisition task in Chronos. More... | |
interface | IJitLinkAware |
Implement this interface on your ParamT if you need to check for the presence of just in time evaluated expressions for the calling AcquisitionTask. More... | |
class | LockInstrumentAttribute |
Decorate a property of your ParamT class with this property if your acquisition service can be used simultaneously on multiple instruments. More... | |
interface | IConfigurableAcquisitionService |
Implement this interface if your acquisition service requires some kind of configuration More... | |
interface | IHaveConfigurator |
The GUI for the configuration is kept seperately from the service More... | |
interface | ISequenceAwareAcquisitionService |
Implement this if your acquisition service has to know when a Chronos sequence starts / ends. More... | |
interface | IEbisEnabledAcquisitionService |
To be implemented by acquisition services that cooperate with the EBIS module for Chronos. More... | |
interface | IStandbySupportingAcquisitionService |
For services that can be put into some kind of standby mode (by an error method, for example) More... | |
interface | ICommandUsingAcquisitionService |
Implement this interface if your acquisition service supports some kind of utility commands that could be run from a method. More... | |
interface | IAcquisitionHostTask |
This interface is implemented by the acquisition task instance that hosts your parameter list. More... | |
interface | IDevice |
To be implemented by the "device driver" part of a Chronos plugin. More... | |
class | DeviceExtensions |
Hopefully useful extensions for IDevice More... | |
class | TrayGeometry |
Basic description of a simple rectangle tray geometry. More... | |
interface | IProvideTrayGeometry |
Allow to ask the sampler for the geometry of a tray. More... | |
interface | INeedAConnection |
For devices that need some kind of user configured connection string to address the hardware. More... | |
interface | IManageConnectionState |
Implement this if your device wants to expose its connection state to other plugins. More... | |
interface | IProvideStatusMessages |
Implement this interface if you want to keep the user up-to-date about what your device is doing. More... | |
interface | IHaveDebugOutput |
Implement this interface if you wish to provide debug log output. More... | |
interface | IAbortSchedules |
Implement this interface if you need to abort schedules on some error condition. More... | |
interface | IMultipartDevice |
Implement this interface if your device consists of multiple parts which can be used in parallel - like the heads/body of a PAL3. In the part, please return BaseDeviceName + ":" + PartName for consistency reasons. More... | |
class | InteractiveErrorHandlingEventArgs |
Everything needed for showing the error dialog / reacting on input. More... | |
interface | IHaveInteractiveErrorHandling |
For devices that allow interactive error handling (like retrying the last action) More... | |
interface | ICanInterrupt |
For devices that support pausing/aborting independent of a task More... | |
interface | IHaveMachineParameters |
Parameters that are constant for the duration of a schedule. More... | |
interface | IDirectDeviceAccess |
Implement this interface if you need direct access to the list of configured devices. More... | |
interface | IPal3Options |
Makes some aspects of the PAL3 behavior configurable More... | |
interface | IPal3Access |
Provides access to some options and configuration information for the PAL3 samplers even out of the schedule execution context. More... | |
interface | IJobAwareDevice |
Implement this if your device needs to know when a specific job of the running scheduler has finished. More... | |
interface | IBarcodeReader |
Implement this interface if your device is a barcode reader that can be used with the ReadBarcode task. More... | |
interface | IPluginDeviceAdapter |
Do not implement this interface. More... | |
interface | IGuiHelper |
Helper functions for GUI related tasks. More... | |
interface | IDebugHelper |
Utility functions for debugging purposes More... | |
class | Helpers |
Static instance for access to utility functions and resources. More... | |
interface | ILicenseChecker |
Information about license validity and type. More... | |
interface | ILicenseInfo |
Details about a Chronos style license. More... | |
interface | IStorageInspector |
Inspect stored data. More... | |
interface | IConfigInfo |
Get information about the currently active configuration. More... | |
interface | IDeviceInfo |
Gives access to information about a device and its connection state, if known. More... | |
interface | IUtilityFactories |
Helper factories for utility classes implemented within Chronos More... | |
interface | IHaveRunlogOutput |
Implement this interface if you have messages for our run log. More... | |
interface | IReactOnCultureChanges |
Allows you to support runtime language switching just like Chronos does. More... | |
class | TraceWriteEventArgs |
For future extension (categories, priorities...) More... | |
interface | ITraceLogger |
Writes some text to the trace log More... | |
class | ScheduleStateEventArgs |
Information about the current state change More... | |
interface | IScheduleEvents |
Currently starting schedule stage More... | |
interface | IScheduleStateAware |
Implement this interface if you need to track the state of schedules. More... | |
class | MethodLaunchEventArgs |
Could be extended in the future if e.g. arguments should be passed to the method running task planer. More... | |
interface | IEmbedMethods |
Implement this interface if you want to run a method from within your task. More... | |
class | DynamicPropertyMasterAttribute |
Set this attribute if changing its value in the method editor will result in a different list of properties for the task/service. More... | |
class | SortPriorityAttribute |
Override the normal sort priority in the method editor. More... | |
class | LicenseCheckerAttribute |
Use this attribute if you want to expose the contents of your plugin assembly only after a license check was successful. More... | |
class | RequiresAdvancedAttribute |
If this attribute is present, the respective class is not available in Chronos XT. More... | |
interface | IProvideDiagnosticLogs |
This can be called for a sample list worker or device that writes its own set of log files which should be available with the "gather diagnostics" option. More... | |
interface | IStopRuns |
Implement this interface with your device or sample list worker to get fine-grained control about stopping a currently running schedule or the complete queue. More... | |
interface | IPluginAdapter |
Generic way to access a plugin object that was wrapped by Chronos More... | |
class | StopRunArgs |
Options for stopping the schedule/queue. More... | |
interface | IColumnInfo |
Information about a column defined in a method. More... | |
interface | IPAL3Services |
An object implementing this interface is provided by Chronos and passed to the PAL3task just before execution. More... | |
interface | IWorkWithSampleLists |
For plugins that want to manipulate or run sample lists. More... | |
interface | INeedToRunSampleLists |
For automatic generation of sample lists and running the resulting schedules. More... | |
class | RunSampleListEventArgs |
Parameters for sample list loading and schedule creation More... | |
interface | INeedCellAccess |
Implement this interface in your sample list worker class if you need access to the content of cells. More... | |
interface | IAccessSampleLists |
From Chronos 5.2 on, there can be multiple sample lists at once. More... | |
interface | ISampleListAccessor |
Provides basic sample list information and lets you iterate over all lines. More... | |
interface | ISampleListManager |
Access to all sample lists, adding of new sample lists More... | |
interface | ISampleListLine |
Gives access to all cells of a line. More... | |
interface | ICellAccessor |
Gives access to a cell's value. More... | |
interface | IStatusView |
To be implemented by the Status view part of a Chronos plugin. More... | |
interface | ITask |
To be implemented by the "task" part of a Chronos plugin. Public properties of the implementing type are visible in Chronos' method editor. More... | |
interface | IPluginTaskAdapter |
Do not implement this interface. More... | |
interface | IDemoAwareTask |
For tasks that try to do some special actions during schedule demo execution. More... | |
class | DefaultUnitAttribute |
Use this on your task property if you want the method editor to show a default unit. More... | |
class | SuppressPathPrefixAttribute |
Please don't use this unless you are sure you know what you are doing! Set this attribute on your task if you have to avoid "Plugin." prefix in property paths. More... | |
interface | IAbortableTask |
Implement this interface if your task does some long lasting operation which should be interruptible. More... | |
interface | ITaskForDevice |
To be implemented if the task needs to access a device ("Autosampler" property in Chronos) More... | |
class | DevicesLimitedAttribute |
Add this attribute to your ITaskForDevice.SetDevice method or your IDevice property if you are using more than one device to limit the range of autosamplers that is offered in the method editor. More... | |
interface | IAccessProperty |
Gives full access to other tasks's properties. More... | |
interface | ITaskInfo |
Gives access to a task's implementation and to all user visible properties. More... | |
interface | IInspectJob |
Allows to get information about other tasks within our task's job and about other jobs. More... | |
interface | IMethodInfo |
Information about the method that was used to create this job More... | |
interface | IResourceManager |
The resource manager is your interface to the scheduler regarding occupied or locked objects. More... | |
interface | IUseResources |
Implement this interface if you need to communicate with the scheduler about locked/occupied objects. More... | |
interface | INeedToInspectOtherTasks |
Implement this interface if you have to access other tasks within the schedule. More... | |
interface | INeedToCheckForJITLinks |
Implement this interface if you have to know (usually for validation) if a certain property of a given task will be filled in later by a {jit:} scripting expression More... | |
interface | IGiveARuntimeHint |
If you can calculate your runtime, you should implement this interface. More... | |
interface | IWantEditorUpdates |
Implement this interface in your task if you want the method editor to notify it of changed properties. More... | |
class | InvisibleByDefaultAttribute |
Use this attribute to mark a property as only visible to users who explicitly look for invisible properties. More... | |
class | ScheduleDiagramColorAttribute |
Override the default color that is used to display the task in the schedule diagram. More... | |
class | TaskCategoryAttribute |
The Task Category Method Attribute More... | |
class | CustomTaskCategoryAttribute |
Use this if none of the predefined categories fit and you have a better idea than "Misc". More... | |
class | LinkPropertyAttribute |
Attribute to link the decorated Property with the specifyed Task and TaskProperty More... | |
class | StandardValueProviderAttribute |
If your standard value list cannot be provided without knowing the actual task's details, you can derive from this attribute class. More... | |
interface | IToolbox |
To be implemented by the Toolbox part of a Chronos plugin. More... | |
interface | IUsableDuringRun |
Implement this if you want your toolbox to be visible during a sequence run. More... | |
Enumerations | |
enum class | ResultKind { Name , Amount , Area , Height , RTExpected , RTObserved } |
The kind of result expected from the ExecuteDataReader call to an EBIS enabled acquisition service. More... | |
enum class | ConnectionState { Disconnected , Connecting , Connected , Disconnecting , Failed } |
If your connectivity state changes, you should tell the user about it. More... | |
enum class | ErrorType { Other , BarcodeNotRead , MissingVial } |
Lets a device implementing IHaveInteractiveErrorHandling specify which kind of error occurred. More... | |
enum class | ScheduleState { Validated , Starting , Ended , SamplersStopped } |
Which stage? More... | |
enum class | TaskCategory { SamplePrep = 1 , Cleaning = 2 , Injection = 3 , IO = 4 , CDS = 5 , FlowControl = 6 , SPME = 7 , Misc = 8 , PAL3SDK = 9 , LCMS = 10 , ITSP = 11 , ITEX = 12 } |
The enumeration of Task Categories More... | |
Functions | |
delegate Exception | RunSampleListHandler (object sender, RunSampleListEventArgs args) |
Runs the given sample list. More... | |
delegate object | dExpressionResolver (string text, int rowNo) |
delegate bool | JITCheckerDelegate (object task, string propertyPath) |
The delegate that does the check for you. More... | |
Classes and interfaces that are meant for plugins. The classes and interfaces below this namespace are meant to be upwards compatible across Chronos versions. If you notice any incompatibilities, please let us know.
|
strong |
If your connectivity state changes, you should tell the user about it.
Definition at line 15 of file DeviceInterfaces.cs.
|
strong |
Lets a device implementing IHaveInteractiveErrorHandling specify which kind of error occurred.
The user can configure which kinds of errors could/should be handled in which way. For example, abort on missing barcode, skip sample on missing vial and ask for other errors.
Definition at line 298 of file DeviceInterfaces.cs.
|
strong |
The kind of result expected from the ExecuteDataReader call to an EBIS enabled acquisition service.
Enumerator | |
---|---|
Name | |
Amount | |
Area | |
Height | |
RTExpected | |
RTObserved |
Definition at line 193 of file AcquisitionInterfaces.cs.
|
strong |
Which stage?
Definition at line 80 of file MiscInterfaces.cs.
|
strong |
The enumeration of Task Categories
Definition at line 626 of file TaskInterfaces.cs.
delegate object AxelSemrau.Chronos.Plugin.dExpressionResolver | ( | string | text, |
int | rowNo | ||
) |
delegate bool AxelSemrau.Chronos.Plugin.JITCheckerDelegate | ( | object | task, |
string | propertyPath | ||
) |
The delegate that does the check for you.
task | Either an ITask or the object from ITaskInfo.Task |
propertyPath | Full path to the property in question. Inside a plugin you will probably need to call this delegate using "Plugin.FancyStuff" for a FancyStuff property. isFancyStuffJitted = mJITChecker(this, "Plugin.FancyStuff"); |
delegate Exception AxelSemrau.Chronos.Plugin.RunSampleListHandler | ( | object | sender, |
RunSampleListEventArgs | args | ||
) |
Runs the given sample list.
sender | |
args |