// Path: sdk/src/main/java/com/theeyetribe/clientsdk/response/CalibrationPointEndResponse.java
// public class CalibrationPointEndResponse extends Response
// {
//     public static class Values
//     {
//         @SerializedName(Protocol.CALIBRATION_CALIBRESULT)
//         public CalibrationResult calibrationResult;
//     }
// 
//     public Values values = new Values();
// }
// 
// Path: sdk/src/main/java/com/theeyetribe/clientsdk/response/Response.java
// public class Response
// {
//     public String category;
//     public String request;
//     public int id;
//     public int statuscode;
// 
//     public transient long transitTime;
// }
// 
// Path: sdk/src/main/java/com/theeyetribe/clientsdk/response/ResponseFailed.java
// public class ResponseFailed extends Response
// {
//     public static class Values
//     {
//         @SerializedName(Protocol.KEY_STATUSMESSAGE)
//         public String statusMessage;
//     }
// 
//     public Values values = new Values();
// }


import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.theeyetribe.clientsdk.request.*;
import com.theeyetribe.clientsdk.response.CalibrationPointEndResponse;
import com.theeyetribe.clientsdk.response.Response;
import com.theeyetribe.clientsdk.response.ResponseFailed;
import com.theeyetribe.clientsdk.response.TrackerGetResponse;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketTimeoutException;
import java.util.Enumeration;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.atomic.AtomicInteger;
        csr.asyncLock = new Object();

        request(csr);

        return csr.asyncLock;
    }

    public void requestCalibrationPointStart(int x, int y)
    {
        CalibrationPointStartRequest cpsr = new CalibrationPointStartRequest();

        cpsr.values.x = x;
        cpsr.values.y = y;

        cpsr.id = mIdGenerator.incrementAndGet();

        request(cpsr);
    }

    public void requestCalibrationPointEnd()
    {
        CalibrationPointEndRequest cper = new CalibrationPointEndRequest();

        cper.id = mIdGenerator.incrementAndGet();

        request(cper);
    }

    public Object requestCalibrationAbort()
    {
// Path: sdk/src/main/java/com/theeyetribe/clientsdk/response/CalibrationPointEndResponse.java
// public class CalibrationPointEndResponse extends Response
// {
//     public static class Values
//     {
//         @SerializedName(Protocol.CALIBRATION_CALIBRESULT)
//         public CalibrationResult calibrationResult;
//     }
// 
//     public Values values = new Values();
// }
// 
// Path: sdk/src/main/java/com/theeyetribe/clientsdk/response/Response.java
// public class Response
// {
//     public String category;
//     public String request;
//     public int id;
//     public int statuscode;
// 
//     public transient long transitTime;
// }
// 
// Path: sdk/src/main/java/com/theeyetribe/clientsdk/response/ResponseFailed.java
// public class ResponseFailed extends Response
// {
//     public static class Values
//     {
//         @SerializedName(Protocol.KEY_STATUSMESSAGE)
//         public String statusMessage;
//     }
// 
//     public Values values = new Values();
// }


// Path: sdk/src/main/java/com/theeyetribe/clientsdk/GazeApiManager.java
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.theeyetribe.clientsdk.request.*;
import com.theeyetribe.clientsdk.response.CalibrationPointEndResponse;
import com.theeyetribe.clientsdk.response.Response;
import com.theeyetribe.clientsdk.response.ResponseFailed;
import com.theeyetribe.clientsdk.response.TrackerGetResponse;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketTimeoutException;
import java.util.Enumeration;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.atomic.AtomicInteger;

        csr.asyncLock = new Object();

        request(csr);

        return csr.asyncLock;
    }

    public void requestCalibrationPointStart(int x, int y)
    {
        CalibrationPointStartRequest cpsr = new CalibrationPointStartRequest();

        cpsr.values.x = x;
        cpsr.values.y = y;

        cpsr.id = mIdGenerator.incrementAndGet();

        request(cpsr);
    }

    public void requestCalibrationPointEnd()
    {
        CalibrationPointEndRequest cper = new CalibrationPointEndRequest();

        cper.id = mIdGenerator.incrementAndGet();

        request(cper);
    }

    public Object requestCalibrationAbort()
    {
        Request r = new Request<>(Response.class);