1 package org
.argeo
.slc
.server
.client
;
6 import org
.argeo
.slc
.execution
.ExecutionModuleDescriptor
;
7 import org
.argeo
.slc
.msg
.ExecutionAnswer
;
8 import org
.argeo
.slc
.msg
.event
.SlcEvent
;
9 import org
.argeo
.slc
.process
.RealizedFlow
;
10 import org
.argeo
.slc
.process
.SlcExecution
;
11 import org
.argeo
.slc
.runtime
.SlcAgentDescriptor
;
12 import org
.argeo
.slc
.server
.HttpServices
;
14 /** Abstraction of the access to HTTP services of an SLC Server. */
15 public interface SlcServerHttpClient
extends HttpServicesClient
,HttpServices
{
16 /** Wait for the provided SlcExecution to be finished. */
17 public void waitForSlcExecutionFinished(SlcExecution slcExecution
,
20 /** Block until one of the registered event is finished. */
21 public SlcEvent
pollEvent(Long timeout
);
23 /** Register an event type. */
24 public ExecutionAnswer
addEventListener(String eventType
, String eventFilter
);
26 /** Unregister an event type. */
27 public ExecutionAnswer
removeEventListener(String eventType
,
30 /** Wait for one agent to be available. */
31 public SlcAgentDescriptor
waitForOneAgent();
33 /** Wait for the http server to be ready. */
34 public void waitForServerToBeReady();
36 /** Start an execution flow on the given agent. */
37 public SlcExecution
startFlow(String agentId
, RealizedFlow realizedFlow
);
39 /** Assume one agent and one version per module. */
40 public SlcExecution
startFlowDefault(String moduleName
, String flowName
,
41 Map
<String
, Object
> args
);
43 /** List execution modules descriptors. */
44 public List
<ExecutionModuleDescriptor
> listModuleDescriptors(String agentId
);
46 /** Retrieve a single execution module descriptor. */
47 public ExecutionModuleDescriptor
getModuleDescriptor(String agentId
,
48 String moduleName
, String version
);