protected object doSession(string id) { String username; String XPrivetToken; var tokens = GetAuthen(out username, out XPrivetToken); string ret = null; if (false != tokens) { String strBody = GetPostDataAsString(); String cmdId = StringUtil.GetCmdId(strBody); String method = StringUtil.GetCmdMethod(strBody); TCSessionMessage msg = new TCSessionMessage(); msg.url = "https://twaincloud.dynamsoft.com/" + id; // just for check msg.body = strBody; msg.headers = GetHeadersAsString(); String sendData = JsonConvert.SerializeObject(msg); MqttResult mqttResult = MqttPool.getInstance().SendMqttMessage(id, username, sendData, cmdId); ret = mqttResult.result; } return(ret); }
protected object waitForEvent(string id, string username, string strBody, string cmdId, string method) { HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"]; context.Response.BufferOutput = false; do { TCSessionMessage msg = new TCSessionMessage(); msg.url = "https://cloud.dynamsoft.com/" + id; // just for check msg.body = strBody; msg.headers = GetHeadersAsString(); String sendData = JsonConvert.SerializeObject(msg); MqttResult mqttResult = MqttPool.getInstance().SendMqttMessage(id, username, sendData, cmdId); string ret = mqttResult.result; if (null != ret) { context.Response.Write(ret); } context.Response.Flush(); } while (false); context.Response.Close(); return(null); }
protected TCScannerInfo Info(string id) { TCScannerInfo ret = null; String username; String XPrivetToken; var tokens = GetAuthen(out username, out XPrivetToken); if (false != tokens) { ret = (from dbScanner in db.DbScanners join dbUserScanner in db.DbUserScanners on dbScanner.id equals dbUserScanner.scannerId where dbUserScanner.name == username && dbScanner.id == id select new TCScannerInfo { version = "1.0", name = dbScanner.name, description = dbScanner.description, url = "", type = "twaindirect", id = "", device_state = dbScanner.device_state, // "idle", connection_state = dbScanner.connection_state, // "offline" manufacturer = dbScanner.manufacturer, model = "", serial_number = "", firmware = "", uptime = "", setup_url = "", support_url = "", update_url = "", XPrivetToken = "", api = { "/twaindirect/session" }, semantic_state = "" }).FirstOrDefault(); if (null != ret) { // get token from Local Scan TCSessionMessage msg = new TCSessionMessage(); msg.url = "https://cloud.dynamsoft.com/" + id; // just for check msg.headers = "x-privet-token:\"\""; String sendData = JsonConvert.SerializeObject(msg); MqttResult mqttResult = MqttPool.getInstance().SendMqttMessage(id, username, sendData, null); if (!mqttResult.bTimeout) { ret.XPrivetToken = mqttResult.result; } else { } } } return(ret); }