]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/server/client/SlcServerHttpClient.java
Use execDir to choose config and data dir when not forked.
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / server / client / SlcServerHttpClient.java
index 6087d2a1b7f470d0f4e15098349892edf64f9bed..59c49b0f6742271af17ed0b6b8aa7b4e89c6e6c8 100644 (file)
@@ -5,7 +5,9 @@ import java.util.Map;
 
 import org.argeo.slc.execution.ExecutionModuleDescriptor;
 import org.argeo.slc.msg.ExecutionAnswer;
+import org.argeo.slc.msg.event.SlcEvent;
 import org.argeo.slc.process.RealizedFlow;
+import org.argeo.slc.process.SlcExecution;
 import org.argeo.slc.runtime.SlcAgentDescriptor;
 
 /** Abstraction of the access to HTTP services of an SLC Server. */
@@ -13,9 +15,27 @@ public interface SlcServerHttpClient extends HttpServicesClient {
        public final static String LIST_AGENTS = "listAgents.service";
        public final static String IS_SERVER_READY = "isServerReady.service";
        public final static String NEW_SLC_EXECUTION = "newSlcExecution.service";
+       public final static String LIST_SLC_EXECUTIONS = "listSlcExecutions.service";
        public final static String GET_MODULE_DESCRIPTOR = "getExecutionDescriptor.service";
        public final static String LIST_MODULE_DESCRIPTORS = "listModulesDescriptors.service";
        public final static String LIST_RESULTS = "listResults.service";
+       public final static String ADD_EVENT_LISTENER = "addEventListener.service";
+       public final static String REMOVE_EVENT_LISTENER = "removeEventListener.service";
+       public final static String POLL_EVENT = "pollEvent.service";
+
+       /** Wait for the provided SlcExecution to be finished. */
+       public void waitForSlcExecutionFinished(SlcExecution slcExecution,
+                       Long timeout);
+
+       /** Block until one of the registered event is finished. */
+       public SlcEvent pollEvent(Long timeout);
+
+       /** Register an event type. */
+       public ExecutionAnswer addEventListener(String eventType, String eventFilter);
+
+       /** Unregister an event type. */
+       public ExecutionAnswer removeEventListener(String eventType,
+                       String eventFilter);
 
        /** Wait for one agent to be available. */
        public SlcAgentDescriptor waitForOneAgent();
@@ -24,16 +44,16 @@ public interface SlcServerHttpClient extends HttpServicesClient {
        public void waitForServerToBeReady();
 
        /** Start an execution flow on the given agent. */
-       public ExecutionAnswer startFlow(String agentId, RealizedFlow realizedFlow);
+       public SlcExecution startFlow(String agentId, RealizedFlow realizedFlow);
 
        /** Assume one agent and one version per module. */
-       public ExecutionAnswer startFlowDefault(String moduleName, String flowName,
+       public SlcExecution startFlowDefault(String moduleName, String flowName,
                        Map<String, Object> args);
 
        /** List execution modules descriptors. */
        public List<ExecutionModuleDescriptor> listModuleDescriptors(String agentId);
 
-       /** Retrieve a single execution module descriptot. */
+       /** Retrieve a single execution module descriptor. */
        public ExecutionModuleDescriptor getModuleDescriptor(String agentId,
                        String moduleName, String version);