Ejemplo n.º 1
0
        void QueryTagEventNotifty(AW_API_NET.rfTagEvent_t tagEvent)
        {
            lock (myLock)
            {
                if (tagEvent.tag.id == srchTagID)
                {
                    tagSrchStruct tagSrchObj = new tagSrchStruct();
                    tagSrchObj.host   = tagEvent.host;
                    tagSrchObj.reader = tagEvent.reader;
                    tagSrchObj.fGen   = tagEvent.fGenerator;
                    tagSrchObj.rssi   = tagEvent.RSSI;
                    tagSrchList.Add(tagSrchObj);

                    //if rdr exits in the rdrStatusList remove it and replace it otherwise add it.
                    readerStatStruct readerObj = new readerStatStruct(tagEvent.reader);
                    if (utility.GetRdrFromList(tagEvent.reader, ref readerObj, rdrStatusList))
                    {
                        //make the timer to start processing
                        startSearch = false;
                        srchIndex   = 0;
                        counter     = 0;

                        readerStatStruct rdrStat = new readerStatStruct(tagEvent.reader);
                        readerObj.Copy(ref rdrStat);
                        rdrStatusList.Remove(readerObj);
                        rdrStat.SetSrchStatus(true);
                        rdrStatusList.Add(rdrStat);

                        Console.WriteLine("QueryTagNotify(TagSearchClass) ProcessSrchList time:" + DateTime.Now.ToString());
                        ProcessSrchList();
                    }
                }        //if (tagEvent.tag.id == srchTagID)
            }            //lock
        }