public void RemoveIDStation(string stationUUID) { m_mutexRouterTables.WaitOne(); //Comprobamos si el Station UUID existe if (m_htStationUUID2Phy.Contains(stationUUID)) { CCommunicationChannel PhysicalChannel = (CCommunicationChannel)(m_htStationUUID2Phy[stationUUID]); //Borramos la relación Station UUID -> Physical m_htStationUUID2Phy.Remove(stationUUID); //Borramos la relación Station UUID -> Address m_htStationUUID2Address.Remove(stationUUID); //Borramos la relación Physical -> Station ID List <string> listStationUUID = (List <string>)(m_htPhy2ListStationUUID[PhysicalChannel]); listStationUUID.Remove(stationUUID); if (listStationUUID.Count > 0) { m_htPhy2ListStationUUID[PhysicalChannel] = listStationUUID; } else { m_htPhy2ListStationUUID.Remove(PhysicalChannel); //Como el canal de comunicaciones no tiene ninguna estación asociada lo eliminamos PhysicalChannel.Dispose(); PhysicalChannel = null; } } m_mutexRouterTables.ReleaseMutex(); }
public void DeleteComChannel() { m_ComChannel.Dispose(); m_ComChannel = null; }