示例#1
0
        static int _refCount = 0;                                           // Contador de referencias usadas por los translators. Si llega a cero se detiene el thread y se libera la referencia

        #region Singleton
        public static PoolSetAcceso GetInstance()
        {
            if (_instance == null)
            {
                _instance = new PoolSetAcceso();
            }
            return(_instance);
        }
示例#2
0
 public void subRefCount()
 {
     _refCount--;
     Helpers.GetInstance().DoLog("Resto refCount de PoolSetAcceso =" + _refCount);
     Thread.Sleep(100);
     if (_refCount == 0)
     {
         Stop();                                 // Detiene el thread de verificacion
         Thread.Sleep(500);
         _instance = null;                       // Hace null la referencia para que un nuevo GetInstance lance todo de nuevo
         Helpers.GetInstance().DoLog("Instance de PoolSetAcceso es NULL");
     }
 }
        public static List <string> ListaPanelNames = new List <string>();          // Lista de todos los PanelNames que levanta este CommServer..

        public VirtualGateManagedTranslator()
        {
            PoolGetConnStatus.GetInstance();                    // Lanza el thread de actualizacion de ConnStatus
            PoolGetConnStatus.GetInstance().addRefCount();

            PoolGetAcceso.GetInstance();                        // Lanza el thread de actualizacion de Alarmas
            PoolGetAcceso.GetInstance().addRefCount();

            //PoolGetAlarm.GetInstance();                         // Lanza el thread de actualizacion de Accesos
            //PoolGetAlarm.GetInstance().addRefCount();

            PoolSetAcceso.GetInstance();
            PoolSetAcceso.GetInstance().addRefCount();

            //PoolSetAlarma.GetInstance();

            //PoolSetAlarma.GetInstance().addRefCount();
        }
        public void sendIDSerials(string serialsIDs)
        {
            try
            {
                PoolSetAcceso.GetInstance().addSetAcceso(serialsIDs);

                Helpers.GetInstance().DoLog("Hecho addAcceso de: " + serialsIDs);

                if (PoolGetAcceso.GetInstance().isEmpty())
                {
                    //Helpers.GetInstance().DoLog("isEmpty dio True");
                    PoolSetAcceso.GetInstance().ContinuarPool();        // OK darlos de alta en AlutelMobility
                }
                //else
                //    Helpers.GetInstance().DoLog("isEmpty dio False");
            }
            catch (Exception ex)
            {
                Helpers.GetInstance().DoLog("EXCEPCION en SendIDSerials: " + ex.Message);
            }
        }