package jtrade.marketfeed;
import java.io.File;
import java.util.NavigableMap;
import jtrade.Symbol;
import jtrade.timeseries.TimeSeries;
import org.joda.time.DateTime;
public interface MarketFeed {
public void connect();
public void disconnect();
public boolean isConnected();
public File getDataDir();
public Tick getLastTick(Symbol symbol);
public Tick getLastTick(Symbol symbol, DateTime date);
public Bar getLastBar(Symbol symbol);
public Bar getLastBar(Symbol symbol, DateTime date, int barSizeSeconds);
public NavigableMap<DateTime, Bar> getBarData(Symbol symbol, DateTime fromDate, DateTime toDate, int barSizeSeconds);
public NavigableMap<DateTime, Tick> getTickData(Symbol symbol, DateTime fromDate, DateTime toDate);
public TimeSeries getTimeSeries(Symbol symbol, DateTime fromDate, DateTime toDate, int barSizeSeconds, String attribute);
public void addTickListener(TickListener listener);
public void addTickListener(Symbol symbol, TickListener listener);
public void addTickListener(Symbol symbol, TickListener listener, boolean marketDepth, Cleaner cleaner);
public void removeTickListener(TickListener listener);
public void removeTickListener(Symbol symbol, TickListener listener);
public void addBarListener(BarListener listener);
public void addBarListener(Symbol symbol, BarListener listener);
public void addBarListener(Symbol symbol, BarListener listener, int barSizeSeconds, Cleaner cleaner);
public void removeBarListener(BarListener listener);
public void removeBarListener(Symbol symbol, BarListener listener);
public void addMarketListener(MarketListener listener);
public void removeMarketListener(MarketListener listener);
public void removeListener(Object listener);
public void removeAllListeners();
}