Package ru.nilsoft.tm
Class TMLib
java.lang.Object
ru.nilsoft.tm.TMLib
Класс для работы с сервисом KKT (реализует API работы с ККТ).
Внимание: Объявлен как singleton.Внимание: Инициализировать только в классе приложения (Application).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classРежимы вызова ККТ.static final classСообщения для передачи ответов в активность.static final classФлаги состояния интерфейса.classКласс контролирующий время ожидания ответа. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionintActivate(android.content.Context context, long timeOut) Инициализация контроллера ФН.intActivate(android.content.Context context, long timeOut, boolean viewDialog) Инициализация контроллера ФН.intВыполнение команды контроллером ФН (с обязательным выводом прогресс-диалога).intВыполнение команды контроллером ФН.intDoDLE(android.content.Context context, byte code, long timeOut) Выполнение команды в контроллер ФН (с обязательным выводом прогресс-диалога).intDoDLE(android.content.Context context, byte code, long timeOut, boolean viewDialog) Выполнение DLE команды контроллером ФН.intПолучение динамического статуса из последнего ответа контроллера ФН.intПолучение постоянного статуса из последнего ответа контроллера ФН.static TMLibПолучение реализации класса.Получение последней, отправленной на выполнение, команды.Получение последнего ответа из контроллера ФН на команду.android.os.HandlerПолучение текущего хендлера.intgetState(int mask) Получение состояния библиотеки (смотриTMLib.states.booleaninit(android.content.Context context) Инициализация библиотеки (должна проводится один раз в классе Application).booleanПроверка, что теневой поток отправки данных в ОФД запущен.booleanПроверка, что теневой поток отправки данных в ОИСМ запущен.voidregisterHandler(android.os.Handler h) Регистрация хендлера (активность при создании должна регистрировать хэндлер, чтобы получать ответы).intСброс режима прямой отправки данных в контроллер ФН.intSendByPass(byte[] data) Режим прямой отправки данных в контроллер ФН.intОтправка команды в контроллер ФН (без ожидания ответа).intSendDLE(byte code) Отправка DLE в контроллер ФН.voidSendLogData_CMD(byte[] data) Запись в лог длинной команды.voidSendLogData_DLE(byte[] data) Запись в лог короткой команды.voidSendLogData_HEX(byte[] data) Запись в лог хекс дампа.voidSendLogData_PRINTER(byte[] data) Запись в лог данных для принтера.voidSendLogData_TEXT(byte[] data) Запись в лог текста.intSendNAK()Отправка NAK в контроллер ФН.voidОтрезать печатаемые данные (для принтеров с гильотиной).voidSendPrintData(byte[] data) Отправить данные на печать (данные должны быть в кодировке CP866).voidSendPrintParam(int lineFeed, int grayLevel) Установить параметры принтера.voidSendPrintParam(int lineFeed, int grayLevel, int scrollAfter) Установить параметры принтера.voidОтправить запрос на получение версии.voidstart()Отправить запрос на старт сервиса (после получения permissions).voidStartOFD()Запуск теневого потока отправки данных в ОФД (если поток работает, то он перезапускается).voidЗапуск теневого потока отправки данных в ОИСМ (если поток работает, то он перезапускается).android.content.IntentstartService(android.content.Context context) Запуск сервиса.voidStopOFD()Останов теневого потока отправки данных в ОФД.voidStopOISM()Останов теневого потока отправки данных в ОИСМ.voidunbind(android.content.Context context) Освобождение привязки к сервису (при завершении приложения).voidunregisterHandler(android.os.Handler h) Освобождение текущего хэндлера (активность при завершении работы должна освободить хэндл).
-
Field Details
-
ServiceName
Название класса сервиса для работы с контроллером ФН.- See Also:
-
ServicePkg
Название package к которому относится сервис для работы с контроллером ФН.- See Also:
-
ServiceFullName
Полное название класса сервиса для работы с контроллером ФН.- See Also:
-
-
Method Details
-
getInstance
Получение реализации класса.- Returns:
- реализация класса.
-
startService
public android.content.Intent startService(android.content.Context context) Запуск сервиса.- Parameters:
context- контекст приложения.- Returns:
- интент сервиса.
-
init
public boolean init(android.content.Context context) Инициализация библиотеки (должна проводится один раз в классе Application).- Parameters:
context- контекст приложения.- Returns:
- true: привязка к серверу произошла, false: привязки к сервер нет.
-
unbind
public void unbind(android.content.Context context) Освобождение привязки к сервису (при завершении приложения).- Parameters:
context- контекст приложения.
-
getState
public int getState(int mask) Получение состояния библиотеки (смотриTMLib.states.- Parameters:
mask- маска состояния (если 0, то вернуть все флаги состояния).- Returns:
- состояние с учетом флагов.
-
getLastCmd
Получение последней, отправленной на выполнение, команды.- Returns:
- последняя, отправленная на выполнение, команда (null если нет).
-
getLastResponse
Получение последнего ответа из контроллера ФН на команду.- Returns:
- последний ответ на команду.
-
getDynamicStatus
public int getDynamicStatus()Получение динамического статуса из последнего ответа контроллера ФН.- Returns:
- динамический статус (-1: ошибка, ответ недоступен).
-
getHardStatus
public int getHardStatus()Получение постоянного статуса из последнего ответа контроллера ФН.- Returns:
- постоянный статус (-1: ошибка, ответ недоступен).
-
StartOFD
public void StartOFD()Запуск теневого потока отправки данных в ОФД (если поток работает, то он перезапускается). -
StopOFD
public void StopOFD()Останов теневого потока отправки данных в ОФД. -
StartOISM
public void StartOISM()Запуск теневого потока отправки данных в ОИСМ (если поток работает, то он перезапускается). -
StopOISM
public void StopOISM()Останов теневого потока отправки данных в ОИСМ. -
IsStartedOFD
public boolean IsStartedOFD()Проверка, что теневой поток отправки данных в ОФД запущен.- Returns:
- true: запущен false: не запущен.
-
IsStartedOISM
public boolean IsStartedOISM()Проверка, что теневой поток отправки данных в ОИСМ запущен.- Returns:
- true: запущен false: не запущен.
-
registerHandler
public void registerHandler(android.os.Handler h) Регистрация хендлера (активность при создании должна регистрировать хэндлер, чтобы получать ответы).- Parameters:
h- хендлер активности.
-
unregisterHandler
public void unregisterHandler(android.os.Handler h) Освобождение текущего хэндлера (активность при завершении работы должна освободить хэндл).- Parameters:
h- хэндлер активности.
-
getRegisteredHandler
public android.os.Handler getRegisteredHandler()Получение текущего хендлера.- Returns:
- текущий хендлер.
-
Activate
public int Activate(android.content.Context context, long timeOut, boolean viewDialog) Инициализация контроллера ФН.- Parameters:
context- контекст активности (вывод окна с сообщением).timeOut- максимальный тамймаут ожидания ответа от контроллера ФН.viewDialog- true: вывод прогресс-диалога с информацией, false: не выводить.- Returns:
- 0: успешно, иначе ошибка.
-
Activate
public int Activate(android.content.Context context, long timeOut) Инициализация контроллера ФН.- Parameters:
context- контекст активности (для вывода окна с сообщением).timeOut- максимальный тамймаут ожидания ответа от контроллера ФН.- Returns:
- 0: успешно, иначе ошибка.
-
DoCmd
Выполнение команды контроллером ФН.- Parameters:
context- контекст активности.cmd- команда.timeOut- максимальный тамймаут ожидания ответа от контроллера ФН.viewDialog- true: вывод прогресс-диалога с информацией, false: не выводить.- Returns:
- 0: успешно, иначе ошибка.
-
DoCmd
Выполнение команды контроллером ФН (с обязательным выводом прогресс-диалога).- Parameters:
context- контекст активности.cmd- команда.timeOut- максимальный таймаут ожидания ответа от контроллера ФН.- Returns:
- 0: успешно, иначе ошибка.
-
DoDLE
public int DoDLE(android.content.Context context, byte code, long timeOut, boolean viewDialog) Выполнение DLE команды контроллером ФН.- Parameters:
context- контекст активности.code- команда DLE.timeOut- максимальный таймаут ожидания ответа от контроллера ФН.viewDialog- true: вывод прогресс-диалога с информацией, false: не выводить.- Returns:
- 0: успешно, иначе ошибка.
-
DoDLE
public int DoDLE(android.content.Context context, byte code, long timeOut) Выполнение команды в контроллер ФН (с обязательным выводом прогресс-диалога).- Parameters:
context- контекст активности.code- команда DLE.timeOut- максимальный тамймаут ожидания ответа от сервиса КФН.- Returns:
- 0: успешно, иначе ошибка.
-
SendCmd
Отправка команды в контроллер ФН (без ожидания ответа).- Parameters:
cmd- команда.- Returns:
- 0: успешно, иначе ошибка.
-
SendDLE
public int SendDLE(byte code) Отправка DLE в контроллер ФН.- Parameters:
code- код DLE команды.- Returns:
- 0: успешно, иначе ошибка.
-
SendNAK
public int SendNAK()Отправка NAK в контроллер ФН.- Returns:
- 0: успешно, иначе ошибка.
-
SendByPass
public int SendByPass(byte[] data) Режим прямой отправки данных в контроллер ФН.- Parameters:
data- данные для отправки.- Returns:
- 0: успешно, иначе ошибка.
-
ResetByPass
public int ResetByPass()Сброс режима прямой отправки данных в контроллер ФН.- Returns:
- 0: успешно, иначе ошибка.
-
SendPrintData
public void SendPrintData(byte[] data) Отправить данные на печать (данные должны быть в кодировке CP866).- Parameters:
data- данные для печати.
-
SendPrintCut
public void SendPrintCut()Отрезать печатаемые данные (для принтеров с гильотиной). ВНИМАНИЕ: для принтеров без гильотины, используется прокрутка после печатиSendPrintParam(int, int, int). -
SendPrintParam
public void SendPrintParam(int lineFeed, int grayLevel) Установить параметры принтера.- Parameters:
lineFeed- межстрочный интервал в пикселях (<0: установить значение по умолчанию).grayLevel- уровень серого (<0: установить значение по умолчанию).
-
SendPrintParam
public void SendPrintParam(int lineFeed, int grayLevel, int scrollAfter) Установить параметры принтера.- Parameters:
lineFeed- межстрочный интервал в пикселях (<0: установить значение по умолчанию).grayLevel- уровень серого (<0: установить значение по умолчанию).scrollAfter- прокрутка после печати(в пикселях: 0:не использовать прокрутку, -1: значение по умолчанию), если в данных печати символ отреза (для принтеров без гильотины).
-
SendRespVer
public void SendRespVer()Отправить запрос на получение версии. -
start
public void start()Отправить запрос на старт сервиса (после получения permissions). -
SendLogData_CMD
public void SendLogData_CMD(byte[] data) Запись в лог длинной команды.- Parameters:
data- данные команды.
-
SendLogData_DLE
public void SendLogData_DLE(byte[] data) Запись в лог короткой команды.- Parameters:
data- данные команды.
-
SendLogData_HEX
public void SendLogData_HEX(byte[] data) Запись в лог хекс дампа.- Parameters:
data- данные дампа.
-
SendLogData_PRINTER
public void SendLogData_PRINTER(byte[] data) Запись в лог данных для принтера.- Parameters:
data- данные для принтера.
-
SendLogData_TEXT
public void SendLogData_TEXT(byte[] data) Запись в лог текста.- Parameters:
data- данные текста.
-