// Path: src/main/java/com/eguller/mouserecorder/config/Config.java
// public interface Config {
//     public Config activateMinimizeOnPlay();
// 
//     public Config deactivateMinimizeOnPlay();
// 
//     public Config activateMinimizeOnRecord();
// 
//     public Config deactivateMinimizeOnRecord();
// 
//     public Config setSpeed(double speed);
// 
//     public double getSpeed();
// 
//     public boolean getMinimizeOnPlay();
// 
//     public boolean getMinimizeOnRecord();
// 
//     public Config setLoopCount(int loopCount);
// 
//     public int getLoopCount();
// 
//     public Config activeInfiniteLoop();
// 
//     public Config deactivateInfiniteLoop();
// 
//     public boolean isInfiniteLoop();
// }
// 
// Path: src/main/java/com/eguller/mouserecorder/recorder/event/DelayEvent.java
// public class DelayEvent implements Event {
//     long delay;
//     Config config;
// 
//     public DelayEvent(long delay, Config config) {
//         this.delay = delay;
//         this.config = config;
//     }
// 
// 
//     public long getDelay() {
//         return delay;
//     }
// 
//     @Override
//     public void execute(Robot robot) {
//         long speedDelay = (long) (delay / config.getSpeed());
//         if (speedDelay > 0) {
//             try {
//                 Thread.sleep(speedDelay);
//             } catch (InterruptedException e) {
//                 //ignore
//             }
//         }
//     }
// }
// 
// Path: src/main/java/com/eguller/mouserecorder/recorder/event/Event.java
// public interface  Event {
//     public void execute(Robot robot);
// }


import com.eguller.mouserecorder.config.Config;
import com.eguller.mouserecorder.recorder.event.DelayEvent;
import com.eguller.mouserecorder.recorder.event.Event;
import java.util.ArrayList;
import java.util.List;
package com.eguller.mouserecorder.recorder;



/**
 * User: eguller
 * Date: 2/22/14
 * Time: 12:06 AM
 */
public class Record {
    private List<Event> eventList = new ArrayList<Event>();
    long lastEvent;
    Config config;

    public Record(Config config) {
        this.lastEvent = System.currentTimeMillis();
        this.config = config;
    }

    public void post(Event event) {
// Path: src/main/java/com/eguller/mouserecorder/config/Config.java
// public interface Config {
//     public Config activateMinimizeOnPlay();
// 
//     public Config deactivateMinimizeOnPlay();
// 
//     public Config activateMinimizeOnRecord();
// 
//     public Config deactivateMinimizeOnRecord();
// 
//     public Config setSpeed(double speed);
// 
//     public double getSpeed();
// 
//     public boolean getMinimizeOnPlay();
// 
//     public boolean getMinimizeOnRecord();
// 
//     public Config setLoopCount(int loopCount);
// 
//     public int getLoopCount();
// 
//     public Config activeInfiniteLoop();
// 
//     public Config deactivateInfiniteLoop();
// 
//     public boolean isInfiniteLoop();
// }
// 
// Path: src/main/java/com/eguller/mouserecorder/recorder/event/DelayEvent.java
// public class DelayEvent implements Event {
//     long delay;
//     Config config;
// 
//     public DelayEvent(long delay, Config config) {
//         this.delay = delay;
//         this.config = config;
//     }
// 
// 
//     public long getDelay() {
//         return delay;
//     }
// 
//     @Override
//     public void execute(Robot robot) {
//         long speedDelay = (long) (delay / config.getSpeed());
//         if (speedDelay > 0) {
//             try {
//                 Thread.sleep(speedDelay);
//             } catch (InterruptedException e) {
//                 //ignore
//             }
//         }
//     }
// }
// 
// Path: src/main/java/com/eguller/mouserecorder/recorder/event/Event.java
// public interface  Event {
//     public void execute(Robot robot);
// }


// Path: src/main/java/com/eguller/mouserecorder/recorder/Record.java
import com.eguller.mouserecorder.config.Config;
import com.eguller.mouserecorder.recorder.event.DelayEvent;
import com.eguller.mouserecorder.recorder.event.Event;
import java.util.ArrayList;
import java.util.List;

package com.eguller.mouserecorder.recorder;



/**
 * User: eguller
 * Date: 2/22/14
 * Time: 12:06 AM
 */
public class Record {
    private List<Event> eventList = new ArrayList<Event>();
    long lastEvent;
    Config config;

    public Record(Config config) {
        this.lastEvent = System.currentTimeMillis();
        this.config = config;
    }

    public void post(Event event) {
        addDelayEvent();