public IChannel[] ScanNIT(IChannel channel, ScanParameters settings)
 {
     try
     {
         if (_cardHandler.DataBaseCard.Enabled == false)
         {
             return(new List <IChannel>().ToArray());
         }
         try
         {
             RemoteControl.HostName = _cardHandler.DataBaseCard.ReferencedServer().HostName;
             if (!RemoteControl.Instance.CardPresent(_cardHandler.DataBaseCard.IdCard))
             {
                 return(new List <IChannel>().ToArray());
             }
             if (_cardHandler.IsLocal == false)
             {
                 return(RemoteControl.Instance.ScanNIT(_cardHandler.DataBaseCard.IdCard, channel));
             }
         }
         catch (Exception)
         {
             Log.Error("card: unable to connect to slave controller at:{0}",
                       _cardHandler.DataBaseCard.ReferencedServer().HostName);
             return(null);
         }
         ITVScanning scanner = _cardHandler.Card.ScanningInterface;
         if (scanner == null)
         {
             return(null);
         }
         scanner.Reset();
         List <IChannel> channelsFound = scanner.ScanNIT(channel, settings);
         if (channelsFound == null)
         {
             return(null);
         }
         return(channelsFound.ToArray());
     }
     catch (Exception ex)
     {
         Log.Write(ex);
         return(null);
     }
 }