package epson.print.ecclient;

public class EcClientLib {
    public static final int ECC_CM_COLOR = 1;
    public static final int ECC_CM_MONOCHROME = 2;
    public static final int ECC_RENDER_ABORTED = 4;
    public static final int ECC_RENDER_CANCELED = 3;
    public static final int ECC_RENDER_COMPLETED = 2;
    public static final int ECC_RENDER_PROCESSING = 1;
    public static final int ECC_RENDER_UNKNOWN = 0;
    public static final int ECC_SOURCE_UNK = 0;
    public static final int ECC_SRC_DOCFILE = 1;
    public static final int ECC_SRC_IMAGES = 2;
    public static final int ECC_SRC_WEB = 3;
    public static final int ECT_CAPABILITY = 3;
    public static final int ECT_CLIENT_INFO = 2;
    public static final int ECT_JOB_INFO = 7;
    public static final int ECT_PRINTER_SUPPORT = 1;
    public static final int ECT_PRINT_SETTING = 4;
    public static final int ECT_RENDER_STAT = 6;
    public static final int ECT_URI = 5;
    public String mClientId;
    public int mColorModeAtLocal;
    public int mColorModeAtPhoto;
    public int mColorModeAtRemote;
    public int mCompletePage;
    public EccJobInfo mEccJobInfo;
    public String mEpsonDeviceId;
    HttpAccess mHttpAcess;
    public EpsJobAttrib mJobAttrib;
    public String mLogUri;
    public EpsSupportedMedia mMediaAtLocal;
    public EpsSupportedMedia mMediaAtPhoto;
    public EpsSupportedMedia mMediaAtRemote;
    long mNativeInscance = 0;
    public String mPrinterName;
    public String mPrinterName2;
    public int mRenderStatus;
    public String mSerialNumber;
    public int mType;

    public static native int GetPid();

    public native int ChangePrintSetting(EpsJobAttrib epsJobAttrib, String str, String str2, boolean z);

    public native int CreateJob(int i, String str, int i2, EpsJobAttrib epsJobAttrib, int i3, int i4);

    public native void DebugPrintPid();

    public native int DownloadPreview(int i, String str);

    public native int EndJob();

    public native int GetCapability();

    public native int GetDefaultSetting();

    public native int GetPrintLogUri(String str, String str2, String str3, String str4);

    public native int GetPrinterInfo();

    public native int GetRenderingStatus();

    public native int Login(String str, String str2, String str3);

    public native int Logout();

    public native boolean NativeInitialize();

    public native int RegPrinter(String str, String str2, String str3);

    public native int StartPrint(int i, int i2);

    public native void Terminate();

    public native int UploadFile(String str, int i, int i2);

    static {
        System.loadLibrary("ecclient");
    }

    public boolean Initialize() {
        SetHttpAccess(new HttpApache());
        return NativeInitialize();
    }

    private void SetHttpAccess(HttpAccess httpAccess) {
        this.mHttpAcess = httpAccess;
    }

    public void cancel() {
        this.mHttpAcess.cancel();
    }

    public void resetCancel() {
        this.mHttpAcess.resetCancel();
    }

    protected void finalize() throws Throwable {
        Terminate();
    }

    public String printerName2() {
        return this.mPrinterName2;
    }

    public String serialNumber() {
        return this.mSerialNumber;
    }

    public String deviceId() {
        return this.mEpsonDeviceId;
    }

    public String printerName() {
        return this.mPrinterName;
    }

    public String clientId() {
        return this.mClientId;
    }
}
