Banshee.Dap.DapService.FindDeviceSource C# (CSharp) Method

FindDeviceSource() private method

private FindDeviceSource ( IDevice device ) : Banshee.Dap.DapSource
device IDevice
return Banshee.Dap.DapSource
        private DapSource FindDeviceSource (IDevice device)
        {
            foreach (TypeExtensionNode node in supported_dap_types) {
                try {
                    DapSource source = (DapSource)node.CreateInstance ();
                    source.DeviceInitialize (device);
                    source.LoadDeviceContents ();
                    source.AddinId = node.Addin.Id;
                    return source;
                } catch (InvalidDeviceException) {
                } catch (InvalidCastException e) {
                    Log.Exception ("Extension is not a DapSource as required", e);
                } catch (Exception e) {
                    Log.Exception (e);
                }
            }

            return null;
        }

Usage Example

Beispiel #1
0
            public void Run()
            {
                DapSource source = null;

                lock (service.sync) {
                    try {
                        if (service.sources.ContainsKey(device.Uuid))
                        {
                            return;
                        }

                        if (device is ICdromDevice || device is IDiscVolume)
                        {
                            return;
                        }

                        if (device is IVolume && (device as IVolume).ShouldIgnore)
                        {
                            return;
                        }

                        if (device.MediaCapabilities == null && !(device is IBlockDevice) && !(device is IVolume))
                        {
                            return;
                        }

                        source = service.FindDeviceSource(device);
                        if (source != null)
                        {
                            Log.DebugFormat("Found DAP support ({0}) for device {1} and Uuid {2}", source.GetType().FullName,
                                            source.Name, device.Uuid);
                            service.sources.Add(device.Uuid, source);
                        }
                    } catch (Exception e) {
                        Log.Error(e);
                    }
                }

                if (source != null)
                {
                    service.MapSource(source, false);
                }
            }
All Usage Examples Of Banshee.Dap.DapService::FindDeviceSource