public void DelayedInitialize() { // This group source gives us a separator for DAPs in the source view. SourceManager.GroupSource dap_group = new SourceManager.GroupSource(Catalog.GetString("Devices"), 400); ThreadAssist.ProxyToMain(delegate { ServiceManager.SourceManager.AddSource(dap_group); }); lock (sync) { if (initialized || ServiceManager.HardwareManager == null) { return; } sources = new Dictionary <string, DapSource> (); supported_dap_types = new List <DapPriorityNode> (); AddinManager.AddExtensionNodeHandler("/Banshee/Dap/DeviceClass", OnExtensionChanged); ServiceManager.HardwareManager.DeviceAdded += OnHardwareDeviceAdded; ServiceManager.HardwareManager.DeviceRemoved += OnHardwareDeviceRemoved; ServiceManager.HardwareManager.DeviceCommand += OnDeviceCommand; ServiceManager.SourceManager.SourceRemoved += OnSourceRemoved; initialized = true; // Now that we've loaded all the enabled DAP providers, load the devices foreach (IDevice device in ServiceManager.HardwareManager.GetAllDevices()) { MapDevice(device); } } }
public void DelayedInitialize () { // This group source gives us a separator for DAPs in the source view. SourceManager.GroupSource dap_group = new SourceManager.GroupSource (Catalog.GetString ("Devices"), 400); ThreadAssist.ProxyToMain (delegate { ServiceManager.SourceManager.AddSource (dap_group); }); lock (sync) { if (initialized || ServiceManager.HardwareManager == null) return; sources = new Dictionary<string, DapSource> (); supported_dap_types = new List<DapPriorityNode> (); AddinManager.AddExtensionNodeHandler ("/Banshee/Dap/DeviceClass", OnExtensionChanged); ServiceManager.HardwareManager.DeviceAdded += OnHardwareDeviceAdded; ServiceManager.HardwareManager.DeviceRemoved += OnHardwareDeviceRemoved; ServiceManager.HardwareManager.DeviceCommand += OnDeviceCommand; ServiceManager.SourceManager.SourceRemoved += OnSourceRemoved; initialized = true; // Now that we've loaded all the enabled DAP providers, load the devices foreach (IDevice device in ServiceManager.HardwareManager.GetAllDevices ()) { MapDevice (device); } } }
static DapService () { // This group source gives us a seperator for DAPs in the source view. // We add it when we get our first dap source, and then remove it when //we lose the last one. dap_group = new SourceManager.GroupSource ("Device", 400); }