Example #1
0
        public ulong wsq(string windCodes, string fields, string options, WindCallback wc, bool updateAll = true)
        {
            checkConnection();
            if (wc == null)
            {
                throw new Exception("订阅回调函数不能为空。");
            }
            string tmpoptions = options + ";REALTIME=Y";
            int    errCode;
            ulong  rid = wdc.wsq(windCodes, fields, tmpoptions, out errCode);
            WSQReq wr  = new WSQReq();

            wr.callback  = wc;
            wr.rdata     = wsq(windCodes, fields, options);
            wr.updateAll = updateAll;
            ReqList.Add(rid, wr);
            return(rid);
        }
Example #2
0
        public ulong RequestData(ref int errCode, List <string> secuCodes, List <string> fields, Dictionary <string, string> options, bool updateAll, WindCallback cb)
        {
            string        strCodes   = string.Join(",", secuCodes);
            string        strFields  = string.Join(",", fields);
            string        strOptions = string.Empty;
            StringBuilder sb         = new StringBuilder();

            foreach (var kv in options)
            {
                sb.AppendFormat("{0}={1};", kv.Key, kv.Value);
            }
            if (sb.Length > 0)
            {
                sb.Remove(sb.Length - 1, 1);
            }
            strOptions = sb.ToString();

            if (cb == null)
            {
                cb = new WindCallback(Callback);
            }

            return(_windAPI.wsq(ref errCode, strCodes, strFields, strOptions, cb, updateAll));
        }
Example #3
0
        public ulong bbq(ref int errCode, string windCodes, string fields, string options, WindCallback wc)
        {
            checkConnection();
            if (wc == null)
            {
                throw new Exception("订阅回调函数不能为空。");
            }
            string tmpoptions = options + ";REALTIME=Y";
            ulong  rid        = wdc.bbq(windCodes, fields, tmpoptions, out errCode);
            WSQReq wr         = new WSQReq();

            wr.callback  = wc;
            wr.updateAll = false;
            lock (ReqList)
            {
                ReqList.Add(rid, wr);
            }
            return(rid);
        }
Example #4
0
 public abstract ulong Subscript(string[] grpcodes, string Fields, string options, WindCallback wc);
Example #5
0
        public override ulong Subscript(string[] grpcodes, string Fields, string options, WindCallback wc)
        {
            int errcode = 0;

            return(SystemGlobal.w.wsq(ref errcode, string.Join(",", grpcodes), Fields, options, wc, UpdateAll));
        }
Example #6
0
 public ulong wsqtd(string windCodes, string fields, string options, WindCallback wc, bool updateAll = true)
 {
     checkConnection();
     if (wc == null)
     {
         throw new Exception("订阅回调函数不能为空。");
     }
     string tmpoptions = options + ";REALTIME=Y";
     int errCode;
     ulong rid = wdc.wsqtd(windCodes, fields, tmpoptions, out errCode);
     WSQReq wr = new WSQReq();
     wr.callback = wc;
     wr.rdata = wsqtd(windCodes, fields, options);
     wr.updateAll = updateAll;
     ReqList.Add(rid, wr);
     return rid;
 }