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); }
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); } }