/*
 * This file is auto-generated.  DO NOT MODIFY.
 */
package com.symbol.emdk.emdkservice;
/* The name of the remote service */
public interface IEMDKService extends android.os.IInterface
{
  /** Default implementation for IEMDKService. */
  public static class Default implements com.symbol.emdk.emdkservice.IEMDKService
  {
    @Override public com.symbol.emdk.emdkservice.SvcResult initEMDKManager() throws android.os.RemoteException
    {
      return null;
    }
    @Override public void passDeathListener(android.os.IBinder deathListener) throws android.os.RemoteException
    {
    }
    @Override public com.symbol.emdk.emdkservice.SvcResult deinitEMDKManager() throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.SvcError getLastError() throws android.os.RemoteException
    {
      return null;
    }
    /*=================================EMDK Feature Initialization & un-initialization =====================
    	These methods are added to support the getAsyncInstance which should internally wait for the EMDK Service
    	to initialize the required features and wait for readiness status. It will then send the status through the
    	callback.
    	*/
    @Override public com.symbol.emdk.emdkservice.SvcResult registerFeatureReadyStatus(int featureType, com.symbol.emdk.emdkservice.ISvcFeatureStatusCallback statusCallback) throws android.os.RemoteException
    {
      return null;
    }
    /*=================================profile management APIs==============================================
    	/*
    	This method initializes the internal XML Document object by parsing the content given.
    	profilesXML - The XML content which the Document object will be created
    	Return - String containing XML with status of execution
    	*/
    @Override public boolean initializeProfileService(java.lang.String profilesXML) throws android.os.RemoteException
    {
      return false;
    }
    /*
    	This method creates a profile given by the name.
    	profileName - Name of the profile which will be created (Need to be present in the XML provided for initializeProfileService).
    	Return - String containing XML with status of execution
    	*/
    @Override public java.lang.String setProfile(java.lang.String profileName, java.lang.String extraData) throws android.os.RemoteException
    {
      return null;
    }
    /*
    	This method checks the version compatibility a profile given by the name.
    	profileName - Name of the profile which will be created (Need to be present in the XML provided for initializeProfileService).
    	Return - SvcProfileResult which will contain the error code and profile string
    	*/
    @Override public com.symbol.emdk.emdkservice.SvcProfileResult processProfileCompatibility(java.lang.String profileName, java.lang.String extraData) throws android.os.RemoteException
    {
      return null;
    }
    /*
    	This method retrieves a profile given by the name.
    	profileName - Name of the profile which will be queried (Need to be present in the XML provided for initializeProfileService).
    	Return - String containing XML with status of execution and the requested profile
    	*/
    @Override public java.lang.String getProfile(java.lang.String profileName) throws android.os.RemoteException
    {
      return null;
    }
    /*
    	This method uninitializes the ProfileService.
    	*/
    @Override public void unInitializeProfileService() throws android.os.RemoteException
    {
    }
    /*=======================================version management API==========================================
    	/*
    	This method retrieves version information requested
    	versionRequestXML - XML containing the request information
    	Return - String containing XML with status of execution	and information requested
    	*/
    @Override public java.lang.String getVersion(java.lang.String versionRequestXML) throws android.os.RemoteException
    {
      return null;
    }
    /*=======================================SSCD management API========================================== */
    @Override public int ssdcIntialize() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int ssdcUnIntialize() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public java.util.List<com.symbol.emdk.emdkservice.simulscan.SvcSimulScanDeviceInfo> ssdcGetSupportedDevicesInfo() throws android.os.RemoteException
    {
      return null;
    }
    @Override public int ssdcGetDevice(int ssdcIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int ssdcRelease(int scnIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int ssdcEnableDevice(int ssdcIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public boolean ssdcIsEnabled(int ssdcIndex) throws android.os.RemoteException
    {
      return false;
    }
    @Override public int ssdcDisable(int ssdcIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int ssdcReadDevice(int ssdcIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int ssdcCancelRead(int ssdcIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public boolean ssdcIsReadPending(int ssdcIndex) throws android.os.RemoteException
    {
      return false;
    }
    @Override public com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig ssdcGetConfig(int ssdcIndex) throws android.os.RemoteException
    {
      return null;
    }
    @Override public int ssdcSetConfig(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig config) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int ssdcAddStatusListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanReaderStatusCallback statusCallback) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public void ssdcRemoveStatusListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanReaderStatusCallback statusCallback) throws android.os.RemoteException
    {
    }
    @Override public int ssdcAddDataListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanProcessedDataCallback dataCallback) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public void ssdcRemoveDataListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanProcessedDataCallback dataCallback) throws android.os.RemoteException
    {
    }
    @Override public com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate ssdcLoadTemplateUri(android.net.Uri path) throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate ssdcLoadTemplateXML(java.lang.String xmlString) throws android.os.RemoteException
    {
      return null;
    }
    @Override public int ssdcFetchTemplate(java.lang.String userName, java.lang.String password, int ssdcIndex) throws android.os.RemoteException
    {
      return 0;
    }
    /*=======================================Barcode scanner management API========================================== */
    @Override public int scnIntialize() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int scnUnIntialize() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public java.util.List<com.symbol.emdk.emdkservice.barcode.SvcScannerInfo> scnGetSupportedDevicesInfo() throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.barcode.SvcScannerInfo scnGetScannerInfo(int scnIndex) throws android.os.RemoteException
    {
      return null;
    }
    @Override public int scnGetDevice(int scnIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int scnRelease(int scnIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int scnEnable(int scnIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public boolean scnIsEnabled(int scnIndex) throws android.os.RemoteException
    {
      return false;
    }
    @Override public int scnDisable(int scnIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int scnRead(int scnIndex, int triggerType) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int scnCancelRead(int scnIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public void scnAddDataListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanDataCallback dataCallback) throws android.os.RemoteException
    {
    }
    @Override public void scnRemoveDataListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanDataCallback dataCallback) throws android.os.RemoteException
    {
    }
    @Override public void scnAddStatusListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanStatusCallback statusCallback) throws android.os.RemoteException
    {
    }
    @Override public void scnRemoveStatusListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanStatusCallback statusCallback) throws android.os.RemoteException
    {
    }
    @Override public void scnAddConnectionListener(com.symbol.emdk.emdkservice.barcode.ISvcScanConnectionCallback connenctionCallback) throws android.os.RemoteException
    {
    }
    @Override public void scnRemoveConectionListener(com.symbol.emdk.emdkservice.barcode.ISvcScanConnectionCallback connenctionCallback) throws android.os.RemoteException
    {
    }
    @Override public com.symbol.emdk.emdkservice.barcode.SvcScannerConfig scnGetConfig(int scnIndex) throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.barcode.SvcErrorCode scnSetConfig(int scnIndex, com.symbol.emdk.emdkservice.barcode.SvcScannerConfig config, android.os.Bundle paramBundle) throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.barcode.SvcScannerConfig scnGetDefaultConfig(int scnIndex) throws android.os.RemoteException
    {
      return null;
    }
    @Override public boolean isReadPending(int scnIndex) throws android.os.RemoteException
    {
      return false;
    }
    @Override public int scnSetParams(int scnIndex, android.os.Bundle paramBundle) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public android.os.Bundle scnGetParams(int scnIndex, android.os.Bundle paramBundle) throws android.os.RemoteException
    {
      return null;
    }
    /*=======================================ScanAndPair API========================================== *//*
    	 * Perform Bluetooth pairing.
    	 */
    @Override public int snpPair(java.lang.String deviceName, java.lang.String macAddress, java.lang.String pin) throws android.os.RemoteException
    {
      return 0;
    }
    /*
    	 * Perform Bluetooth unpairing.
    	 */
    @Override public int snpUnPair(java.lang.String deviceName, java.lang.String macAddress) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int snpIsBluetoothEnabled() throws android.os.RemoteException
    {
      return 0;
    }
    /*=======================================PersonalSopper management API========================================== */
    @Override public int PersonalShopperInitialize() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int PersonalShopperUnInitialize() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int crdEnable() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int crdDisable() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public boolean crdIsEnabled() throws android.os.RemoteException
    {
      return false;
    }
    @Override public int crdUnlock(int duration, com.symbol.emdk.emdkservice.cradle.SvcCradleLedFlashInfo ledFlashInfo) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int crdFlashLeds(int count, com.symbol.emdk.emdkservice.cradle.SvcCradleLedFlashInfo ledFlashInfo) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public com.symbol.emdk.emdkservice.cradle.SvcCradleInfo crdGetCradleInfo() throws android.os.RemoteException
    {
      return null;
    }
    @Override public boolean crdConfigGetFCState() throws android.os.RemoteException
    {
      return false;
    }
    @Override public int crdConfigSetFCState(boolean fcState) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int crdConfigSetLocation(com.symbol.emdk.emdkservice.cradle.SvcCradleLocation location) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public com.symbol.emdk.emdkservice.cradle.SvcCradleLocation crdConfigGetCradleLocation() throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticData diagGetDiagnosticData(int paramId, com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticConfig diagnosticconfig) throws android.os.RemoteException
    {
      return null;
    }
    /*=======================================Serial Comm API========================================== */
    @Override public int sciIntialize(boolean isLegacy) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int sciUnIntialize(boolean isLegacy) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int sciEnable(java.lang.String portName) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int sciDisable(java.lang.String portName) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int sciIsEnabled(java.lang.String portName) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse sciWrite(byte[] buffer, int bytesToWrite, java.lang.String portName) throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse sciRead(int readTimeOut, java.lang.String portName) throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.SvcResult sciSetConfig(com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig svcSerialCommConfig, java.lang.String portName) throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig sciGetConfig(java.lang.String portName) throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.SvcResult sciGetControlSignalState(int controlSignal, java.lang.String portName) throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.SvcResult sciSetControlSignalState(int controlSignal, boolean status, java.lang.String portName) throws android.os.RemoteException
    {
      return null;
    }
    @Override public com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo scigetPortInfo(java.lang.String portName) throws android.os.RemoteException
    {
      return null;
    }
    @Override public java.util.List<com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo> sciGetSupportedPorts() throws android.os.RemoteException
    {
      return null;
    }
    @Override public int sciGetPort(com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo svcSerialPortInfo) throws android.os.RemoteException
    {
      return 0;
    }
    /*=======================================Notification management API========================================== */
    @Override public int nfnInitialize() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int nfnUnInitialize() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public java.util.List<com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo> nfnGetSupportedDevicesInfo() throws android.os.RemoteException
    {
      return null;
    }
    @Override public int nfnGetDevice(int devIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo nfnGetDeviceInfo(int devIndex) throws android.os.RemoteException
    {
      return null;
    }
    @Override public int nfnEnable(int devIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int nfnNotifyGeneral(int[] notification, int deviceIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int nfnNotify(com.symbol.emdk.emdkservice.notification.SvcNotification notification) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int nfnCancelNotification(int devIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int nfnDisable(int devIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int nfnRelease(int devIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public boolean nfnIsConnected(int devIndex) throws android.os.RemoteException
    {
      return false;
    }
    @Override public boolean nfnIsEnabled(int devIndex) throws android.os.RemoteException
    {
      return false;
    }
    @Override public boolean sendAnalytics(android.content.Intent analyticsData) throws android.os.RemoteException
    {
      return false;
    }
    @Override public android.os.Bundle nfnGetParams(int devIndex, android.os.Bundle paramBundle) throws android.os.RemoteException
    {
      return null;
    }
    @Override public void nfnAddConnectionListener(com.symbol.emdk.emdkservice.notification.IAdminConnectionCallback notificationConnenctionCallback) throws android.os.RemoteException
    {
    }
    @Override public void nfnRemoveConectionListener(com.symbol.emdk.emdkservice.notification.IAdminConnectionCallback notificationConnenctionCallback) throws android.os.RemoteException
    {
    }
    @Override public int nfnSetParams(int devIndex, android.os.Bundle paramBundle) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int nfnStartBeaconing(int devIndex, android.os.Bundle paramBundle) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int nfnStopBeaconing(int devIndex, android.os.Bundle paramBundle) throws android.os.RemoteException
    {
      return 0;
    }
    /** SAM Communication Interfaces - START **/
    @Override public int samInitSAMManager() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public void samShutdownSAMManager() throws android.os.RemoteException
    {
    }
    @Override public int samConnect(int samIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public int samClose(int samIndex) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public com.symbol.emdk.emdkservice.sam.SvcAPDUResult samTransceive(int samIndex, com.symbol.emdk.emdkservice.sam.SvcAPDUData apdu) throws android.os.RemoteException
    {
      return null;
    }
    @Override public int samGetActiveSlot() throws android.os.RemoteException
    {
      return 0;
    }
    @Override public java.util.List<com.symbol.emdk.emdkservice.sam.SvcSAMInfo> samEnumerateSams() throws android.os.RemoteException
    {
      return null;
    }
    @Override public int setSmartCardPPS(byte fd, byte protocol) throws android.os.RemoteException
    {
      return 0;
    }
    @Override public byte[] getSmartCardATR() throws android.os.RemoteException
    {
      return null;
    }
    @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.symbol.emdk.emdkservice.IEMDKService
  {
    private static final java.lang.String DESCRIPTOR = "com.symbol.emdk.emdkservice.IEMDKService";
    /** Construct the stub at attach it to the interface. */
    public Stub()
    {
      this.attachInterface(this, DESCRIPTOR);
    }
    /**
     * Cast an IBinder object into an com.symbol.emdk.emdkservice.IEMDKService interface,
     * generating a proxy if needed.
     */
    public static com.symbol.emdk.emdkservice.IEMDKService asInterface(android.os.IBinder obj)
    {
      if ((obj==null)) {
        return null;
      }
      android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
      if (((iin!=null)&&(iin instanceof com.symbol.emdk.emdkservice.IEMDKService))) {
        return ((com.symbol.emdk.emdkservice.IEMDKService)iin);
      }
      return new com.symbol.emdk.emdkservice.IEMDKService.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_initEMDKManager:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.SvcResult _result = this.initEMDKManager();
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_passDeathListener:
        {
          data.enforceInterface(descriptor);
          android.os.IBinder _arg0;
          _arg0 = data.readStrongBinder();
          this.passDeathListener(_arg0);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_deinitEMDKManager:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.SvcResult _result = this.deinitEMDKManager();
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_getLastError:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.SvcError _result = this.getLastError();
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_registerFeatureReadyStatus:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.ISvcFeatureStatusCallback _arg1;
          _arg1 = com.symbol.emdk.emdkservice.ISvcFeatureStatusCallback.Stub.asInterface(data.readStrongBinder());
          com.symbol.emdk.emdkservice.SvcResult _result = this.registerFeatureReadyStatus(_arg0, _arg1);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_initializeProfileService:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          boolean _result = this.initializeProfileService(_arg0);
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_setProfile:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          java.lang.String _arg1;
          _arg1 = data.readString();
          java.lang.String _result = this.setProfile(_arg0, _arg1);
          reply.writeNoException();
          reply.writeString(_result);
          return true;
        }
        case TRANSACTION_processProfileCompatibility:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          java.lang.String _arg1;
          _arg1 = data.readString();
          com.symbol.emdk.emdkservice.SvcProfileResult _result = this.processProfileCompatibility(_arg0, _arg1);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_getProfile:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          java.lang.String _result = this.getProfile(_arg0);
          reply.writeNoException();
          reply.writeString(_result);
          return true;
        }
        case TRANSACTION_unInitializeProfileService:
        {
          data.enforceInterface(descriptor);
          this.unInitializeProfileService();
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_getVersion:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          java.lang.String _result = this.getVersion(_arg0);
          reply.writeNoException();
          reply.writeString(_result);
          return true;
        }
        case TRANSACTION_ssdcIntialize:
        {
          data.enforceInterface(descriptor);
          int _result = this.ssdcIntialize();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcUnIntialize:
        {
          data.enforceInterface(descriptor);
          int _result = this.ssdcUnIntialize();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcGetSupportedDevicesInfo:
        {
          data.enforceInterface(descriptor);
          java.util.List<com.symbol.emdk.emdkservice.simulscan.SvcSimulScanDeviceInfo> _result = this.ssdcGetSupportedDevicesInfo();
          reply.writeNoException();
          reply.writeTypedList(_result);
          return true;
        }
        case TRANSACTION_ssdcGetDevice:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.ssdcGetDevice(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcRelease:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.ssdcRelease(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcEnableDevice:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.ssdcEnableDevice(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcIsEnabled:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          boolean _result = this.ssdcIsEnabled(_arg0);
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_ssdcDisable:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.ssdcDisable(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcReadDevice:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.ssdcReadDevice(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcCancelRead:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.ssdcCancelRead(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcIsReadPending:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          boolean _result = this.ssdcIsReadPending(_arg0);
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_ssdcGetConfig:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig _result = this.ssdcGetConfig(_arg0);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_ssdcSetConfig:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig _arg1;
          if ((0!=data.readInt())) {
            _arg1 = com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          int _result = this.ssdcSetConfig(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcAddStatusListener:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanReaderStatusCallback _arg1;
          _arg1 = com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanReaderStatusCallback.Stub.asInterface(data.readStrongBinder());
          int _result = this.ssdcAddStatusListener(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcRemoveStatusListener:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanReaderStatusCallback _arg1;
          _arg1 = com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanReaderStatusCallback.Stub.asInterface(data.readStrongBinder());
          this.ssdcRemoveStatusListener(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_ssdcAddDataListener:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanProcessedDataCallback _arg1;
          _arg1 = com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanProcessedDataCallback.Stub.asInterface(data.readStrongBinder());
          int _result = this.ssdcAddDataListener(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_ssdcRemoveDataListener:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanProcessedDataCallback _arg1;
          _arg1 = com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanProcessedDataCallback.Stub.asInterface(data.readStrongBinder());
          this.ssdcRemoveDataListener(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_ssdcLoadTemplateUri:
        {
          data.enforceInterface(descriptor);
          android.net.Uri _arg0;
          if ((0!=data.readInt())) {
            _arg0 = android.net.Uri.CREATOR.createFromParcel(data);
          }
          else {
            _arg0 = null;
          }
          com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate _result = this.ssdcLoadTemplateUri(_arg0);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_ssdcLoadTemplateXML:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate _result = this.ssdcLoadTemplateXML(_arg0);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_ssdcFetchTemplate:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          java.lang.String _arg1;
          _arg1 = data.readString();
          int _arg2;
          _arg2 = data.readInt();
          int _result = this.ssdcFetchTemplate(_arg0, _arg1, _arg2);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_scnIntialize:
        {
          data.enforceInterface(descriptor);
          int _result = this.scnIntialize();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_scnUnIntialize:
        {
          data.enforceInterface(descriptor);
          int _result = this.scnUnIntialize();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_scnGetSupportedDevicesInfo:
        {
          data.enforceInterface(descriptor);
          java.util.List<com.symbol.emdk.emdkservice.barcode.SvcScannerInfo> _result = this.scnGetSupportedDevicesInfo();
          reply.writeNoException();
          reply.writeTypedList(_result);
          return true;
        }
        case TRANSACTION_scnGetScannerInfo:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.barcode.SvcScannerInfo _result = this.scnGetScannerInfo(_arg0);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_scnGetDevice:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.scnGetDevice(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_scnRelease:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.scnRelease(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_scnEnable:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.scnEnable(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_scnIsEnabled:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          boolean _result = this.scnIsEnabled(_arg0);
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_scnDisable:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.scnDisable(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_scnRead:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _arg1;
          _arg1 = data.readInt();
          int _result = this.scnRead(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_scnCancelRead:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.scnCancelRead(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_scnAddDataListener:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.barcode.ISvcScanDataCallback _arg1;
          _arg1 = com.symbol.emdk.emdkservice.barcode.ISvcScanDataCallback.Stub.asInterface(data.readStrongBinder());
          this.scnAddDataListener(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_scnRemoveDataListener:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.barcode.ISvcScanDataCallback _arg1;
          _arg1 = com.symbol.emdk.emdkservice.barcode.ISvcScanDataCallback.Stub.asInterface(data.readStrongBinder());
          this.scnRemoveDataListener(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_scnAddStatusListener:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.barcode.ISvcScanStatusCallback _arg1;
          _arg1 = com.symbol.emdk.emdkservice.barcode.ISvcScanStatusCallback.Stub.asInterface(data.readStrongBinder());
          this.scnAddStatusListener(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_scnRemoveStatusListener:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.barcode.ISvcScanStatusCallback _arg1;
          _arg1 = com.symbol.emdk.emdkservice.barcode.ISvcScanStatusCallback.Stub.asInterface(data.readStrongBinder());
          this.scnRemoveStatusListener(_arg0, _arg1);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_scnAddConnectionListener:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.barcode.ISvcScanConnectionCallback _arg0;
          _arg0 = com.symbol.emdk.emdkservice.barcode.ISvcScanConnectionCallback.Stub.asInterface(data.readStrongBinder());
          this.scnAddConnectionListener(_arg0);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_scnRemoveConectionListener:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.barcode.ISvcScanConnectionCallback _arg0;
          _arg0 = com.symbol.emdk.emdkservice.barcode.ISvcScanConnectionCallback.Stub.asInterface(data.readStrongBinder());
          this.scnRemoveConectionListener(_arg0);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_scnGetConfig:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.barcode.SvcScannerConfig _result = this.scnGetConfig(_arg0);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_scnSetConfig:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.barcode.SvcScannerConfig _arg1;
          if ((0!=data.readInt())) {
            _arg1 = com.symbol.emdk.emdkservice.barcode.SvcScannerConfig.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          android.os.Bundle _arg2;
          if ((0!=data.readInt())) {
            _arg2 = android.os.Bundle.CREATOR.createFromParcel(data);
          }
          else {
            _arg2 = null;
          }
          com.symbol.emdk.emdkservice.barcode.SvcErrorCode _result = this.scnSetConfig(_arg0, _arg1, _arg2);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_scnGetDefaultConfig:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.barcode.SvcScannerConfig _result = this.scnGetDefaultConfig(_arg0);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_isReadPending:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          boolean _result = this.isReadPending(_arg0);
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_scnSetParams:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          android.os.Bundle _arg1;
          if ((0!=data.readInt())) {
            _arg1 = android.os.Bundle.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          int _result = this.scnSetParams(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_scnGetParams:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          android.os.Bundle _arg1;
          if ((0!=data.readInt())) {
            _arg1 = android.os.Bundle.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          android.os.Bundle _result = this.scnGetParams(_arg0, _arg1);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_snpPair:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          java.lang.String _arg1;
          _arg1 = data.readString();
          java.lang.String _arg2;
          _arg2 = data.readString();
          int _result = this.snpPair(_arg0, _arg1, _arg2);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_snpUnPair:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          java.lang.String _arg1;
          _arg1 = data.readString();
          int _result = this.snpUnPair(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_snpIsBluetoothEnabled:
        {
          data.enforceInterface(descriptor);
          int _result = this.snpIsBluetoothEnabled();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_PersonalShopperInitialize:
        {
          data.enforceInterface(descriptor);
          int _result = this.PersonalShopperInitialize();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_PersonalShopperUnInitialize:
        {
          data.enforceInterface(descriptor);
          int _result = this.PersonalShopperUnInitialize();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_crdEnable:
        {
          data.enforceInterface(descriptor);
          int _result = this.crdEnable();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_crdDisable:
        {
          data.enforceInterface(descriptor);
          int _result = this.crdDisable();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_crdIsEnabled:
        {
          data.enforceInterface(descriptor);
          boolean _result = this.crdIsEnabled();
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_crdUnlock:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.cradle.SvcCradleLedFlashInfo _arg1;
          if ((0!=data.readInt())) {
            _arg1 = com.symbol.emdk.emdkservice.cradle.SvcCradleLedFlashInfo.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          int _result = this.crdUnlock(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_crdFlashLeds:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.cradle.SvcCradleLedFlashInfo _arg1;
          if ((0!=data.readInt())) {
            _arg1 = com.symbol.emdk.emdkservice.cradle.SvcCradleLedFlashInfo.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          int _result = this.crdFlashLeds(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_crdGetCradleInfo:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.cradle.SvcCradleInfo _result = this.crdGetCradleInfo();
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_crdConfigGetFCState:
        {
          data.enforceInterface(descriptor);
          boolean _result = this.crdConfigGetFCState();
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_crdConfigSetFCState:
        {
          data.enforceInterface(descriptor);
          boolean _arg0;
          _arg0 = (0!=data.readInt());
          int _result = this.crdConfigSetFCState(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_crdConfigSetLocation:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.cradle.SvcCradleLocation _arg0;
          if ((0!=data.readInt())) {
            _arg0 = com.symbol.emdk.emdkservice.cradle.SvcCradleLocation.CREATOR.createFromParcel(data);
          }
          else {
            _arg0 = null;
          }
          int _result = this.crdConfigSetLocation(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_crdConfigGetCradleLocation:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.cradle.SvcCradleLocation _result = this.crdConfigGetCradleLocation();
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_diagGetDiagnosticData:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticConfig _arg1;
          if ((0!=data.readInt())) {
            _arg1 = com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticConfig.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticData _result = this.diagGetDiagnosticData(_arg0, _arg1);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_sciIntialize:
        {
          data.enforceInterface(descriptor);
          boolean _arg0;
          _arg0 = (0!=data.readInt());
          int _result = this.sciIntialize(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_sciUnIntialize:
        {
          data.enforceInterface(descriptor);
          boolean _arg0;
          _arg0 = (0!=data.readInt());
          int _result = this.sciUnIntialize(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_sciEnable:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          int _result = this.sciEnable(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_sciDisable:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          int _result = this.sciDisable(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_sciIsEnabled:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          int _result = this.sciIsEnabled(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_sciWrite:
        {
          data.enforceInterface(descriptor);
          byte[] _arg0;
          _arg0 = data.createByteArray();
          int _arg1;
          _arg1 = data.readInt();
          java.lang.String _arg2;
          _arg2 = data.readString();
          com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse _result = this.sciWrite(_arg0, _arg1, _arg2);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_sciRead:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          java.lang.String _arg1;
          _arg1 = data.readString();
          com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse _result = this.sciRead(_arg0, _arg1);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_sciSetConfig:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig _arg0;
          if ((0!=data.readInt())) {
            _arg0 = com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig.CREATOR.createFromParcel(data);
          }
          else {
            _arg0 = null;
          }
          java.lang.String _arg1;
          _arg1 = data.readString();
          com.symbol.emdk.emdkservice.SvcResult _result = this.sciSetConfig(_arg0, _arg1);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_sciGetConfig:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig _result = this.sciGetConfig(_arg0);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_sciGetControlSignalState:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          java.lang.String _arg1;
          _arg1 = data.readString();
          com.symbol.emdk.emdkservice.SvcResult _result = this.sciGetControlSignalState(_arg0, _arg1);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_sciSetControlSignalState:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          boolean _arg1;
          _arg1 = (0!=data.readInt());
          java.lang.String _arg2;
          _arg2 = data.readString();
          com.symbol.emdk.emdkservice.SvcResult _result = this.sciSetControlSignalState(_arg0, _arg1, _arg2);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_scigetPortInfo:
        {
          data.enforceInterface(descriptor);
          java.lang.String _arg0;
          _arg0 = data.readString();
          com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo _result = this.scigetPortInfo(_arg0);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_sciGetSupportedPorts:
        {
          data.enforceInterface(descriptor);
          java.util.List<com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo> _result = this.sciGetSupportedPorts();
          reply.writeNoException();
          reply.writeTypedList(_result);
          return true;
        }
        case TRANSACTION_sciGetPort:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo _arg0;
          if ((0!=data.readInt())) {
            _arg0 = com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo.CREATOR.createFromParcel(data);
          }
          else {
            _arg0 = null;
          }
          int _result = this.sciGetPort(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnInitialize:
        {
          data.enforceInterface(descriptor);
          int _result = this.nfnInitialize();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnUnInitialize:
        {
          data.enforceInterface(descriptor);
          int _result = this.nfnUnInitialize();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnGetSupportedDevicesInfo:
        {
          data.enforceInterface(descriptor);
          java.util.List<com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo> _result = this.nfnGetSupportedDevicesInfo();
          reply.writeNoException();
          reply.writeTypedList(_result);
          return true;
        }
        case TRANSACTION_nfnGetDevice:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.nfnGetDevice(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnGetDeviceInfo:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo _result = this.nfnGetDeviceInfo(_arg0);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_nfnEnable:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.nfnEnable(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnNotifyGeneral:
        {
          data.enforceInterface(descriptor);
          int[] _arg0;
          _arg0 = data.createIntArray();
          int _arg1;
          _arg1 = data.readInt();
          int _result = this.nfnNotifyGeneral(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnNotify:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.notification.SvcNotification _arg0;
          if ((0!=data.readInt())) {
            _arg0 = com.symbol.emdk.emdkservice.notification.SvcNotification.CREATOR.createFromParcel(data);
          }
          else {
            _arg0 = null;
          }
          int _result = this.nfnNotify(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnCancelNotification:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.nfnCancelNotification(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnDisable:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.nfnDisable(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnRelease:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.nfnRelease(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnIsConnected:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          boolean _result = this.nfnIsConnected(_arg0);
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_nfnIsEnabled:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          boolean _result = this.nfnIsEnabled(_arg0);
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_sendAnalytics:
        {
          data.enforceInterface(descriptor);
          android.content.Intent _arg0;
          if ((0!=data.readInt())) {
            _arg0 = android.content.Intent.CREATOR.createFromParcel(data);
          }
          else {
            _arg0 = null;
          }
          boolean _result = this.sendAnalytics(_arg0);
          reply.writeNoException();
          reply.writeInt(((_result)?(1):(0)));
          return true;
        }
        case TRANSACTION_nfnGetParams:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          android.os.Bundle _arg1;
          if ((0!=data.readInt())) {
            _arg1 = android.os.Bundle.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          android.os.Bundle _result = this.nfnGetParams(_arg0, _arg1);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_nfnAddConnectionListener:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.notification.IAdminConnectionCallback _arg0;
          _arg0 = com.symbol.emdk.emdkservice.notification.IAdminConnectionCallback.Stub.asInterface(data.readStrongBinder());
          this.nfnAddConnectionListener(_arg0);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_nfnRemoveConectionListener:
        {
          data.enforceInterface(descriptor);
          com.symbol.emdk.emdkservice.notification.IAdminConnectionCallback _arg0;
          _arg0 = com.symbol.emdk.emdkservice.notification.IAdminConnectionCallback.Stub.asInterface(data.readStrongBinder());
          this.nfnRemoveConectionListener(_arg0);
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_nfnSetParams:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          android.os.Bundle _arg1;
          if ((0!=data.readInt())) {
            _arg1 = android.os.Bundle.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          int _result = this.nfnSetParams(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnStartBeaconing:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          android.os.Bundle _arg1;
          if ((0!=data.readInt())) {
            _arg1 = android.os.Bundle.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          int _result = this.nfnStartBeaconing(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_nfnStopBeaconing:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          android.os.Bundle _arg1;
          if ((0!=data.readInt())) {
            _arg1 = android.os.Bundle.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          int _result = this.nfnStopBeaconing(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_samInitSAMManager:
        {
          data.enforceInterface(descriptor);
          int _result = this.samInitSAMManager();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_samShutdownSAMManager:
        {
          data.enforceInterface(descriptor);
          this.samShutdownSAMManager();
          reply.writeNoException();
          return true;
        }
        case TRANSACTION_samConnect:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.samConnect(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_samClose:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          int _result = this.samClose(_arg0);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_samTransceive:
        {
          data.enforceInterface(descriptor);
          int _arg0;
          _arg0 = data.readInt();
          com.symbol.emdk.emdkservice.sam.SvcAPDUData _arg1;
          if ((0!=data.readInt())) {
            _arg1 = com.symbol.emdk.emdkservice.sam.SvcAPDUData.CREATOR.createFromParcel(data);
          }
          else {
            _arg1 = null;
          }
          com.symbol.emdk.emdkservice.sam.SvcAPDUResult _result = this.samTransceive(_arg0, _arg1);
          reply.writeNoException();
          if ((_result!=null)) {
            reply.writeInt(1);
            _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
          }
          else {
            reply.writeInt(0);
          }
          return true;
        }
        case TRANSACTION_samGetActiveSlot:
        {
          data.enforceInterface(descriptor);
          int _result = this.samGetActiveSlot();
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_samEnumerateSams:
        {
          data.enforceInterface(descriptor);
          java.util.List<com.symbol.emdk.emdkservice.sam.SvcSAMInfo> _result = this.samEnumerateSams();
          reply.writeNoException();
          reply.writeTypedList(_result);
          return true;
        }
        case TRANSACTION_setSmartCardPPS:
        {
          data.enforceInterface(descriptor);
          byte _arg0;
          _arg0 = data.readByte();
          byte _arg1;
          _arg1 = data.readByte();
          int _result = this.setSmartCardPPS(_arg0, _arg1);
          reply.writeNoException();
          reply.writeInt(_result);
          return true;
        }
        case TRANSACTION_getSmartCardATR:
        {
          data.enforceInterface(descriptor);
          byte[] _result = this.getSmartCardATR();
          reply.writeNoException();
          reply.writeByteArray(_result);
          return true;
        }
        default:
        {
          return super.onTransact(code, data, reply, flags);
        }
      }
    }
    private static class Proxy implements com.symbol.emdk.emdkservice.IEMDKService
    {
      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;
      }
      @Override public com.symbol.emdk.emdkservice.SvcResult initEMDKManager() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.SvcResult _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_initEMDKManager, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().initEMDKManager();
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.SvcResult.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public void passDeathListener(android.os.IBinder deathListener) 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(deathListener);
          boolean _status = mRemote.transact(Stub.TRANSACTION_passDeathListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().passDeathListener(deathListener);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public com.symbol.emdk.emdkservice.SvcResult deinitEMDKManager() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.SvcResult _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_deinitEMDKManager, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().deinitEMDKManager();
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.SvcResult.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.SvcError getLastError() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.SvcError _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_getLastError, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().getLastError();
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.SvcError.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*=================================EMDK Feature Initialization & un-initialization =====================
      	These methods are added to support the getAsyncInstance which should internally wait for the EMDK Service
      	to initialize the required features and wait for readiness status. It will then send the status through the
      	callback.
      	*/
      @Override public com.symbol.emdk.emdkservice.SvcResult registerFeatureReadyStatus(int featureType, com.symbol.emdk.emdkservice.ISvcFeatureStatusCallback statusCallback) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.SvcResult _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(featureType);
          _data.writeStrongBinder((((statusCallback!=null))?(statusCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_registerFeatureReadyStatus, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().registerFeatureReadyStatus(featureType, statusCallback);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.SvcResult.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*=================================profile management APIs==============================================
      	/*
      	This method initializes the internal XML Document object by parsing the content given.
      	profilesXML - The XML content which the Document object will be created
      	Return - String containing XML with status of execution
      	*/
      @Override public boolean initializeProfileService(java.lang.String profilesXML) 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.writeString(profilesXML);
          boolean _status = mRemote.transact(Stub.TRANSACTION_initializeProfileService, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().initializeProfileService(profilesXML);
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*
      	This method creates a profile given by the name.
      	profileName - Name of the profile which will be created (Need to be present in the XML provided for initializeProfileService).
      	Return - String containing XML with status of execution
      	*/
      @Override public java.lang.String setProfile(java.lang.String profileName, java.lang.String extraData) 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);
          _data.writeString(profileName);
          _data.writeString(extraData);
          boolean _status = mRemote.transact(Stub.TRANSACTION_setProfile, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().setProfile(profileName, extraData);
          }
          _reply.readException();
          _result = _reply.readString();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*
      	This method checks the version compatibility a profile given by the name.
      	profileName - Name of the profile which will be created (Need to be present in the XML provided for initializeProfileService).
      	Return - SvcProfileResult which will contain the error code and profile string
      	*/
      @Override public com.symbol.emdk.emdkservice.SvcProfileResult processProfileCompatibility(java.lang.String profileName, java.lang.String extraData) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.SvcProfileResult _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(profileName);
          _data.writeString(extraData);
          boolean _status = mRemote.transact(Stub.TRANSACTION_processProfileCompatibility, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().processProfileCompatibility(profileName, extraData);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.SvcProfileResult.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*
      	This method retrieves a profile given by the name.
      	profileName - Name of the profile which will be queried (Need to be present in the XML provided for initializeProfileService).
      	Return - String containing XML with status of execution and the requested profile
      	*/
      @Override public java.lang.String getProfile(java.lang.String profileName) 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);
          _data.writeString(profileName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_getProfile, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().getProfile(profileName);
          }
          _reply.readException();
          _result = _reply.readString();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*
      	This method uninitializes the ProfileService.
      	*/
      @Override public void unInitializeProfileService() 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_unInitializeProfileService, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().unInitializeProfileService();
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      /*=======================================version management API==========================================
      	/*
      	This method retrieves version information requested
      	versionRequestXML - XML containing the request information
      	Return - String containing XML with status of execution	and information requested
      	*/
      @Override public java.lang.String getVersion(java.lang.String versionRequestXML) 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);
          _data.writeString(versionRequestXML);
          boolean _status = mRemote.transact(Stub.TRANSACTION_getVersion, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().getVersion(versionRequestXML);
          }
          _reply.readException();
          _result = _reply.readString();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*=======================================SSCD management API========================================== */
      @Override public int ssdcIntialize() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcIntialize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcIntialize();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int ssdcUnIntialize() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcUnIntialize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcUnIntialize();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public java.util.List<com.symbol.emdk.emdkservice.simulscan.SvcSimulScanDeviceInfo> ssdcGetSupportedDevicesInfo() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        java.util.List<com.symbol.emdk.emdkservice.simulscan.SvcSimulScanDeviceInfo> _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcGetSupportedDevicesInfo, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcGetSupportedDevicesInfo();
          }
          _reply.readException();
          _result = _reply.createTypedArrayList(com.symbol.emdk.emdkservice.simulscan.SvcSimulScanDeviceInfo.CREATOR);
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int ssdcGetDevice(int ssdcIndex) 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.writeInt(ssdcIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcGetDevice, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcGetDevice(ssdcIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int ssdcRelease(int scnIndex) 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.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcRelease, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcRelease(scnIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int ssdcEnableDevice(int ssdcIndex) 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.writeInt(ssdcIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcEnableDevice, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcEnableDevice(ssdcIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public boolean ssdcIsEnabled(int ssdcIndex) 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.writeInt(ssdcIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcIsEnabled, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcIsEnabled(ssdcIndex);
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int ssdcDisable(int ssdcIndex) 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.writeInt(ssdcIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcDisable, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcDisable(ssdcIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int ssdcReadDevice(int ssdcIndex) 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.writeInt(ssdcIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcReadDevice, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcReadDevice(ssdcIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int ssdcCancelRead(int ssdcIndex) 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.writeInt(ssdcIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcCancelRead, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcCancelRead(ssdcIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public boolean ssdcIsReadPending(int ssdcIndex) 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.writeInt(ssdcIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcIsReadPending, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcIsReadPending(ssdcIndex);
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig ssdcGetConfig(int ssdcIndex) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(ssdcIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcGetConfig, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcGetConfig(ssdcIndex);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int ssdcSetConfig(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig config) 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.writeInt(ssdcIndex);
          if ((config!=null)) {
            _data.writeInt(1);
            config.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcSetConfig, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcSetConfig(ssdcIndex, config);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int ssdcAddStatusListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanReaderStatusCallback statusCallback) 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.writeInt(ssdcIndex);
          _data.writeStrongBinder((((statusCallback!=null))?(statusCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcAddStatusListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcAddStatusListener(ssdcIndex, statusCallback);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public void ssdcRemoveStatusListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanReaderStatusCallback statusCallback) 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(ssdcIndex);
          _data.writeStrongBinder((((statusCallback!=null))?(statusCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcRemoveStatusListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().ssdcRemoveStatusListener(ssdcIndex, statusCallback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public int ssdcAddDataListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanProcessedDataCallback dataCallback) 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.writeInt(ssdcIndex);
          _data.writeStrongBinder((((dataCallback!=null))?(dataCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcAddDataListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcAddDataListener(ssdcIndex, dataCallback);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public void ssdcRemoveDataListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanProcessedDataCallback dataCallback) 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(ssdcIndex);
          _data.writeStrongBinder((((dataCallback!=null))?(dataCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcRemoveDataListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().ssdcRemoveDataListener(ssdcIndex, dataCallback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate ssdcLoadTemplateUri(android.net.Uri path) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          if ((path!=null)) {
            _data.writeInt(1);
            path.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcLoadTemplateUri, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcLoadTemplateUri(path);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate ssdcLoadTemplateXML(java.lang.String xmlString) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(xmlString);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcLoadTemplateXML, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcLoadTemplateXML(xmlString);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int ssdcFetchTemplate(java.lang.String userName, java.lang.String password, int ssdcIndex) 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.writeString(userName);
          _data.writeString(password);
          _data.writeInt(ssdcIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_ssdcFetchTemplate, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().ssdcFetchTemplate(userName, password, ssdcIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*=======================================Barcode scanner management API========================================== */
      @Override public int scnIntialize() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnIntialize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnIntialize();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int scnUnIntialize() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnUnIntialize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnUnIntialize();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public java.util.List<com.symbol.emdk.emdkservice.barcode.SvcScannerInfo> scnGetSupportedDevicesInfo() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        java.util.List<com.symbol.emdk.emdkservice.barcode.SvcScannerInfo> _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnGetSupportedDevicesInfo, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnGetSupportedDevicesInfo();
          }
          _reply.readException();
          _result = _reply.createTypedArrayList(com.symbol.emdk.emdkservice.barcode.SvcScannerInfo.CREATOR);
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.barcode.SvcScannerInfo scnGetScannerInfo(int scnIndex) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.barcode.SvcScannerInfo _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnGetScannerInfo, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnGetScannerInfo(scnIndex);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.barcode.SvcScannerInfo.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int scnGetDevice(int scnIndex) 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.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnGetDevice, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnGetDevice(scnIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int scnRelease(int scnIndex) 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.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnRelease, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnRelease(scnIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int scnEnable(int scnIndex) 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.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnEnable, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnEnable(scnIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public boolean scnIsEnabled(int scnIndex) 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.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnIsEnabled, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnIsEnabled(scnIndex);
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int scnDisable(int scnIndex) 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.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnDisable, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnDisable(scnIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int scnRead(int scnIndex, int triggerType) 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.writeInt(scnIndex);
          _data.writeInt(triggerType);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnRead, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnRead(scnIndex, triggerType);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int scnCancelRead(int scnIndex) 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.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnCancelRead, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnCancelRead(scnIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public void scnAddDataListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanDataCallback dataCallback) 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(scnIndex);
          _data.writeStrongBinder((((dataCallback!=null))?(dataCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnAddDataListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().scnAddDataListener(scnIndex, dataCallback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void scnRemoveDataListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanDataCallback dataCallback) 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(scnIndex);
          _data.writeStrongBinder((((dataCallback!=null))?(dataCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnRemoveDataListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().scnRemoveDataListener(scnIndex, dataCallback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void scnAddStatusListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanStatusCallback statusCallback) 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(scnIndex);
          _data.writeStrongBinder((((statusCallback!=null))?(statusCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnAddStatusListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().scnAddStatusListener(scnIndex, statusCallback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void scnRemoveStatusListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanStatusCallback statusCallback) 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(scnIndex);
          _data.writeStrongBinder((((statusCallback!=null))?(statusCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnRemoveStatusListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().scnRemoveStatusListener(scnIndex, statusCallback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void scnAddConnectionListener(com.symbol.emdk.emdkservice.barcode.ISvcScanConnectionCallback connenctionCallback) 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((((connenctionCallback!=null))?(connenctionCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnAddConnectionListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().scnAddConnectionListener(connenctionCallback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void scnRemoveConectionListener(com.symbol.emdk.emdkservice.barcode.ISvcScanConnectionCallback connenctionCallback) 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((((connenctionCallback!=null))?(connenctionCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnRemoveConectionListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().scnRemoveConectionListener(connenctionCallback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public com.symbol.emdk.emdkservice.barcode.SvcScannerConfig scnGetConfig(int scnIndex) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.barcode.SvcScannerConfig _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnGetConfig, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnGetConfig(scnIndex);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.barcode.SvcScannerConfig.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.barcode.SvcErrorCode scnSetConfig(int scnIndex, com.symbol.emdk.emdkservice.barcode.SvcScannerConfig config, android.os.Bundle paramBundle) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.barcode.SvcErrorCode _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(scnIndex);
          if ((config!=null)) {
            _data.writeInt(1);
            config.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          if ((paramBundle!=null)) {
            _data.writeInt(1);
            paramBundle.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnSetConfig, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnSetConfig(scnIndex, config, paramBundle);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.barcode.SvcErrorCode.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.barcode.SvcScannerConfig scnGetDefaultConfig(int scnIndex) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.barcode.SvcScannerConfig _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnGetDefaultConfig, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnGetDefaultConfig(scnIndex);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.barcode.SvcScannerConfig.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public boolean isReadPending(int scnIndex) 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.writeInt(scnIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_isReadPending, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().isReadPending(scnIndex);
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int scnSetParams(int scnIndex, android.os.Bundle paramBundle) 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.writeInt(scnIndex);
          if ((paramBundle!=null)) {
            _data.writeInt(1);
            paramBundle.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnSetParams, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnSetParams(scnIndex, paramBundle);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public android.os.Bundle scnGetParams(int scnIndex, android.os.Bundle paramBundle) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        android.os.Bundle _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(scnIndex);
          if ((paramBundle!=null)) {
            _data.writeInt(1);
            paramBundle.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_scnGetParams, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scnGetParams(scnIndex, paramBundle);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = android.os.Bundle.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*=======================================ScanAndPair API========================================== *//*
      	 * Perform Bluetooth pairing.
      	 */
      @Override public int snpPair(java.lang.String deviceName, java.lang.String macAddress, java.lang.String pin) 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.writeString(deviceName);
          _data.writeString(macAddress);
          _data.writeString(pin);
          boolean _status = mRemote.transact(Stub.TRANSACTION_snpPair, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().snpPair(deviceName, macAddress, pin);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*
      	 * Perform Bluetooth unpairing.
      	 */
      @Override public int snpUnPair(java.lang.String deviceName, java.lang.String macAddress) 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.writeString(deviceName);
          _data.writeString(macAddress);
          boolean _status = mRemote.transact(Stub.TRANSACTION_snpUnPair, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().snpUnPair(deviceName, macAddress);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int snpIsBluetoothEnabled() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_snpIsBluetoothEnabled, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().snpIsBluetoothEnabled();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*=======================================PersonalSopper management API========================================== */
      @Override public int PersonalShopperInitialize() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_PersonalShopperInitialize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().PersonalShopperInitialize();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int PersonalShopperUnInitialize() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_PersonalShopperUnInitialize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().PersonalShopperUnInitialize();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int crdEnable() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_crdEnable, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().crdEnable();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int crdDisable() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_crdDisable, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().crdDisable();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public boolean crdIsEnabled() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_crdIsEnabled, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().crdIsEnabled();
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int crdUnlock(int duration, com.symbol.emdk.emdkservice.cradle.SvcCradleLedFlashInfo ledFlashInfo) 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.writeInt(duration);
          if ((ledFlashInfo!=null)) {
            _data.writeInt(1);
            ledFlashInfo.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_crdUnlock, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().crdUnlock(duration, ledFlashInfo);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int crdFlashLeds(int count, com.symbol.emdk.emdkservice.cradle.SvcCradleLedFlashInfo ledFlashInfo) 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.writeInt(count);
          if ((ledFlashInfo!=null)) {
            _data.writeInt(1);
            ledFlashInfo.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_crdFlashLeds, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().crdFlashLeds(count, ledFlashInfo);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.cradle.SvcCradleInfo crdGetCradleInfo() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.cradle.SvcCradleInfo _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_crdGetCradleInfo, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().crdGetCradleInfo();
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.cradle.SvcCradleInfo.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public boolean crdConfigGetFCState() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_crdConfigGetFCState, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().crdConfigGetFCState();
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int crdConfigSetFCState(boolean fcState) 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.writeInt(((fcState)?(1):(0)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_crdConfigSetFCState, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().crdConfigSetFCState(fcState);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int crdConfigSetLocation(com.symbol.emdk.emdkservice.cradle.SvcCradleLocation location) 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);
          if ((location!=null)) {
            _data.writeInt(1);
            location.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_crdConfigSetLocation, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().crdConfigSetLocation(location);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.cradle.SvcCradleLocation crdConfigGetCradleLocation() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.cradle.SvcCradleLocation _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_crdConfigGetCradleLocation, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().crdConfigGetCradleLocation();
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.cradle.SvcCradleLocation.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticData diagGetDiagnosticData(int paramId, com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticConfig diagnosticconfig) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticData _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(paramId);
          if ((diagnosticconfig!=null)) {
            _data.writeInt(1);
            diagnosticconfig.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_diagGetDiagnosticData, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().diagGetDiagnosticData(paramId, diagnosticconfig);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticData.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*=======================================Serial Comm API========================================== */
      @Override public int sciIntialize(boolean isLegacy) 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.writeInt(((isLegacy)?(1):(0)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciIntialize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciIntialize(isLegacy);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int sciUnIntialize(boolean isLegacy) 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.writeInt(((isLegacy)?(1):(0)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciUnIntialize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciUnIntialize(isLegacy);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int sciEnable(java.lang.String portName) 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.writeString(portName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciEnable, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciEnable(portName);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int sciDisable(java.lang.String portName) 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.writeString(portName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciDisable, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciDisable(portName);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int sciIsEnabled(java.lang.String portName) 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.writeString(portName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciIsEnabled, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciIsEnabled(portName);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse sciWrite(byte[] buffer, int bytesToWrite, java.lang.String portName) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeByteArray(buffer);
          _data.writeInt(bytesToWrite);
          _data.writeString(portName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciWrite, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciWrite(buffer, bytesToWrite, portName);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse sciRead(int readTimeOut, java.lang.String portName) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(readTimeOut);
          _data.writeString(portName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciRead, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciRead(readTimeOut, portName);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.SvcResult sciSetConfig(com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig svcSerialCommConfig, java.lang.String portName) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.SvcResult _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          if ((svcSerialCommConfig!=null)) {
            _data.writeInt(1);
            svcSerialCommConfig.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          _data.writeString(portName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciSetConfig, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciSetConfig(svcSerialCommConfig, portName);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.SvcResult.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig sciGetConfig(java.lang.String portName) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(portName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciGetConfig, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciGetConfig(portName);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.SvcResult sciGetControlSignalState(int controlSignal, java.lang.String portName) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.SvcResult _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(controlSignal);
          _data.writeString(portName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciGetControlSignalState, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciGetControlSignalState(controlSignal, portName);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.SvcResult.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.SvcResult sciSetControlSignalState(int controlSignal, boolean status, java.lang.String portName) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.SvcResult _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(controlSignal);
          _data.writeInt(((status)?(1):(0)));
          _data.writeString(portName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciSetControlSignalState, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciSetControlSignalState(controlSignal, status, portName);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.SvcResult.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo scigetPortInfo(java.lang.String portName) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeString(portName);
          boolean _status = mRemote.transact(Stub.TRANSACTION_scigetPortInfo, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().scigetPortInfo(portName);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public java.util.List<com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo> sciGetSupportedPorts() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        java.util.List<com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo> _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciGetSupportedPorts, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciGetSupportedPorts();
          }
          _reply.readException();
          _result = _reply.createTypedArrayList(com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo.CREATOR);
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int sciGetPort(com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo svcSerialPortInfo) 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);
          if ((svcSerialPortInfo!=null)) {
            _data.writeInt(1);
            svcSerialPortInfo.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_sciGetPort, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sciGetPort(svcSerialPortInfo);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /*=======================================Notification management API========================================== */
      @Override public int nfnInitialize() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnInitialize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnInitialize();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int nfnUnInitialize() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnUnInitialize, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnUnInitialize();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public java.util.List<com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo> nfnGetSupportedDevicesInfo() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        java.util.List<com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo> _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnGetSupportedDevicesInfo, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnGetSupportedDevicesInfo();
          }
          _reply.readException();
          _result = _reply.createTypedArrayList(com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo.CREATOR);
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int nfnGetDevice(int devIndex) 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.writeInt(devIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnGetDevice, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnGetDevice(devIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo nfnGetDeviceInfo(int devIndex) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(devIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnGetDeviceInfo, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnGetDeviceInfo(devIndex);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int nfnEnable(int devIndex) 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.writeInt(devIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnEnable, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnEnable(devIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int nfnNotifyGeneral(int[] notification, int deviceIndex) 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.writeIntArray(notification);
          _data.writeInt(deviceIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnNotifyGeneral, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnNotifyGeneral(notification, deviceIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int nfnNotify(com.symbol.emdk.emdkservice.notification.SvcNotification notification) 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);
          if ((notification!=null)) {
            _data.writeInt(1);
            notification.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnNotify, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnNotify(notification);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int nfnCancelNotification(int devIndex) 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.writeInt(devIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnCancelNotification, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnCancelNotification(devIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int nfnDisable(int devIndex) 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.writeInt(devIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnDisable, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnDisable(devIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int nfnRelease(int devIndex) 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.writeInt(devIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnRelease, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnRelease(devIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public boolean nfnIsConnected(int devIndex) 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.writeInt(devIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnIsConnected, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnIsConnected(devIndex);
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public boolean nfnIsEnabled(int devIndex) 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.writeInt(devIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnIsEnabled, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnIsEnabled(devIndex);
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public boolean sendAnalytics(android.content.Intent analyticsData) 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);
          if ((analyticsData!=null)) {
            _data.writeInt(1);
            analyticsData.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_sendAnalytics, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().sendAnalytics(analyticsData);
          }
          _reply.readException();
          _result = (0!=_reply.readInt());
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public android.os.Bundle nfnGetParams(int devIndex, android.os.Bundle paramBundle) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        android.os.Bundle _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(devIndex);
          if ((paramBundle!=null)) {
            _data.writeInt(1);
            paramBundle.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnGetParams, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnGetParams(devIndex, paramBundle);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = android.os.Bundle.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public void nfnAddConnectionListener(com.symbol.emdk.emdkservice.notification.IAdminConnectionCallback notificationConnenctionCallback) 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((((notificationConnenctionCallback!=null))?(notificationConnenctionCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnAddConnectionListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().nfnAddConnectionListener(notificationConnenctionCallback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public void nfnRemoveConectionListener(com.symbol.emdk.emdkservice.notification.IAdminConnectionCallback notificationConnenctionCallback) 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((((notificationConnenctionCallback!=null))?(notificationConnenctionCallback.asBinder()):(null)));
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnRemoveConectionListener, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().nfnRemoveConectionListener(notificationConnenctionCallback);
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public int nfnSetParams(int devIndex, android.os.Bundle paramBundle) 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.writeInt(devIndex);
          if ((paramBundle!=null)) {
            _data.writeInt(1);
            paramBundle.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnSetParams, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnSetParams(devIndex, paramBundle);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int nfnStartBeaconing(int devIndex, android.os.Bundle paramBundle) 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.writeInt(devIndex);
          if ((paramBundle!=null)) {
            _data.writeInt(1);
            paramBundle.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnStartBeaconing, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnStartBeaconing(devIndex, paramBundle);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int nfnStopBeaconing(int devIndex, android.os.Bundle paramBundle) 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.writeInt(devIndex);
          if ((paramBundle!=null)) {
            _data.writeInt(1);
            paramBundle.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_nfnStopBeaconing, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().nfnStopBeaconing(devIndex, paramBundle);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      /** SAM Communication Interfaces - START **/
      @Override public int samInitSAMManager() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_samInitSAMManager, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().samInitSAMManager();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public void samShutdownSAMManager() 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_samShutdownSAMManager, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            getDefaultImpl().samShutdownSAMManager();
            return;
          }
          _reply.readException();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
      }
      @Override public int samConnect(int samIndex) 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.writeInt(samIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_samConnect, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().samConnect(samIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int samClose(int samIndex) 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.writeInt(samIndex);
          boolean _status = mRemote.transact(Stub.TRANSACTION_samClose, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().samClose(samIndex);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public com.symbol.emdk.emdkservice.sam.SvcAPDUResult samTransceive(int samIndex, com.symbol.emdk.emdkservice.sam.SvcAPDUData apdu) throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        com.symbol.emdk.emdkservice.sam.SvcAPDUResult _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          _data.writeInt(samIndex);
          if ((apdu!=null)) {
            _data.writeInt(1);
            apdu.writeToParcel(_data, 0);
          }
          else {
            _data.writeInt(0);
          }
          boolean _status = mRemote.transact(Stub.TRANSACTION_samTransceive, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().samTransceive(samIndex, apdu);
          }
          _reply.readException();
          if ((0!=_reply.readInt())) {
            _result = com.symbol.emdk.emdkservice.sam.SvcAPDUResult.CREATOR.createFromParcel(_reply);
          }
          else {
            _result = null;
          }
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int samGetActiveSlot() 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);
          boolean _status = mRemote.transact(Stub.TRANSACTION_samGetActiveSlot, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().samGetActiveSlot();
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public java.util.List<com.symbol.emdk.emdkservice.sam.SvcSAMInfo> samEnumerateSams() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        java.util.List<com.symbol.emdk.emdkservice.sam.SvcSAMInfo> _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_samEnumerateSams, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().samEnumerateSams();
          }
          _reply.readException();
          _result = _reply.createTypedArrayList(com.symbol.emdk.emdkservice.sam.SvcSAMInfo.CREATOR);
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public int setSmartCardPPS(byte fd, byte protocol) 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.writeByte(fd);
          _data.writeByte(protocol);
          boolean _status = mRemote.transact(Stub.TRANSACTION_setSmartCardPPS, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().setSmartCardPPS(fd, protocol);
          }
          _reply.readException();
          _result = _reply.readInt();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      @Override public byte[] getSmartCardATR() throws android.os.RemoteException
      {
        android.os.Parcel _data = android.os.Parcel.obtain();
        android.os.Parcel _reply = android.os.Parcel.obtain();
        byte[] _result;
        try {
          _data.writeInterfaceToken(DESCRIPTOR);
          boolean _status = mRemote.transact(Stub.TRANSACTION_getSmartCardATR, _data, _reply, 0);
          if (!_status && getDefaultImpl() != null) {
            return getDefaultImpl().getSmartCardATR();
          }
          _reply.readException();
          _result = _reply.createByteArray();
        }
        finally {
          _reply.recycle();
          _data.recycle();
        }
        return _result;
      }
      public static com.symbol.emdk.emdkservice.IEMDKService sDefaultImpl;
    }
    static final int TRANSACTION_initEMDKManager = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0);
    static final int TRANSACTION_passDeathListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 1);
    static final int TRANSACTION_deinitEMDKManager = (android.os.IBinder.FIRST_CALL_TRANSACTION + 2);
    static final int TRANSACTION_getLastError = (android.os.IBinder.FIRST_CALL_TRANSACTION + 3);
    static final int TRANSACTION_registerFeatureReadyStatus = (android.os.IBinder.FIRST_CALL_TRANSACTION + 4);
    static final int TRANSACTION_initializeProfileService = (android.os.IBinder.FIRST_CALL_TRANSACTION + 5);
    static final int TRANSACTION_setProfile = (android.os.IBinder.FIRST_CALL_TRANSACTION + 6);
    static final int TRANSACTION_processProfileCompatibility = (android.os.IBinder.FIRST_CALL_TRANSACTION + 7);
    static final int TRANSACTION_getProfile = (android.os.IBinder.FIRST_CALL_TRANSACTION + 8);
    static final int TRANSACTION_unInitializeProfileService = (android.os.IBinder.FIRST_CALL_TRANSACTION + 9);
    static final int TRANSACTION_getVersion = (android.os.IBinder.FIRST_CALL_TRANSACTION + 10);
    static final int TRANSACTION_ssdcIntialize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 11);
    static final int TRANSACTION_ssdcUnIntialize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 12);
    static final int TRANSACTION_ssdcGetSupportedDevicesInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 13);
    static final int TRANSACTION_ssdcGetDevice = (android.os.IBinder.FIRST_CALL_TRANSACTION + 14);
    static final int TRANSACTION_ssdcRelease = (android.os.IBinder.FIRST_CALL_TRANSACTION + 15);
    static final int TRANSACTION_ssdcEnableDevice = (android.os.IBinder.FIRST_CALL_TRANSACTION + 16);
    static final int TRANSACTION_ssdcIsEnabled = (android.os.IBinder.FIRST_CALL_TRANSACTION + 17);
    static final int TRANSACTION_ssdcDisable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 18);
    static final int TRANSACTION_ssdcReadDevice = (android.os.IBinder.FIRST_CALL_TRANSACTION + 19);
    static final int TRANSACTION_ssdcCancelRead = (android.os.IBinder.FIRST_CALL_TRANSACTION + 20);
    static final int TRANSACTION_ssdcIsReadPending = (android.os.IBinder.FIRST_CALL_TRANSACTION + 21);
    static final int TRANSACTION_ssdcGetConfig = (android.os.IBinder.FIRST_CALL_TRANSACTION + 22);
    static final int TRANSACTION_ssdcSetConfig = (android.os.IBinder.FIRST_CALL_TRANSACTION + 23);
    static final int TRANSACTION_ssdcAddStatusListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 24);
    static final int TRANSACTION_ssdcRemoveStatusListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 25);
    static final int TRANSACTION_ssdcAddDataListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 26);
    static final int TRANSACTION_ssdcRemoveDataListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 27);
    static final int TRANSACTION_ssdcLoadTemplateUri = (android.os.IBinder.FIRST_CALL_TRANSACTION + 28);
    static final int TRANSACTION_ssdcLoadTemplateXML = (android.os.IBinder.FIRST_CALL_TRANSACTION + 29);
    static final int TRANSACTION_ssdcFetchTemplate = (android.os.IBinder.FIRST_CALL_TRANSACTION + 30);
    static final int TRANSACTION_scnIntialize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 31);
    static final int TRANSACTION_scnUnIntialize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 32);
    static final int TRANSACTION_scnGetSupportedDevicesInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 33);
    static final int TRANSACTION_scnGetScannerInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 34);
    static final int TRANSACTION_scnGetDevice = (android.os.IBinder.FIRST_CALL_TRANSACTION + 35);
    static final int TRANSACTION_scnRelease = (android.os.IBinder.FIRST_CALL_TRANSACTION + 36);
    static final int TRANSACTION_scnEnable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 37);
    static final int TRANSACTION_scnIsEnabled = (android.os.IBinder.FIRST_CALL_TRANSACTION + 38);
    static final int TRANSACTION_scnDisable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 39);
    static final int TRANSACTION_scnRead = (android.os.IBinder.FIRST_CALL_TRANSACTION + 40);
    static final int TRANSACTION_scnCancelRead = (android.os.IBinder.FIRST_CALL_TRANSACTION + 41);
    static final int TRANSACTION_scnAddDataListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 42);
    static final int TRANSACTION_scnRemoveDataListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 43);
    static final int TRANSACTION_scnAddStatusListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 44);
    static final int TRANSACTION_scnRemoveStatusListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 45);
    static final int TRANSACTION_scnAddConnectionListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 46);
    static final int TRANSACTION_scnRemoveConectionListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 47);
    static final int TRANSACTION_scnGetConfig = (android.os.IBinder.FIRST_CALL_TRANSACTION + 48);
    static final int TRANSACTION_scnSetConfig = (android.os.IBinder.FIRST_CALL_TRANSACTION + 49);
    static final int TRANSACTION_scnGetDefaultConfig = (android.os.IBinder.FIRST_CALL_TRANSACTION + 50);
    static final int TRANSACTION_isReadPending = (android.os.IBinder.FIRST_CALL_TRANSACTION + 51);
    static final int TRANSACTION_scnSetParams = (android.os.IBinder.FIRST_CALL_TRANSACTION + 52);
    static final int TRANSACTION_scnGetParams = (android.os.IBinder.FIRST_CALL_TRANSACTION + 53);
    static final int TRANSACTION_snpPair = (android.os.IBinder.FIRST_CALL_TRANSACTION + 54);
    static final int TRANSACTION_snpUnPair = (android.os.IBinder.FIRST_CALL_TRANSACTION + 55);
    static final int TRANSACTION_snpIsBluetoothEnabled = (android.os.IBinder.FIRST_CALL_TRANSACTION + 56);
    static final int TRANSACTION_PersonalShopperInitialize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 57);
    static final int TRANSACTION_PersonalShopperUnInitialize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 58);
    static final int TRANSACTION_crdEnable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 59);
    static final int TRANSACTION_crdDisable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 60);
    static final int TRANSACTION_crdIsEnabled = (android.os.IBinder.FIRST_CALL_TRANSACTION + 61);
    static final int TRANSACTION_crdUnlock = (android.os.IBinder.FIRST_CALL_TRANSACTION + 62);
    static final int TRANSACTION_crdFlashLeds = (android.os.IBinder.FIRST_CALL_TRANSACTION + 63);
    static final int TRANSACTION_crdGetCradleInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 64);
    static final int TRANSACTION_crdConfigGetFCState = (android.os.IBinder.FIRST_CALL_TRANSACTION + 65);
    static final int TRANSACTION_crdConfigSetFCState = (android.os.IBinder.FIRST_CALL_TRANSACTION + 66);
    static final int TRANSACTION_crdConfigSetLocation = (android.os.IBinder.FIRST_CALL_TRANSACTION + 67);
    static final int TRANSACTION_crdConfigGetCradleLocation = (android.os.IBinder.FIRST_CALL_TRANSACTION + 68);
    static final int TRANSACTION_diagGetDiagnosticData = (android.os.IBinder.FIRST_CALL_TRANSACTION + 69);
    static final int TRANSACTION_sciIntialize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 70);
    static final int TRANSACTION_sciUnIntialize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 71);
    static final int TRANSACTION_sciEnable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 72);
    static final int TRANSACTION_sciDisable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 73);
    static final int TRANSACTION_sciIsEnabled = (android.os.IBinder.FIRST_CALL_TRANSACTION + 74);
    static final int TRANSACTION_sciWrite = (android.os.IBinder.FIRST_CALL_TRANSACTION + 75);
    static final int TRANSACTION_sciRead = (android.os.IBinder.FIRST_CALL_TRANSACTION + 76);
    static final int TRANSACTION_sciSetConfig = (android.os.IBinder.FIRST_CALL_TRANSACTION + 77);
    static final int TRANSACTION_sciGetConfig = (android.os.IBinder.FIRST_CALL_TRANSACTION + 78);
    static final int TRANSACTION_sciGetControlSignalState = (android.os.IBinder.FIRST_CALL_TRANSACTION + 79);
    static final int TRANSACTION_sciSetControlSignalState = (android.os.IBinder.FIRST_CALL_TRANSACTION + 80);
    static final int TRANSACTION_scigetPortInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 81);
    static final int TRANSACTION_sciGetSupportedPorts = (android.os.IBinder.FIRST_CALL_TRANSACTION + 82);
    static final int TRANSACTION_sciGetPort = (android.os.IBinder.FIRST_CALL_TRANSACTION + 83);
    static final int TRANSACTION_nfnInitialize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 84);
    static final int TRANSACTION_nfnUnInitialize = (android.os.IBinder.FIRST_CALL_TRANSACTION + 85);
    static final int TRANSACTION_nfnGetSupportedDevicesInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 86);
    static final int TRANSACTION_nfnGetDevice = (android.os.IBinder.FIRST_CALL_TRANSACTION + 87);
    static final int TRANSACTION_nfnGetDeviceInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 88);
    static final int TRANSACTION_nfnEnable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 89);
    static final int TRANSACTION_nfnNotifyGeneral = (android.os.IBinder.FIRST_CALL_TRANSACTION + 90);
    static final int TRANSACTION_nfnNotify = (android.os.IBinder.FIRST_CALL_TRANSACTION + 91);
    static final int TRANSACTION_nfnCancelNotification = (android.os.IBinder.FIRST_CALL_TRANSACTION + 92);
    static final int TRANSACTION_nfnDisable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 93);
    static final int TRANSACTION_nfnRelease = (android.os.IBinder.FIRST_CALL_TRANSACTION + 94);
    static final int TRANSACTION_nfnIsConnected = (android.os.IBinder.FIRST_CALL_TRANSACTION + 95);
    static final int TRANSACTION_nfnIsEnabled = (android.os.IBinder.FIRST_CALL_TRANSACTION + 96);
    static final int TRANSACTION_sendAnalytics = (android.os.IBinder.FIRST_CALL_TRANSACTION + 97);
    static final int TRANSACTION_nfnGetParams = (android.os.IBinder.FIRST_CALL_TRANSACTION + 98);
    static final int TRANSACTION_nfnAddConnectionListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 99);
    static final int TRANSACTION_nfnRemoveConectionListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 100);
    static final int TRANSACTION_nfnSetParams = (android.os.IBinder.FIRST_CALL_TRANSACTION + 101);
    static final int TRANSACTION_nfnStartBeaconing = (android.os.IBinder.FIRST_CALL_TRANSACTION + 102);
    static final int TRANSACTION_nfnStopBeaconing = (android.os.IBinder.FIRST_CALL_TRANSACTION + 103);
    static final int TRANSACTION_samInitSAMManager = (android.os.IBinder.FIRST_CALL_TRANSACTION + 104);
    static final int TRANSACTION_samShutdownSAMManager = (android.os.IBinder.FIRST_CALL_TRANSACTION + 105);
    static final int TRANSACTION_samConnect = (android.os.IBinder.FIRST_CALL_TRANSACTION + 106);
    static final int TRANSACTION_samClose = (android.os.IBinder.FIRST_CALL_TRANSACTION + 107);
    static final int TRANSACTION_samTransceive = (android.os.IBinder.FIRST_CALL_TRANSACTION + 108);
    static final int TRANSACTION_samGetActiveSlot = (android.os.IBinder.FIRST_CALL_TRANSACTION + 109);
    static final int TRANSACTION_samEnumerateSams = (android.os.IBinder.FIRST_CALL_TRANSACTION + 110);
    static final int TRANSACTION_setSmartCardPPS = (android.os.IBinder.FIRST_CALL_TRANSACTION + 111);
    static final int TRANSACTION_getSmartCardATR = (android.os.IBinder.FIRST_CALL_TRANSACTION + 112);
    public static boolean setDefaultImpl(com.symbol.emdk.emdkservice.IEMDKService 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.symbol.emdk.emdkservice.IEMDKService getDefaultImpl() {
      return Stub.Proxy.sDefaultImpl;
    }
  }
  public com.symbol.emdk.emdkservice.SvcResult initEMDKManager() throws android.os.RemoteException;
  public void passDeathListener(android.os.IBinder deathListener) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.SvcResult deinitEMDKManager() throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.SvcError getLastError() throws android.os.RemoteException;
  /*=================================EMDK Feature Initialization & un-initialization =====================
  	These methods are added to support the getAsyncInstance which should internally wait for the EMDK Service
  	to initialize the required features and wait for readiness status. It will then send the status through the
  	callback.
  	*/
  public com.symbol.emdk.emdkservice.SvcResult registerFeatureReadyStatus(int featureType, com.symbol.emdk.emdkservice.ISvcFeatureStatusCallback statusCallback) throws android.os.RemoteException;
  /*=================================profile management APIs==============================================
  	/*
  	This method initializes the internal XML Document object by parsing the content given.
  	profilesXML - The XML content which the Document object will be created
  	Return - String containing XML with status of execution
  	*/
  public boolean initializeProfileService(java.lang.String profilesXML) throws android.os.RemoteException;
  /*
  	This method creates a profile given by the name.
  	profileName - Name of the profile which will be created (Need to be present in the XML provided for initializeProfileService).
  	Return - String containing XML with status of execution
  	*/
  public java.lang.String setProfile(java.lang.String profileName, java.lang.String extraData) throws android.os.RemoteException;
  /*
  	This method checks the version compatibility a profile given by the name.
  	profileName - Name of the profile which will be created (Need to be present in the XML provided for initializeProfileService).
  	Return - SvcProfileResult which will contain the error code and profile string
  	*/
  public com.symbol.emdk.emdkservice.SvcProfileResult processProfileCompatibility(java.lang.String profileName, java.lang.String extraData) throws android.os.RemoteException;
  /*
  	This method retrieves a profile given by the name.
  	profileName - Name of the profile which will be queried (Need to be present in the XML provided for initializeProfileService).
  	Return - String containing XML with status of execution and the requested profile
  	*/
  public java.lang.String getProfile(java.lang.String profileName) throws android.os.RemoteException;
  /*
  	This method uninitializes the ProfileService.
  	*/
  public void unInitializeProfileService() throws android.os.RemoteException;
  /*=======================================version management API==========================================
  	/*
  	This method retrieves version information requested
  	versionRequestXML - XML containing the request information
  	Return - String containing XML with status of execution	and information requested
  	*/
  public java.lang.String getVersion(java.lang.String versionRequestXML) throws android.os.RemoteException;
  /*=======================================SSCD management API========================================== */
  public int ssdcIntialize() throws android.os.RemoteException;
  public int ssdcUnIntialize() throws android.os.RemoteException;
  public java.util.List<com.symbol.emdk.emdkservice.simulscan.SvcSimulScanDeviceInfo> ssdcGetSupportedDevicesInfo() throws android.os.RemoteException;
  public int ssdcGetDevice(int ssdcIndex) throws android.os.RemoteException;
  public int ssdcRelease(int scnIndex) throws android.os.RemoteException;
  public int ssdcEnableDevice(int ssdcIndex) throws android.os.RemoteException;
  public boolean ssdcIsEnabled(int ssdcIndex) throws android.os.RemoteException;
  public int ssdcDisable(int ssdcIndex) throws android.os.RemoteException;
  public int ssdcReadDevice(int ssdcIndex) throws android.os.RemoteException;
  public int ssdcCancelRead(int ssdcIndex) throws android.os.RemoteException;
  public boolean ssdcIsReadPending(int ssdcIndex) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig ssdcGetConfig(int ssdcIndex) throws android.os.RemoteException;
  public int ssdcSetConfig(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.SvcSimulScanConfig config) throws android.os.RemoteException;
  public int ssdcAddStatusListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanReaderStatusCallback statusCallback) throws android.os.RemoteException;
  public void ssdcRemoveStatusListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanReaderStatusCallback statusCallback) throws android.os.RemoteException;
  public int ssdcAddDataListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanProcessedDataCallback dataCallback) throws android.os.RemoteException;
  public void ssdcRemoveDataListener(int ssdcIndex, com.symbol.emdk.emdkservice.simulscan.ISvcSimulScanProcessedDataCallback dataCallback) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate ssdcLoadTemplateUri(android.net.Uri path) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.simulscan.SvcSimulScanMultiTemplate ssdcLoadTemplateXML(java.lang.String xmlString) throws android.os.RemoteException;
  public int ssdcFetchTemplate(java.lang.String userName, java.lang.String password, int ssdcIndex) throws android.os.RemoteException;
  /*=======================================Barcode scanner management API========================================== */
  public int scnIntialize() throws android.os.RemoteException;
  public int scnUnIntialize() throws android.os.RemoteException;
  public java.util.List<com.symbol.emdk.emdkservice.barcode.SvcScannerInfo> scnGetSupportedDevicesInfo() throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.barcode.SvcScannerInfo scnGetScannerInfo(int scnIndex) throws android.os.RemoteException;
  public int scnGetDevice(int scnIndex) throws android.os.RemoteException;
  public int scnRelease(int scnIndex) throws android.os.RemoteException;
  public int scnEnable(int scnIndex) throws android.os.RemoteException;
  public boolean scnIsEnabled(int scnIndex) throws android.os.RemoteException;
  public int scnDisable(int scnIndex) throws android.os.RemoteException;
  public int scnRead(int scnIndex, int triggerType) throws android.os.RemoteException;
  public int scnCancelRead(int scnIndex) throws android.os.RemoteException;
  public void scnAddDataListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanDataCallback dataCallback) throws android.os.RemoteException;
  public void scnRemoveDataListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanDataCallback dataCallback) throws android.os.RemoteException;
  public void scnAddStatusListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanStatusCallback statusCallback) throws android.os.RemoteException;
  public void scnRemoveStatusListener(int scnIndex, com.symbol.emdk.emdkservice.barcode.ISvcScanStatusCallback statusCallback) throws android.os.RemoteException;
  public void scnAddConnectionListener(com.symbol.emdk.emdkservice.barcode.ISvcScanConnectionCallback connenctionCallback) throws android.os.RemoteException;
  public void scnRemoveConectionListener(com.symbol.emdk.emdkservice.barcode.ISvcScanConnectionCallback connenctionCallback) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.barcode.SvcScannerConfig scnGetConfig(int scnIndex) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.barcode.SvcErrorCode scnSetConfig(int scnIndex, com.symbol.emdk.emdkservice.barcode.SvcScannerConfig config, android.os.Bundle paramBundle) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.barcode.SvcScannerConfig scnGetDefaultConfig(int scnIndex) throws android.os.RemoteException;
  public boolean isReadPending(int scnIndex) throws android.os.RemoteException;
  public int scnSetParams(int scnIndex, android.os.Bundle paramBundle) throws android.os.RemoteException;
  public android.os.Bundle scnGetParams(int scnIndex, android.os.Bundle paramBundle) throws android.os.RemoteException;
  /*=======================================ScanAndPair API========================================== *//*
  	 * Perform Bluetooth pairing.
  	 */
  public int snpPair(java.lang.String deviceName, java.lang.String macAddress, java.lang.String pin) throws android.os.RemoteException;
  /*
  	 * Perform Bluetooth unpairing.
  	 */
  public int snpUnPair(java.lang.String deviceName, java.lang.String macAddress) throws android.os.RemoteException;
  public int snpIsBluetoothEnabled() throws android.os.RemoteException;
  /*=======================================PersonalSopper management API========================================== */
  public int PersonalShopperInitialize() throws android.os.RemoteException;
  public int PersonalShopperUnInitialize() throws android.os.RemoteException;
  public int crdEnable() throws android.os.RemoteException;
  public int crdDisable() throws android.os.RemoteException;
  public boolean crdIsEnabled() throws android.os.RemoteException;
  public int crdUnlock(int duration, com.symbol.emdk.emdkservice.cradle.SvcCradleLedFlashInfo ledFlashInfo) throws android.os.RemoteException;
  public int crdFlashLeds(int count, com.symbol.emdk.emdkservice.cradle.SvcCradleLedFlashInfo ledFlashInfo) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.cradle.SvcCradleInfo crdGetCradleInfo() throws android.os.RemoteException;
  public boolean crdConfigGetFCState() throws android.os.RemoteException;
  public int crdConfigSetFCState(boolean fcState) throws android.os.RemoteException;
  public int crdConfigSetLocation(com.symbol.emdk.emdkservice.cradle.SvcCradleLocation location) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.cradle.SvcCradleLocation crdConfigGetCradleLocation() throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticData diagGetDiagnosticData(int paramId, com.symbol.emdk.emdkservice.diagnostic.SvcDiagnosticConfig diagnosticconfig) throws android.os.RemoteException;
  /*=======================================Serial Comm API========================================== */
  public int sciIntialize(boolean isLegacy) throws android.os.RemoteException;
  public int sciUnIntialize(boolean isLegacy) throws android.os.RemoteException;
  public int sciEnable(java.lang.String portName) throws android.os.RemoteException;
  public int sciDisable(java.lang.String portName) throws android.os.RemoteException;
  public int sciIsEnabled(java.lang.String portName) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse sciWrite(byte[] buffer, int bytesToWrite, java.lang.String portName) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommResponse sciRead(int readTimeOut, java.lang.String portName) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.SvcResult sciSetConfig(com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig svcSerialCommConfig, java.lang.String portName) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.serialcomm.SvcSerialCommConfig sciGetConfig(java.lang.String portName) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.SvcResult sciGetControlSignalState(int controlSignal, java.lang.String portName) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.SvcResult sciSetControlSignalState(int controlSignal, boolean status, java.lang.String portName) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo scigetPortInfo(java.lang.String portName) throws android.os.RemoteException;
  public java.util.List<com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo> sciGetSupportedPorts() throws android.os.RemoteException;
  public int sciGetPort(com.symbol.emdk.emdkservice.serialcomm.SvcSerialPortInfo svcSerialPortInfo) throws android.os.RemoteException;
  /*=======================================Notification management API========================================== */
  public int nfnInitialize() throws android.os.RemoteException;
  public int nfnUnInitialize() throws android.os.RemoteException;
  public java.util.List<com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo> nfnGetSupportedDevicesInfo() throws android.os.RemoteException;
  public int nfnGetDevice(int devIndex) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.notification.SvcNotificationDeviceInfo nfnGetDeviceInfo(int devIndex) throws android.os.RemoteException;
  public int nfnEnable(int devIndex) throws android.os.RemoteException;
  public int nfnNotifyGeneral(int[] notification, int deviceIndex) throws android.os.RemoteException;
  public int nfnNotify(com.symbol.emdk.emdkservice.notification.SvcNotification notification) throws android.os.RemoteException;
  public int nfnCancelNotification(int devIndex) throws android.os.RemoteException;
  public int nfnDisable(int devIndex) throws android.os.RemoteException;
  public int nfnRelease(int devIndex) throws android.os.RemoteException;
  public boolean nfnIsConnected(int devIndex) throws android.os.RemoteException;
  public boolean nfnIsEnabled(int devIndex) throws android.os.RemoteException;
  public boolean sendAnalytics(android.content.Intent analyticsData) throws android.os.RemoteException;
  public android.os.Bundle nfnGetParams(int devIndex, android.os.Bundle paramBundle) throws android.os.RemoteException;
  public void nfnAddConnectionListener(com.symbol.emdk.emdkservice.notification.IAdminConnectionCallback notificationConnenctionCallback) throws android.os.RemoteException;
  public void nfnRemoveConectionListener(com.symbol.emdk.emdkservice.notification.IAdminConnectionCallback notificationConnenctionCallback) throws android.os.RemoteException;
  public int nfnSetParams(int devIndex, android.os.Bundle paramBundle) throws android.os.RemoteException;
  public int nfnStartBeaconing(int devIndex, android.os.Bundle paramBundle) throws android.os.RemoteException;
  public int nfnStopBeaconing(int devIndex, android.os.Bundle paramBundle) throws android.os.RemoteException;
  /** SAM Communication Interfaces - START **/
  public int samInitSAMManager() throws android.os.RemoteException;
  public void samShutdownSAMManager() throws android.os.RemoteException;
  public int samConnect(int samIndex) throws android.os.RemoteException;
  public int samClose(int samIndex) throws android.os.RemoteException;
  public com.symbol.emdk.emdkservice.sam.SvcAPDUResult samTransceive(int samIndex, com.symbol.emdk.emdkservice.sam.SvcAPDUData apdu) throws android.os.RemoteException;
  public int samGetActiveSlot() throws android.os.RemoteException;
  public java.util.List<com.symbol.emdk.emdkservice.sam.SvcSAMInfo> samEnumerateSams() throws android.os.RemoteException;
  public int setSmartCardPPS(byte fd, byte protocol) throws android.os.RemoteException;
  public byte[] getSmartCardATR() throws android.os.RemoteException;
}
