/// <summary> /// Get all the hardware providers /// </summary> /// <param name="baseType"></param> /// <returns></returns> public static List <IHardwareProxyProvider> GetProviders(Type baseType) { var availabelType = GetAssignableFrom(typeof(IHardwareProxyProvider)); List <IHardwareProxyProvider> ret = new List <IHardwareProxyProvider>(); foreach (Type type in availabelType) { if (!type.IsAbstract) { BrowsableAttribute attribute = Attribute.GetCustomAttribute(type, typeof(BrowsableAttribute)) as BrowsableAttribute; if (attribute == null || (attribute != null && attribute.Browsable)) { IHardwareProxyProvider provider = (IHardwareProxyProvider)Activator.CreateInstance(type); if (provider != null) { if (baseType.IsAssignableFrom(provider.GenerateType)) { ret.Add(provider); } } } } } ret = ret.OrderBy(x => x.Name).ToList(); return(ret); }
private void MenuItem_Click(object sender, EventArgs e) { if (sender is MenuItem) { var mi = (MenuItem)sender; IHardwareProxyProvider provider = ((IHardwareProxyProvider)mi.Tag); LaunchProvider(provider); AlignInterface(); } }
public void LaunchProvider(IHardwareProxyProvider provider) { /// else find the type selectorDialog and register object proxy = provider.Select(this); if (proxy != null) { Settings.RegisterInstance(proxy, true); NotifyChange(); } AlignInterface(); }
private void UnregisterInstance(IHardwareProxyProvider provider) { UnregisterInstance(provider.GenerateType); }