package jforex.tood;

import com.dukascopy.api.*;
import com.dukascopy.api.util.IEmailResponse;

import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;

public class Strategy implements IStrategy {
    private IEngine engine;
    private IConsole console;
    private IHistory history;
    private IContext context;
    private IIndicators indicators;
    private IUserInterface userInterface;

    public void onStart(IContext context) throws JFException {
        this.engine = context.getEngine();
        this.console = context.getConsole();
        this.history = context.getHistory();
        this.context = context;
        this.indicators = context.getIndicators();
        this.userInterface = context.getUserInterface();

        JFUtils utils = context.getUtils();

        try {
            Future<IEmailResponse> future = utils.sendMail("rinkevics@gmail.com", "subject", "text");
            console.getOut().println("Waiting on response");
            IEmailResponse response = future.get(30, TimeUnit.SECONDS);
            if (response.isError()) {
                console.getErr().println(response);
            } else {
                console.getOut().println("e-mail successfully sent!");
            }
        } catch (Exception e) {
            e.printStackTrace(console.getErr());
        }



    }

    public void onAccount(IAccount account) throws JFException {
    }

    public void onMessage(IMessage message) throws JFException {
    }

    public void onStop() throws JFException {
    }

    public void onTick(Instrument instrument, ITick tick) throws JFException {
    }

    public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
    }
}