提供 ODV 相關服務的支援。模組用於協助監聽/檢索與 ODV 相關的打印機未請求讯息。 更多...
公開方法(Public Methods) | |
OdvReportNotice | GetOdvReportCallback () |
繼承自 IOdvMonitor.OdvReportListening 更多... | |
void | SetOdvReportCallback (OdvReportNotice callback) |
保存收到 ODV 報告時要調用的函式。函式必須符合 OdvReportNotice 的簽名。 更多... | |
boolean | GetOdvReportListening () |
繼承自 IOdvMonitor.OdvReportListening 更多... | |
void | SetOdvReportListening (boolean listening) |
啟用/停用聽取或解析印表機發送的非請求 ODV 報告 更多... | |
OdvMonitor (TcpConnection connection) | |
必須傳遞一個已開啟的 comm 連接,該連接必須保持開啟狀態以監聽未請求的 ODV 報告。 更多... | |
OdvMonitor (JsonComm mgmtComm) | |
當管理 comm 對象已存在以監聽管理讯息時調用的構造函數。 更多... | |
OdvMonitor (String commDescriptor) | |
當創建由 SDK 管理的連接時呼叫此構造函數。 更多... | |
void | Dispose () |
void | close () throws Exception |
保護方法(Protected Methods) | |
void | Dispose (boolean disposing) |
void | finalize () throws Throwable |
私有方法(Private Methods) | |
void | triggerCallbackForOdvReport (OdvReport report) |
void | MsgListenerCtrlRefresh () |
Map< String, String > | MsgParser_OdvReport (String mgmtReportFrame) |
void | CallbackForOdvReport (OdvReport odvReport) |
私有屬性 | |
TcpConnection | _ptrComm |
JsonComm | _mgmtComm |
Channel< String > | _msgsFromPtr |
String | _myMgmtId = "" |
AtomicBoolean | _mgmtMsgListening = new AtomicBoolean(false) |
AtomicBoolean | _printerJobReporting = new AtomicBoolean(false) |
AtomicBoolean | _odvReportListening = new AtomicBoolean(false) |
ExecutorService | _executor = Executors.newSingleThreadExecutor() |
Future<?> | _listenerTask |
ConcurrentLinkedQueue< String > | _mgmtFilteredMsgs = new ConcurrentLinkedQueue<>() |
OdvReportNotice | OdvReportCallback |
boolean | _sdkManagedComm = false |
String | _managedDescriptor = "" |
boolean | _disposed = false |
靜態私有屬性 | |
static final int | MAX_MSGS_FROM_PTR = 100 |
static final int | MAX_ODV_MSGS = 2 |
提供 ODV 相關服務的支援。模組用於協助監聽/檢索與 ODV 相關的打印機未請求讯息。
如果啟用了未請求的讯息,打印機可以隨時發送讯息。 此模組需要與打印機管理端口保持持續的「狀態」連接,以便監聽從打印機發送的任何讯息。
將帶有條碼的打印作業發送到打印機並獲得條碼報告後的結果。
com.UniPRT.Sdk.Json.OdvMonitor.OdvMonitor | ( | TcpConnection | connection | ) |
必須傳遞一個已開啟的 comm 連接,該連接必須保持開啟狀態以監聽未請求的 ODV 報告。
連接是用於發送/接收讯息的必要條件。
參考 com.UniPRT.Sdk.Json.OdvMonitor._mgmtComm, com.UniPRT.Sdk.Json.OdvMonitor._myMgmtId, com.UniPRT.Sdk.Json.OdvMonitor._ptrComm, com.UniPRT.Sdk.Json.JsonStringBuilder.GetRandomObjectId_Json(), 及 com.UniPRT.Sdk.Json.OdvMonitor.OdvReportCallback.
com.UniPRT.Sdk.Json.OdvMonitor.OdvMonitor | ( | JsonComm | mgmtComm | ) |
當管理 comm 對象已存在以監聽管理讯息時調用的構造函數。
每台打印機的 JsonComm 對象負責監聽和解析完整的管理讯息,並將其轉發給所有管理讯息聽眾。
參考 com.UniPRT.Sdk.Json.OdvMonitor._mgmtComm, com.UniPRT.Sdk.Json.OdvMonitor._myMgmtId, com.UniPRT.Sdk.Json.JsonStringBuilder.GetRandomObjectId_Json(), 及 com.UniPRT.Sdk.Json.OdvMonitor.OdvReportCallback.
com.UniPRT.Sdk.Json.OdvMonitor.OdvMonitor | ( | String | commDescriptor | ) |
當創建由 SDK 管理的連接時呼叫此構造函數。
commDescriptor 是用於與打印機建立通信的描述符。
TCP 描述符格式為:"ip" 或 "ip:port"
例如:"127.0.0.1" 或 "127.0.0.1:3007"
若未提供端口,則使用默認值。
參考 com.UniPRT.Sdk.Json.OdvMonitor._managedDescriptor, com.UniPRT.Sdk.Json.OdvMonitor._mgmtComm, com.UniPRT.Sdk.Json.OdvMonitor._myMgmtId, com.UniPRT.Sdk.Json.OdvMonitor._sdkManagedComm, com.UniPRT.Sdk.Json.JsonCommController.CreateMgmtComm(), com.UniPRT.Sdk.Json.JsonStringBuilder.GetRandomObjectId_Json(), com.UniPRT.Sdk.Json.JsonCommController.Instance(), 及 com.UniPRT.Sdk.Json.OdvMonitor.OdvReportCallback.
|
private |
void com.UniPRT.Sdk.Json.OdvMonitor.close | ( | ) | throws Exception |
void com.UniPRT.Sdk.Json.OdvMonitor.Dispose | ( | ) |
|
protected |
|
protected |
OdvReportNotice com.UniPRT.Sdk.Json.OdvMonitor.GetOdvReportCallback | ( | ) |
繼承自 IOdvMonitor.OdvReportListening
boolean com.UniPRT.Sdk.Json.OdvMonitor.GetOdvReportListening | ( | ) |
繼承自 IOdvMonitor.OdvReportListening
|
private |
參考 com.UniPRT.Sdk.Json.OdvMonitor._executor, com.UniPRT.Sdk.Json.OdvMonitor._listenerTask, com.UniPRT.Sdk.Json.OdvMonitor._mgmtComm, com.UniPRT.Sdk.Json.OdvMonitor._mgmtFilteredMsgs, com.UniPRT.Sdk.Json.OdvMonitor._mgmtMsgListening, com.UniPRT.Sdk.Json.OdvMonitor._msgsFromPtr, com.UniPRT.Sdk.Json.OdvMonitor._odvReportListening, com.UniPRT.Sdk.Json.OdvMonitor._printerJobReporting, com.UniPRT.Sdk.Json.JsonComm.ChannelListenerJson(), com.UniPRT.Sdk.Json.JsonStringTokenizer.GetKeyValue(), com.UniPRT.Sdk.Json.JsonStringTokenizer.GetMsgIdExpectedOnResponse_Json(), com.UniPRT.Sdk.Json.OdvReportNotice.handle(), com.UniPRT.Sdk.Json.OdvMonitor.MAX_MSGS_FROM_PTR, com.UniPRT.Sdk.Json.OdvMonitor.MAX_ODV_MSGS, com.UniPRT.Sdk.Json.OdvMonitor.MsgParser_OdvReport(), com.UniPRT.Sdk.Json.OdvMonitor.OdvReportCallback, com.UniPRT.Sdk.Json.OdvReport.RawReport, com.UniPRT.Sdk.Mgmt.Channel< T >.Take(), 及 com.UniPRT.Sdk.Mgmt.MgmtChannelFilterType.UNSOLICITED_MSGS_ONLY.
被參考於 com.UniPRT.Sdk.Json.OdvMonitor.SetOdvReportListening().
|
private |
void com.UniPRT.Sdk.Json.OdvMonitor.SetOdvReportCallback | ( | OdvReportNotice | callback | ) |
保存收到 ODV 報告時要調用的函式。函式必須符合 OdvReportNotice 的簽名。
傳遞給函式的參數是一個 OdvReport 物件,代表收到的 ODV 報告。
void com.UniPRT.Sdk.Json.OdvMonitor.SetOdvReportListening | ( | boolean | listening | ) |
啟用/停用聽取或解析印表機發送的非請求 ODV 報告
注意,必須啟用此功能才能在接收條碼報告時接收任何通知 OdvReportCallback。
實作 com.UniPRT.Sdk.Json.IOdvMonitor.
參考 com.UniPRT.Sdk.Json.OdvMonitor._mgmtComm, com.UniPRT.Sdk.Json.OdvMonitor._myMgmtId, com.UniPRT.Sdk.Json.OdvMonitor._odvReportListening, com.UniPRT.Sdk.Json.JsonStringBuilder.CreateMsgFrame_Json(), com.UniPRT.Sdk.Json.OdvMonitor.MsgListenerCtrlRefresh(), 及 com.UniPRT.Sdk.Json.JsonComm.SendAndWaitForResponse().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
private |