控制器管理与印表机的 JSON 连接,允许多个模块共享相同的连接。 更多...
类 | |
class | JsonConnection |
Public 成员函数 | |
JsonComm | CreateMgmtComm (String commDescriptor) |
创建或返回允许管理/JSON 通信的现有连接。 更多... | |
JsonComm | CreateMgmtComm (IComm ptrComm) |
创建或返回允许管理/JSON 通信的现有连接。 更多... | |
void | ReleaseMgmtComm (String commDescriptor) |
Release the json comm resources tied to the commDescriptor 更多... | |
int | UserCount (String commdDescriptor) |
get the active user count for a given commDescriptor. 更多... | |
int | ConnectionCount () |
get number of connections. Note each connection can have multiple users. 更多... | |
List< String > | Descriptors () |
get list of connection descriptors 更多... | |
静态 Public 成员函数 | |
static JsonCommController | Instance () |
Private 成员函数 | |
JsonCommController () | |
静态 Private 属性 | |
static final Object | _syncLockComm = new Object() |
static final Object | syncLockInstance = new Object() |
static volatile JsonCommController | instance |
控制器管理与印表机的 JSON 连接,允许多个模块共享相同的连接。
当需要多个模块共享通信资源或更轻松地创建到印表机的连接时,使用此控制器。
为什么需要这个?
管理/跟踪通信连接,使得共享通信资源到单个印表机的对象的实例化变得更容易。
这似乎不重要…似乎没什么用处…
但请记住,上述对象的实例化可能会发生在用户代码的不同部分,一部分代码可能不知道现有的共享连接。通过这样的集中管理/跟踪, 减轻了用户的负担,创造了更好的用户体验(假设代码按预期工作)。
这是一种“可丢弃的”单例模式和工厂模式的混合,为每台印表机创建唯一的通信和 JSON 解析器,并在所有消费者通过 IDisposable 模式 释放资源后管理类资源的释放。
|
private |
int com.UniPRT.Sdk.Json.JsonCommController.ConnectionCount | ( | ) |
get number of connections. Note each connection can have multiple users.
创建或返回允许管理/JSON 通信的现有连接。
ptrComm 是与印表机的通信连接。
引用了 com.UniPRT.Sdk.Json.JsonCommController._syncLockComm , 以及 com.UniPRT.Sdk.Comm.IComm.Descriptor().
JsonComm com.UniPRT.Sdk.Json.JsonCommController.CreateMgmtComm | ( | String | commDescriptor | ) |
创建或返回允许管理/JSON 通信的现有连接。
支持的 commDescriptor 类型:
"TCP:ip:port" 注意:释放时的描述符必须与 ReleaseMgmtComm 的调用完全匹配。
引用了 com.UniPRT.Sdk.Json.JsonCommController._syncLockComm.
被这些函数引用 com.UniPRT.Sdk.Settings.Configs.Configs(), com.UniPRT.Sdk.Mgmt.Listener.ListenerChannelsConnectorGet(), com.UniPRT.Sdk.Mgmt.Messenger.Messenger(), com.UniPRT.Sdk.Json.OdvMonitor.OdvMonitor(), com.UniPRT.Sdk.Json.PrinterMonitor.PrinterMonitor(), com.UniPRT.Sdk.Json.RfidMonitor.RfidMonitor() , 以及 com.UniPRT.Sdk.Json.SettingsReadWrite.SettingsReadWrite().
List<String> com.UniPRT.Sdk.Json.JsonCommController.Descriptors | ( | ) |
get list of connection descriptors
|
static |
引用了 com.UniPRT.Sdk.Json.JsonCommController.instance, com.UniPRT.Sdk.Json.JsonCommController.JsonCommController() , 以及 com.UniPRT.Sdk.Json.JsonCommController.syncLockInstance.
被这些函数引用 com.UniPRT.Sdk.Settings.Configs.Configs(), com.UniPRT.Sdk.Settings.Configs.Dispose(), com.UniPRT.Sdk.Json.OdvMonitor.Dispose(), com.UniPRT.Sdk.Json.RfidMonitor.Dispose(), com.UniPRT.Sdk.Json.SettingsReadWrite.Dispose(), com.UniPRT.Sdk.Json.PrinterMonitor.Dispose(), com.UniPRT.Sdk.Mgmt.Listener.ListenerChannelsConnectorGet(), com.UniPRT.Sdk.Mgmt.Messenger.Messenger(), com.UniPRT.Sdk.Json.OdvMonitor.OdvMonitor(), com.UniPRT.Sdk.Json.PrinterMonitor.PrinterMonitor(), com.UniPRT.Sdk.Json.RfidMonitor.RfidMonitor() , 以及 com.UniPRT.Sdk.Json.SettingsReadWrite.SettingsReadWrite().
void com.UniPRT.Sdk.Json.JsonCommController.ReleaseMgmtComm | ( | String | commDescriptor | ) |
Release the json comm resources tied to the commDescriptor
引用了 com.UniPRT.Sdk.Json.JsonCommController._syncLockComm.
被这些函数引用 com.UniPRT.Sdk.Settings.Configs.Dispose(), com.UniPRT.Sdk.Json.OdvMonitor.Dispose(), com.UniPRT.Sdk.Json.RfidMonitor.Dispose(), com.UniPRT.Sdk.Json.SettingsReadWrite.Dispose() , 以及 com.UniPRT.Sdk.Json.PrinterMonitor.Dispose().
int com.UniPRT.Sdk.Json.JsonCommController.UserCount | ( | String | commdDescriptor | ) |
get the active user count for a given commDescriptor.
引用了 com.UniPRT.Sdk.Json.JsonCommController.JsonConnection.UserCount().
|
staticprivate |
|
staticprivate |
|
staticprivate |