Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }