ru.inpas.connector.lib

## Class PosExchange

- java.lang.Object
- - android.os.AsyncTask<SAParam,PosExchange.Progress,PosExchange.Result>
  - - ru.inpas.connector.lib.PosExchange

    public class PosExchange
    extends android.os.AsyncTask<SAParam,PosExchange.Progress,PosExchange.Result>

Класс выполняющий обмен данными с терминалом

### Nested Class Summary

Nested Classes
`static interface` `PosExchange.IAsynHandler` Интерфейс для взаимодействия с вызывающим объектом
`static class` `PosExchange.LogMode` Идентификаторы режима логирования
`static class` `PosExchange.ParameterId` Идентификаторы параметров передаваемых в метод SetParameter.
`static class` `PosExchange.Progress` Идентификаторы состояния выполнения обмена данными с терминалом
`static class` `PosExchange.Result` Идентификаторы результата обмена данными с терминалом

### Nested classes/interfaces inherited from class android.os.AsyncTask

`android.os.AsyncTask.Status`

### Field Summary

Fields
`static java.lang.String` `Version` Версия библиотеки (2.0.10.1)

### Fields inherited from class android.os.AsyncTask

`SERIAL_EXECUTOR, THREAD_POOL_EXECUTOR`

### Constructor Summary

Constructors
Constructor and Description
`PosExchange()`
`PosExchange(android.content.Context context, SAParam sa_param, PosExchange.IAsynHandler handler)` Конструктор.
`PosExchange(java.lang.String ip_address, int ip_port, SAParam sa_param, PosExchange.IAsynHandler handler)` Конструктор.
`PosExchange(java.lang.String bluetooth_device, SAParam sa_param, PosExchange.IAsynHandler handler)` Конструктор.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected PosExchange.Result` `doInBackground(SAParam... params)`
`static int` `GetParameter(PosExchange.ParameterId id)`
`SAParam` `GetResponse()` Получить ответ от терминала после завершения успешного обмена данными
`PosExchange.Result` `GetResult()` Получить результат выполнения обмена данными с терминалом
`static void` `LogClear()` Удалить лог-и
`static void` `LogToEmail(java.lang.String[] email_recipients)` Переслать лог-и по e-mail
`static void` `LogToFile(java.lang.String full_path_name)` Сохранит лог в файл
`protected void` `onCancelled()`
`protected void` `onPostExecute(PosExchange.Result result)`
`protected void` `onProgressUpdate(PosExchange.Progress... progress)`
`static void` `SetParameter(PosExchange.ParameterId id, java.lang.Object value)` Установить параметры

### Methods inherited from class android.os.AsyncTask

`cancel, execute, execute, executeOnExecutor, get, get, getStatus, isCancelled, onCancelled, onPreExecute, publishProgress`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### Version

    public static final java.lang.String Version

Версия библиотеки (2.0.10.1)

See Also:
  Constant Field Values

### Constructor Detail

#### PosExchange

    public PosExchange()

#### PosExchange

    public PosExchange(java.lang.String bluetooth_device,
                       SAParam sa_param,
                       PosExchange.IAsynHandler handler)
                throws java.lang.IllegalArgumentException,
                       java.lang.SecurityException

Конструктор.
После построения класса начинается асинхронный процесс обмена данными с терминалом, никаких дополнительных вызовов методов не требуется.

Parameters:
  `bluetooth_device` - идентификатор сопряжённого bluetooth устройства
  `sa_param` - параметры запроса
  `handler` - интерфейс для получения уведомлений о процессе выполнения и завершении выполнения
Throws:
  `java.lang.IllegalArgumentException` - генерит исключение при не корректных параметрах
  `java.lang.SecurityException` - генерит исключение если использование bluetooth модуля не разрешено в манифесте

#### PosExchange

    public PosExchange(android.content.Context context,
                       SAParam sa_param,
                       PosExchange.IAsynHandler handler)
                throws java.lang.IllegalArgumentException,
                       java.lang.SecurityException

Конструктор.
После построения класса начинается асинхронный процесс обмена данными с терминалом, никаких дополнительных вызовов методов не требуется.

Parameters:
  `context` - идентификатор сопряжённого USB устройства
  `sa_param` - параметры запроса
  `handler` - интерфейс для получения уведомлений о процессе выполнения и завершении выполнения
Throws:
  `java.lang.IllegalArgumentException` - генерит исключение при не корректных параметрах
  `java.lang.SecurityException` - генерит исключение если использование USB модуля не разрешено в манифесте

#### PosExchange

    public PosExchange(java.lang.String ip_address,
                       int ip_port,
                       SAParam sa_param,
                       PosExchange.IAsynHandler handler)
                throws java.lang.IllegalArgumentException

Конструктор.
После построения класса начинается асинхронный процесс обмена данными с терминалом, никаких дополнительных вызовов методов не требуется.

Parameters:
  `ip_address` - ip адрес для соединения с терминалом
  `ip_port` - ip порт для соединения с терминалом
  `sa_param` - параметры запроса
  `handler` - интерфейс для получения уведомлений о процессе выполнения и завершении выполнения
Throws:
  `java.lang.IllegalArgumentException` - генерит исключение при не корректных параметрах

### Method Detail

#### LogClear

    public static void LogClear()

Удалить лог-и

#### LogToEmail

    public static void LogToEmail(java.lang.String[] email_recipients)
                           throws java.io.IOException

Переслать лог-и по e-mail

Parameters:
  `email_recipients` - список адресов электронной почты для отправки логов по e-mail
Throws:
  `java.io.IOException` - может генерить исключение при сохранении файлов

#### LogToFile

    public static void LogToFile(java.lang.String full_path_name)
                          throws java.io.IOException

Сохранит лог в файл

Parameters:
  `full_path_name` - полный путь для сохранения архивированного файла (например /sdcard/logs/dc.zip)
Throws:
  `java.io.IOException` - может генерить исключение при сохранении файлов

#### SetParameter

    public static void SetParameter(PosExchange.ParameterId id,
                                    java.lang.Object value)
                             throws java.lang.IllegalArgumentException

Установить параметры

Parameters:
  `id` - идентификатор параметра
  `value` - значение параметра
Throws:
  `java.lang.IllegalArgumentException` - генерит исключение при не корректных параметрах

#### GetParameter

    public static int GetParameter(PosExchange.ParameterId id)
                            throws java.lang.IllegalArgumentException

Throws:
  `java.lang.IllegalArgumentException`

#### GetResult

    public PosExchange.Result GetResult()

Получить результат выполнения обмена данными с терминалом

Returns:
  результат выполнения обмена данными с терминалом

#### GetResponse

    public SAParam GetResponse()

Получить ответ от терминала после завершения успешного обмена данными

Returns:
  ответ от терминала после завершения успешного обмена данными

#### doInBackground

    protected PosExchange.Result doInBackground(SAParam... params)

Specified by:
  `doInBackground` in class `android.os.AsyncTask<SAParam,PosExchange.Progress,PosExchange.Result>`

#### onProgressUpdate

    protected void onProgressUpdate(PosExchange.Progress... progress)

Overrides:
  `onProgressUpdate` in class `android.os.AsyncTask<SAParam,PosExchange.Progress,PosExchange.Result>`

#### onPostExecute

    protected void onPostExecute(PosExchange.Result result)

Overrides:
  `onPostExecute` in class `android.os.AsyncTask<SAParam,PosExchange.Progress,PosExchange.Result>`

#### onCancelled

    protected void onCancelled()

Overrides:
  `onCancelled` in class `android.os.AsyncTask<SAParam,PosExchange.Progress,PosExchange.Result>`