package com.netifera.platform.api.probe; import com.netifera.platform.api.dispatcher.IMessenger; import com.netifera.platform.api.model.IEntity; import com.netifera.platform.api.model.ISpace; import com.netifera.platform.api.tasks.ITaskClient; import com.netifera.platform.api.tools.IToolConfiguration; /** * This is the client interface to probe services. * */ public interface IProbe { enum ConnectState { DISCONNECTED, CONNECTING, CONNECTED, CONNECT_FAILED }; IEntity getEntity(); IMessenger getMessenger(); String getName(); void connect(); void disconnect(); boolean isLocalProbe(); boolean isConnected(); boolean isDisconnected(); ConnectState getConnectState(); String getConnectError(); void setConnected(IMessenger messenger); void setDisconnected(); long getProbeId(); ITaskClient getTaskClient(); /* * Actions may call this directly. */ void launchTool(String toolClass, String toolBundle, IToolConfiguration configuration, ISpace space); }