+package jalview.api;
+
+public interface AlignCalcManagerI
+{
+
+
+ /**
+ * tell manager that a worker is initialised and has started to run
+ * @param worker
+ */
+ void notifyStart(AlignCalcWorkerI worker);
+
+ /**
+ * check if a calculation of this type is already active
+ * @param worker
+ * @return
+ */
+ boolean alreadyDoing(AlignCalcWorkerI worker);
+
+ /**
+ * tell manager that worker is now processing data
+ * @param worker
+ */
+ void notifyWorking(AlignCalcWorkerI worker);
+
+
+ /**
+ * notify manager that the worker has completed, and results may be ready to collect
+ * @param worker
+ */
+ void workerComplete(AlignCalcWorkerI worker);
+
+ /**
+ * indicate that a worker like this cannot run on the platform and shouldn't be started again
+ * @param worker
+ */
+ void workerCannotRun(AlignCalcWorkerI worker);
+
+ /**
+ * launch a new worker
+ * @param worker
+ */
+ void startWorker(AlignCalcWorkerI worker);
+
+}