/*******************************************************************************
* Copyright (c) 2013 Luigi Sgro. All rights reserved. This
* program and the accompanying materials are made available under the terms of
* the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Luigi Sgro - initial API and implementation
******************************************************************************/
package com.quantcomponents.algo.osgi;
import java.util.Date;
import com.quantcomponents.algo.ExecutionCreationException;
import com.quantcomponents.algo.ExecutionType;
import com.quantcomponents.algo.IManagedRunnable;
import com.quantcomponents.algo.TradingAgentBindingHandle;
import com.quantcomponents.algo.TradingAgentExecutionHandle;
import com.quantcomponents.core.model.ISeriesPoint;
import com.quantcomponents.core.osgi.ISeriesHost;
import com.quantcomponents.core.remote.ServiceHandle;
public interface ITradingAgentExecutionManagerHost {
boolean isExecutionTypeAvailable(ExecutionType type);
TradingAgentExecutionHandle createExecution(TradingAgentBindingHandle bindingHandle, ExecutionType type) throws ExecutionCreationException;
ServiceHandle<? extends ISeriesHost<Date, Double, ISeriesPoint<Date, Double>>> getExecutionOutput(TradingAgentExecutionHandle executionHandle);
void removeExecution(TradingAgentExecutionHandle executionHandle);
void startExecution(TradingAgentExecutionHandle executionHandle);
void pauseExecution(TradingAgentExecutionHandle executionHandle);
void resumeExecution(TradingAgentExecutionHandle executionHandle);
void killExecution(TradingAgentExecutionHandle executionHandle);
IManagedRunnable.RunningStatus getRunningStatus(TradingAgentExecutionHandle executionHandle);
}