/*
 * This file is auto-generated.  DO NOT MODIFY.
 */
package com.xcheng.printerservice;
// Declare any non-default types here with import statements

public interface IPrinterService extends android.os.IInterface
{
  /** Default implementation for IPrinterService. */
  public static class Default implements com.xcheng.printerservice.IPrinterService
  {
    /**
         * Demonstrates some basic types that you can use as parameters
         * and return values in AIDL.
         */
    @Override public void upgradePrinter() throws android.os.RemoteException
    {
    }
    @Override public java.lang.String getFirmwareVersion() throws android.os.RemoteException
    {
      return null;
    }
    @Override public java.lang.String getBootloaderVersion() throws android.os.RemoteException
    {
      return null;
    }
    @Override public void printerInit(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    /**
         * Force reset the printer MCU.  This will execute below items:
         * (1)power off printer mcu
         * (2)power on printer mcu
         * (3)printer init & self-checking
         * (4)wait for print user task
         *
         * Normally,user is no need to call printerReset to reset printer MUC.
         *
         * The printer reset task always needs (1-5)s.And it's asynchronous with print task.It's run in child thread.
         *
         * If the printer has some errors or not responding,we can call printerReset to fix the problem.
         * printerReset just need to be executed only once.
         *
         */
    @Override public void printerReset(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printWrapPaper(int n, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printText(java.lang.String text, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printTextWithAttributes(java.lang.String text, java.util.Map attributes, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printColumnsTextWithAttributes(java.lang.String[] text, java.util.List attributes, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printBitmap(android.graphics.Bitmap bitmap, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printBitmapWithAttributes(android.graphics.Bitmap bitmap, java.util.Map attributes, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printBarCode(java.lang.String content, int align, int width, int height, boolean showContent, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    /***
         * @param content (eg.www.baidu.com)
         * @param align (0:left 1:center 2:right)
         * @param size (px eg.:200)
         * **/
    @Override public void printQRCode(java.lang.String text, int align, int size, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    //(1,2,3,4,5,6)

    @Override public void setPrinterSpeed(int level, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void sendRAWData(byte[] data, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    //0:(result > 65)  1:(result <=65)

    @Override public int printerTemperature(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public boolean printerPaper(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
      return false;
    }
    @Override public void setPrintEncode(java.lang.String encode, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void setDefaultPrintEncode(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printBarCodeWithPos(java.lang.String content, int align, int width, int height, int contentPos, int format, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printQRCodeWithErr(java.lang.String text, int align, int size, int error, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void setAlignment(int align, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void setFontSize(int fontsize, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printTextWithFont(java.lang.String text, int typeface, int fontsize, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void printColumnsString(java.lang.String[] text, int[] width, int[] align, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public void setPrinterStyle(java.lang.String key, int value, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
    }
    @Override public int updatePrinterState(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
    {
      return 0;
    }
    @Override
    public android.os.IBinder asBinder() {
      return null;
    }
  }
  /** Local-side IPC implementation stub class. */
  public static abstract class Stub extends android.os.Binder implements com.xcheng.printerservice.IPrinterService
  {
    private static final java.lang.String DESCRIPTOR = "com.xcheng.printerservice.IPrinterService";
    /** Construct the stub at attach it to the interface. */
    public Stub()
    {
      this.attachInterface(this, DESCRIPTOR);
    }
    /**
     * Cast an IBinder object into an com.xcheng.printerservice.IPrinterService interface,
     * generating a proxy if needed.
     */
    public static com.xcheng.printerservice.IPrinterService asInterface(android.os.IBinder obj)
    {
      if ((obj==null)) {
        return null;
      }
      android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
      if (((iin!=null)&&(iin instanceof com.xcheng.printerservice.IPrinterService))) {
        return ((com.xcheng.printerservice.IPrinterService)iin);
      }
      return new com.xcheng.printerservice.IPrinterService.Stub.Proxy(obj);
    }
    @Override public android.os.IBinder asBinder()
    {
      return this;
    }
    @Override public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags) throws android.os.RemoteException
    {
      java.lang.String descriptor = DESCRIPTOR;
      switch (code)
      {
        case INTERFACE_TRANSACTION:
        {
          reply.writeString(descriptor);
          return true;
        }
        case TRANSACTION_upgradePrinter:
        {
          data.enforceInterface(descriptor);
          this.upgradePrinter();
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_getFirmwareVersion:
        {
          data.enforceInterface(descriptor);
          java.lang.String _result = this.getFirmwareVersion();
          reply.writeNoException();
          reply.writeString(_result);
          return true;
        }
        case TRANSACTION_getBootloaderVersion:
        {
          data.enforceInterface(descriptor);
          java.lang.String _result = this.getBootloaderVersion();
          reply.writeNoException();
          reply.writeString(_result);
          return true;
        }
        case TRANSACTION_printerInit:
        {
          data.enforceInterface(descriptor);
          com.xcheng.printerservice.IPrinterCallback _arg0;
          _arg0 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printerInit(_arg0);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printerReset:
        {
          data.enforceInterface(descriptor);
          com.xcheng.printerservice.IPrinterCallback _arg0;
          _arg0 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printerReset(_arg0);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printWrapPaper:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.xcheng.printerservice.IPrinterCallback _arg1;
          _arg1 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printWrapPaper(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printText:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          com.xcheng.printerservice.IPrinterCallback _arg1;
          _arg1 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printText(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printTextWithAttributes:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          java.util.Map _arg1;
          java.lang.ClassLoader cl = (java.lang.ClassLoader)this.getClass().getClassLoader();
          _arg1 = data.readHashMap(cl);
          com.xcheng.printerservice.IPrinterCallback _arg2;
          _arg2 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printTextWithAttributes(_arg0, _arg1, _arg2);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printColumnsTextWithAttributes:
        {
          data.enforceInterface(descriptor);
          java.lang.String[] _arg0;
          _arg0 = data.createStringArray();
          java.util.List _arg1;
          java.lang.ClassLoader cl = (java.lang.ClassLoader)this.getClass().getClassLoader();
          _arg1 = data.readArrayList(cl);
          com.xcheng.printerservice.IPrinterCallback _arg2;
          _arg2 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printColumnsTextWithAttributes(_arg0, _arg1, _arg2);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printBitmap:
        {
          data.enforceInterface(descriptor);
          android.graphics.Bitmap _arg0;
          if ((0!=data.readInt())) {
            _arg0 = android.graphics.Bitmap.CREATOR.createFromParcel(data);
          }
          else {
            _arg0 = null;
          }
          com.xcheng.printerservice.IPrinterCallback _arg1;
          _arg1 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printBitmap(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printBitmapWithAttributes:
        {
          data.enforceInterface(descriptor);
          android.graphics.Bitmap _arg0;
          if ((0!=data.readInt())) {
            _arg0 = android.graphics.Bitmap.CREATOR.createFromParcel(data);
          }
          else {
            _arg0 = null;
          }
          java.util.Map _arg1;
          java.lang.ClassLoader cl = (java.lang.ClassLoader)this.getClass().getClassLoader();
          _arg1 = data.readHashMap(cl);
          com.xcheng.printerservice.IPrinterCallback _arg2;
          _arg2 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printBitmapWithAttributes(_arg0, _arg1, _arg2);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printBarCode:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          int _arg1;
          _arg1 = data.readInt();
          int _arg2;
          _arg2 = data.readInt();
          int _arg3;
          _arg3 = data.readInt();
          boolean _arg4;
          _arg4 = (0!=data.readInt());
          com.xcheng.printerservice.IPrinterCallback _arg5;
          _arg5 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printBarCode(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printQRCode:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          int _arg1;
          _arg1 = data.readInt();
          int _arg2;
          _arg2 = data.readInt();
          com.xcheng.printerservice.IPrinterCallback _arg3;
          _arg3 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printQRCode(_arg0, _arg1, _arg2, _arg3);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_setPrinterSpeed:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.xcheng.printerservice.IPrinterCallback _arg1;
          _arg1 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.setPrinterSpeed(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_sendRAWData:
        {
          data.enforceInterface(descriptor);
          byte[] _arg0;
          _arg0 = data.createByteArray();
          com.xcheng.printerservice.IPrinterCallback _arg1;
          _arg1 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.sendRAWData(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printerTemperature:
        {
          data.enforceInterface(descriptor);
          com.xcheng.printerservice.IPrinterCallback _arg0;
          _arg0 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          int _result = this.printerTemperature(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_printerPaper:
        {
          data.enforceInterface(descriptor);
          com.xcheng.printerservice.IPrinterCallback _arg0;
          _arg0 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          boolean _result = this.printerPaper(_arg0);
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_setPrintEncode:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          com.xcheng.printerservice.IPrinterCallback _arg1;
          _arg1 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.setPrintEncode(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_setDefaultPrintEncode:
        {
          data.enforceInterface(descriptor);
          com.xcheng.printerservice.IPrinterCallback _arg0;
          _arg0 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.setDefaultPrintEncode(_arg0);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printBarCodeWithPos:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          int _arg1;
          _arg1 = data.readInt();
          int _arg2;
          _arg2 = data.readInt();
          int _arg3;
          _arg3 = data.readInt();
          int _arg4;
          _arg4 = data.readInt();
          int _arg5;
          _arg5 = data.readInt();
          com.xcheng.printerservice.IPrinterCallback _arg6;
          _arg6 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printBarCodeWithPos(_arg0, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printQRCodeWithErr:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          int _arg1;
          _arg1 = data.readInt();
          int _arg2;
          _arg2 = data.readInt();
          int _arg3;
          _arg3 = data.readInt();
          com.xcheng.printerservice.IPrinterCallback _arg4;
          _arg4 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printQRCodeWithErr(_arg0, _arg1, _arg2, _arg3, _arg4);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_setAlignment:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.xcheng.printerservice.IPrinterCallback _arg1;
          _arg1 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.setAlignment(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_setFontSize:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.xcheng.printerservice.IPrinterCallback _arg1;
          _arg1 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.setFontSize(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printTextWithFont:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          int _arg1;
          _arg1 = data.readInt();
          int _arg2;
          _arg2 = data.readInt();
          com.xcheng.printerservice.IPrinterCallback _arg3;
          _arg3 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printTextWithFont(_arg0, _arg1, _arg2, _arg3);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_printColumnsString:
        {
          data.enforceInterface(descriptor);
          java.lang.String[] _arg0;
          _arg0 = data.createStringArray();
          int[] _arg1;
          _arg1 = data.createIntArray();
          int[] _arg2;
          _arg2 = data.createIntArray();
          com.xcheng.printerservice.IPrinterCallback _arg3;
          _arg3 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.printColumnsString(_arg0, _arg1, _arg2, _arg3);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_setPrinterStyle:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          int _arg1;
          _arg1 = data.readInt();
          com.xcheng.printerservice.IPrinterCallback _arg2;
          _arg2 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          this.setPrinterStyle(_arg0, _arg1, _arg2);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_updatePrinterState:
        {
          data.enforceInterface(descriptor);
          com.xcheng.printerservice.IPrinterCallback _arg0;
          _arg0 = com.xcheng.printerservice.IPrinterCallback.Stub.asInterface(data.readStrongBinder());
          int _result = this.updatePrinterState(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        default:
        {
          return super.onTransact(code, data, reply, flags);
        }
      }
    }
    private static class Proxy implements com.xcheng.printerservice.IPrinterService
    {
      private android.os.IBinder mRemote;
      Proxy(android.os.IBinder remote)
      {
        mRemote = remote;
      }
      @Override public android.os.IBinder asBinder()
      {
        return mRemote;
      }
      public java.lang.String getInterfaceDescriptor()
      {
        return DESCRIPTOR;
      }
      /**
           * Demonstrates some basic types that you can use as parameters
           * and return values in AIDL.
           */
      @Override public void upgradePrinter() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_upgradePrinter, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().upgradePrinter();
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public java.lang.String getFirmwareVersion() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        java.lang.String _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_getFirmwareVersion, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().getFirmwareVersion();
          }
          _reply.readException();
          _result = _reply.readString();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public java.lang.String getBootloaderVersion() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        java.lang.String _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_getBootloaderVersion, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().getBootloaderVersion();
          }
          _reply.readException();
          _result = _reply.readString();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public void printerInit(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printerInit, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printerInit(callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      /**
           * Force reset the printer MCU.  This will execute below items:
           * (1)power off printer mcu
           * (2)power on printer mcu
           * (3)printer init & self-checking
           * (4)wait for print user task
           *
           * Normally,user is no need to call printerReset to reset printer MUC.
           *
           * The printer reset task always needs (1-5)s.And it's asynchronous with print task.It's run in child thread.
           *
           * If the printer has some errors or not responding,we can call printerReset to fix the problem.
           * printerReset just need to be executed only once.
           *
           */
      @Override public void printerReset(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printerReset, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printerReset(callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printWrapPaper(int n, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(n);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printWrapPaper, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printWrapPaper(n, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printText(java.lang.String text, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(text);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printText, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printText(text, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printTextWithAttributes(java.lang.String text, java.util.Map attributes, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(text);
          _data.writeMap(attributes);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printTextWithAttributes, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printTextWithAttributes(text, attributes, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printColumnsTextWithAttributes(java.lang.String[] text, java.util.List attributes, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeStringArray(text);
          _data.writeList(attributes);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printColumnsTextWithAttributes, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printColumnsTextWithAttributes(text, attributes, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printBitmap(android.graphics.Bitmap bitmap, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          if ((bitmap!=null)) {
            _data.writeInt(1);
            bitmap.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printBitmap, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printBitmap(bitmap, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printBitmapWithAttributes(android.graphics.Bitmap bitmap, java.util.Map attributes, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          if ((bitmap!=null)) {
            _data.writeInt(1);
            bitmap.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          _data.writeMap(attributes);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printBitmapWithAttributes, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printBitmapWithAttributes(bitmap, attributes, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printBarCode(java.lang.String content, int align, int width, int height, boolean showContent, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(content);
          _data.writeInt(align);
          _data.writeInt(width);
          _data.writeInt(height);
          _data.writeInt(((showContent)?(1):(0)));
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printBarCode, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printBarCode(content, align, width, height, showContent, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      /***
           * @param content (eg.www.baidu.com)
           * @param align (0:left 1:center 2:right)
           * @param size (px eg.:200)
           * **/
      @Override public void printQRCode(java.lang.String text, int align, int size, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(text);
          _data.writeInt(align);
          _data.writeInt(size);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printQRCode, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printQRCode(text, align, size, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      //(1,2,3,4,5,6)

      @Override public void setPrinterSpeed(int level, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(level);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_setPrinterSpeed, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().setPrinterSpeed(level, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void sendRAWData(byte[] data, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeByteArray(data);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_sendRAWData, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().sendRAWData(data, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      //0:(result > 65)  1:(result <=65)

      @Override public int printerTemperature(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        int _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printerTemperature, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().printerTemperature(callback);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public boolean printerPaper(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        boolean _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printerPaper, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().printerPaper(callback);
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public void setPrintEncode(java.lang.String encode, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(encode);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_setPrintEncode, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().setPrintEncode(encode, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void setDefaultPrintEncode(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_setDefaultPrintEncode, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().setDefaultPrintEncode(callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printBarCodeWithPos(java.lang.String content, int align, int width, int height, int contentPos, int format, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(content);
          _data.writeInt(align);
          _data.writeInt(width);
          _data.writeInt(height);
          _data.writeInt(contentPos);
          _data.writeInt(format);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printBarCodeWithPos, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printBarCodeWithPos(content, align, width, height, contentPos, format, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printQRCodeWithErr(java.lang.String text, int align, int size, int error, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(text);
          _data.writeInt(align);
          _data.writeInt(size);
          _data.writeInt(error);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printQRCodeWithErr, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printQRCodeWithErr(text, align, size, error, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void setAlignment(int align, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(align);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_setAlignment, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().setAlignment(align, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void setFontSize(int fontsize, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(fontsize);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_setFontSize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().setFontSize(fontsize, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printTextWithFont(java.lang.String text, int typeface, int fontsize, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(text);
          _data.writeInt(typeface);
          _data.writeInt(fontsize);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printTextWithFont, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printTextWithFont(text, typeface, fontsize, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void printColumnsString(java.lang.String[] text, int[] width, int[] align, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeStringArray(text);
          _data.writeIntArray(width);
          _data.writeIntArray(align);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_printColumnsString, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().printColumnsString(text, width, align, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void setPrinterStyle(java.lang.String key, int value, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(key);
          _data.writeInt(value);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_setPrinterStyle, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().setPrinterStyle(key, value, callback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public int updatePrinterState(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        int _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_updatePrinterState, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().updatePrinterState(callback);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      public static com.xcheng.printerservice.IPrinterService sDefaultImpl;
    }
    static final int TRANSACTION_upgradePrinter = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0);
    static final int TRANSACTION_getFirmwareVersion = (android.os.IBinder.FIRST_CALL_TRANSACTION + 1);
    static final int TRANSACTION_getBootloaderVersion = (android.os.IBinder.FIRST_CALL_TRANSACTION + 2);
    static final int TRANSACTION_printerInit = (android.os.IBinder.FIRST_CALL_TRANSACTION + 3);
    static final int TRANSACTION_printerReset = (android.os.IBinder.FIRST_CALL_TRANSACTION + 4);
    static final int TRANSACTION_printWrapPaper = (android.os.IBinder.FIRST_CALL_TRANSACTION + 5);
    static final int TRANSACTION_printText = (android.os.IBinder.FIRST_CALL_TRANSACTION + 6);
    static final int TRANSACTION_printTextWithAttributes = (android.os.IBinder.FIRST_CALL_TRANSACTION + 7);
    static final int TRANSACTION_printColumnsTextWithAttributes = (android.os.IBinder.FIRST_CALL_TRANSACTION + 8);
    static final int TRANSACTION_printBitmap = (android.os.IBinder.FIRST_CALL_TRANSACTION + 9);
    static final int TRANSACTION_printBitmapWithAttributes = (android.os.IBinder.FIRST_CALL_TRANSACTION + 10);
    static final int TRANSACTION_printBarCode = (android.os.IBinder.FIRST_CALL_TRANSACTION + 11);
    static final int TRANSACTION_printQRCode = (android.os.IBinder.FIRST_CALL_TRANSACTION + 12);
    static final int TRANSACTION_setPrinterSpeed = (android.os.IBinder.FIRST_CALL_TRANSACTION + 13);
    static final int TRANSACTION_sendRAWData = (android.os.IBinder.FIRST_CALL_TRANSACTION + 14);
    static final int TRANSACTION_printerTemperature = (android.os.IBinder.FIRST_CALL_TRANSACTION + 15);
    static final int TRANSACTION_printerPaper = (android.os.IBinder.FIRST_CALL_TRANSACTION + 16);
    static final int TRANSACTION_setPrintEncode = (android.os.IBinder.FIRST_CALL_TRANSACTION + 17);
    static final int TRANSACTION_setDefaultPrintEncode = (android.os.IBinder.FIRST_CALL_TRANSACTION + 18);
    static final int TRANSACTION_printBarCodeWithPos = (android.os.IBinder.FIRST_CALL_TRANSACTION + 19);
    static final int TRANSACTION_printQRCodeWithErr = (android.os.IBinder.FIRST_CALL_TRANSACTION + 20);
    static final int TRANSACTION_setAlignment = (android.os.IBinder.FIRST_CALL_TRANSACTION + 21);
    static final int TRANSACTION_setFontSize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 22);
    static final int TRANSACTION_printTextWithFont = (android.os.IBinder.FIRST_CALL_TRANSACTION + 23);
    static final int TRANSACTION_printColumnsString = (android.os.IBinder.FIRST_CALL_TRANSACTION + 24);
    static final int TRANSACTION_setPrinterStyle = (android.os.IBinder.FIRST_CALL_TRANSACTION + 25);
    static final int TRANSACTION_updatePrinterState = (android.os.IBinder.FIRST_CALL_TRANSACTION + 26);
    public static boolean setDefaultImpl(com.xcheng.printerservice.IPrinterService impl) {
      // Only one user of this interface can use this function
      // at a time. This is a heuristic to detect if two different
      // users in the same process use this function.
      if (Stub.Proxy.sDefaultImpl != null) {
        throw new IllegalStateException("setDefaultImpl() called twice");
      }
      if (impl != null) {
        Stub.Proxy.sDefaultImpl = impl;
        return true;
      }
      return false;
    }
    public static com.xcheng.printerservice.IPrinterService getDefaultImpl() {
      return Stub.Proxy.sDefaultImpl;
    }
  }
  /**
       * Demonstrates some basic types that you can use as parameters
       * and return values in AIDL.
       */
  public void upgradePrinter() throws android.os.RemoteException;
  public java.lang.String getFirmwareVersion() throws android.os.RemoteException;
  public java.lang.String getBootloaderVersion() throws android.os.RemoteException;
  public void printerInit(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  /**
       * Force reset the printer MCU.  This will execute below items:
       * (1)power off printer mcu
       * (2)power on printer mcu
       * (3)printer init & self-checking
       * (4)wait for print user task
       *
       * Normally,user is no need to call printerReset to reset printer MUC.
       *
       * The printer reset task always needs (1-5)s.And it's asynchronous with print task.It's run in child thread.
       *
       * If the printer has some errors or not responding,we can call printerReset to fix the problem.
       * printerReset just need to be executed only once.
       *
       */
  public void printerReset(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printWrapPaper(int n, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printText(java.lang.String text, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printTextWithAttributes(java.lang.String text, java.util.Map attributes, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printColumnsTextWithAttributes(java.lang.String[] text, java.util.List attributes, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printBitmap(android.graphics.Bitmap bitmap, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printBitmapWithAttributes(android.graphics.Bitmap bitmap, java.util.Map attributes, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printBarCode(java.lang.String content, int align, int width, int height, boolean showContent, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  /***
       * @param content (eg.www.baidu.com)
       * @param align (0:left 1:center 2:right)
       * @param size (px eg.:200)
       * **/
  public void printQRCode(java.lang.String text, int align, int size, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  //(1,2,3,4,5,6)

  public void setPrinterSpeed(int level, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void sendRAWData(byte[] data, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  //0:(result > 65)  1:(result <=65)

  public int printerTemperature(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public boolean printerPaper(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void setPrintEncode(java.lang.String encode, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void setDefaultPrintEncode(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printBarCodeWithPos(java.lang.String content, int align, int width, int height, int contentPos, int format, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printQRCodeWithErr(java.lang.String text, int align, int size, int error, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void setAlignment(int align, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void setFontSize(int fontsize, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printTextWithFont(java.lang.String text, int typeface, int fontsize, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void printColumnsString(java.lang.String[] text, int[] width, int[] align, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public void setPrinterStyle(java.lang.String key, int value, com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
  public int updatePrinterState(com.xcheng.printerservice.IPrinterCallback callback) throws android.os.RemoteException;
}
