Package ru.nilsoft.tm
Class TMLib
- java.lang.Object
-
- ru.nilsoft.tm.TMLib
-
public class TMLib extends java.lang.Object
Класс для работы с сервисом KKT (реализует API работы с ККТ).
Внимание: Объявлен как singleton.
Внимание: Инициализировать только в классе приложения (Application).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TMLib.call_mode
Режимы вызова ККТ.static class
TMLib.messages
Сообщения для передачи ответов в активность.static class
TMLib.states
Флаги состояния интерфейса.class
TMLib.TMWaitMessage
Класс контролирующий время ожидания ответа.
-
Field Summary
Fields Modifier and Type Field Description (package private) TMCommand
lastCmd
Последняя отправленная команда.(package private) byte
lastDLE
Последняя отправленая DLE команда.(package private) TMCommand
lastResponse
Последний полученный ответ на команду.(package private) ru.nilsoft.tm.TMLib.Sender
sender
Указатель на текущий ожидающий ответа на команду поток.(package private) ru.nilsoft.tm.TMLib.SenderDLE
senderDLE
Указатель на текущий ожидающий ответа на DLE поток.static java.lang.String
ServiceFullName
Полное название класса сервиса для работы с контроллером ФН.static java.lang.String
ServiceName
Название класса сервиса для работы с контроллером ФН.static java.lang.String
ServicePkg
Название package к которому относится сервис для работы с контроллером ФН.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
Activate(android.content.Context context, long timeOut)
Инициализация контроллера ФН.int
Activate(android.content.Context context, long timeOut, boolean viewDialog)
Инициализация контроллера ФН.int
DoCmd(android.content.Context context, TMCommand cmd, long timeOut)
Выполнение команды контроллером ФН (с обязательным выводом прогресс-диалога).int
DoCmd(android.content.Context context, TMCommand cmd, long timeOut, boolean viewDialog)
Выполнение команды контроллером ФН.int
DoDLE(android.content.Context context, byte code, long timeOut)
Выполнение команды в контроллер ФН (с обязательным выводом прогресс-диалога).int
DoDLE(android.content.Context context, byte code, long timeOut, boolean viewDialog)
Выполнение DLE команды контроллером ФН.int
getDynamicStatus()
Получение динамического статуса из последнего ответа контроллера ФН.int
getHardStatus()
Получение постоянного статуса из последнего ответа контроллера ФН.static TMLib
getInstance()
Получение реализации класса.TMCommand
getLastCmd()
Получение последней, отправленной на выполнение, команды.TMCommand
getLastResponse()
Получение последнего ответа из контроллера ФН на команду.android.os.Handler
getRegisteredHandler()
Получение текущего хендлера.int
getState(int mask)
Получение состояния библиотеки (смотриTMLib.states
.boolean
init(android.content.Context context)
Инициализация библиотеки (должна проводится один раз в классе Application).boolean
IsStartedOFD()
Проверка, что теневой поток отправки данных в ОФД запущен.boolean
IsStartedOISM()
Проверка, что теневой поток отправки данных в ОИСМ запущен.void
registerHandler(android.os.Handler h)
Регистрация хендлера (активность при создании должна регистрировать хэндлер, чтобы получать ответы).int
ResetByPass()
Сброс режима прямой отправки данных в контроллер ФН.int
SendByPass(byte[] data)
Режим прямой отправки данных в контроллер ФН.int
SendCmd(TMCommand cmd)
Отправка команды в контроллер ФН (без ожидания ответа).int
SendDLE(byte code)
Отправка DLE в контроллер ФН.void
SendLogData_CMD(byte[] data)
Запись в лог длинной команды.void
SendLogData_DLE(byte[] data)
Запись в лог короткой команды.void
SendLogData_HEX(byte[] data)
Запись в лог хекс дампа.void
SendLogData_PRINTER(byte[] data)
Запись в лог данных для принтера.void
SendLogData_TEXT(byte[] data)
Запись в лог текста.int
SendNAK()
Отправка NAK в контроллер ФН.void
SendPrintCut()
Отрезать печатаемые данные (для принтеров с гильотиной).void
SendPrintData(byte[] data)
Отправить данные на печать (данные должны быть в кодировке CP866).void
SendPrintParam(int lineFeed, int grayLevel)
Установить параметры принтера.void
SendPrintParam(int lineFeed, int grayLevel, int scrollAfter)
Установить параметры принтера.void
SendRespVer()
Отправить запрос на получение версии.void
start()
Отправить запрос на старт сервиса (после получения permissions).void
StartOFD()
Запуск теневого потока отправки данных в ОФД (если поток работает, то он перезапускается).void
StartOISM()
Запуск теневого потока отправки данных в ОИСМ (если поток работает, то он перезапускается).android.content.Intent
startService(android.content.Context context)
Запуск сервиса.void
StopOFD()
Останов теневого потока отправки данных в ОФД.void
StopOISM()
Останов теневого потока отправки данных в ОИСМ.void
unbind(android.content.Context context)
Освобождение привязки к сервису (при завершении приложения).void
unregisterHandler(android.os.Handler h)
Освобождение текущего хэндлера (активность при завершении работы должна освободить хэндл).
-
-
-
Field Detail
-
ServiceName
public static final java.lang.String ServiceName
Название класса сервиса для работы с контроллером ФН.- See Also:
- Constant Field Values
-
ServicePkg
public static final java.lang.String ServicePkg
Название package к которому относится сервис для работы с контроллером ФН.- See Also:
- Constant Field Values
-
ServiceFullName
public static final java.lang.String ServiceFullName
Полное название класса сервиса для работы с контроллером ФН.- See Also:
- Constant Field Values
-
lastCmd
TMCommand lastCmd
Последняя отправленная команда.
-
lastDLE
byte lastDLE
Последняя отправленая DLE команда.
-
lastResponse
TMCommand lastResponse
Последний полученный ответ на команду.
-
sender
ru.nilsoft.tm.TMLib.Sender sender
Указатель на текущий ожидающий ответа на команду поток.
-
senderDLE
ru.nilsoft.tm.TMLib.SenderDLE senderDLE
Указатель на текущий ожидающий ответа на DLE поток.
-
-
Method Detail
-
getInstance
@NonNull public static TMLib 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
public TMCommand getLastCmd()
Получение последней, отправленной на выполнение, команды.- Returns:
- последняя, отправленная на выполнение, команда (null если нет).
-
getLastResponse
public TMCommand 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
public int DoCmd(android.content.Context context, TMCommand cmd, long timeOut, boolean viewDialog)
Выполнение команды контроллером ФН.- Parameters:
context
- контекст активности.cmd
- команда.timeOut
- максимальный тамймаут ожидания ответа от контроллера ФН.viewDialog
- true: вывод прогресс-диалога с информацией, false: не выводить.- Returns:
- 0: успешно, иначе ошибка.
-
DoCmd
public int DoCmd(android.content.Context context, TMCommand cmd, long timeOut)
Выполнение команды контроллером ФН (с обязательным выводом прогресс-диалога).- 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
public int SendCmd(TMCommand cmd)
Отправка команды в контроллер ФН (без ожидания ответа).- 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
- данные текста.
-
-