Exemple #1
0
 public void DriverImplementationInstanceTests()
 {
     Console.WriteLine("DriverImplementationInstanceTests");
     DriverLoaderInit();
     foreach (var dt in DriverLoader.DriverTypes)
     {
         Console.WriteLine($"Creating instance of '{dt.FullName}'");
         var iInst = DriverLoader.GetImplementation(dt);
         Assert.IsNotNull(iInst, "Validate IAscomDriver reference");
         var cInst = Convert.ChangeType(iInst, dt);
         Assert.IsNotNull(cInst, $"Validate converted reference ({cInst})");
     }
 }
        protected TDriver createDevice(string devName)
        {
            TDriver result = null;

            lock (driverSync)
            {
                if (Drivers.ContainsKey(devName))
                {
                    result = Drivers[devName];
                }
                else
                {
                    result = DriverLoader.GetImplementation <TDriver>(devName);
                    if (result == null)
                    {
                        throw new DriverException($"Unable to create a driver instance for {devName} (DeviceType={DriverType})");
                    }
                    Drivers.Add(devName, result);
                }
            }
            return(result);
        }
 protected TDriver createDevice(string devName) => DriverLoader.GetImplementation <TDriver>(devName);